|
|
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.