|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2017 [email protected]
4: //
5:
6: #pragma once
7:
8: #include <sys/time.h>
9:
10: #include "device.h"
11:
12: class PlutoDevice
13: : public IODevice
14: {
15: typedef IODevice inherited;
16: public:
17: PlutoDevice();
18: virtual ~PlutoDevice();
19:
20: virtual uint64 Read8(uint32 addr);
21: virtual uint64 Read16(uint32 addr);
22: virtual uint64 Write8(uint32 addr, uint32 data);
23: virtual uint64 Write16(uint32 addr, uint32 data);
24: virtual uint64 Peek8(uint32 addr);
25:
26: private:
27: void write_8_benchmark(uint32 addr, uint32 data);
28: void benchmark_start(uint32 data);
29: void benchmark_end();
30: int m_count = 0;
31: int m_test_num = 0;
32: const char *m_test_name = NULL;
33: int m_inst_len = 0;
34: int m_inst_cycle = 0;
35: int m_start_addr = 0;
36: timeval m_start {};
37: timeval m_total {};
38: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.