|
|
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: // ベンチマークモード。コマンドライン引数で指定される。
27: static int benchmark_mode;
28:
29: private:
30: void write_8_benchmark(uint32 addr, uint32 data);
31: void benchmark_start(uint32 data);
32: void benchmark_end();
33: int m_count = 0;
34: int m_test_num = 0;
35: const char *m_test_name = NULL;
36: int m_inst_len = 0;
37: int m_inst_cycle = 0;
38: int m_start_addr = 0;
39: timeval m_start {};
40: timeval m_total {};
41: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.