|
|
1.1 ! root 1: // ! 2: // nono ! 3: // Copyright (C) 2018 [email protected] ! 4: // ! 5: ! 6: #pragma once ! 7: ! 8: #include "device.h" ! 9: #include <mutex> ! 10: ! 11: class ZRAMDevice ! 12: : public IODevice ! 13: { ! 14: typedef IODevice inherited; ! 15: public: ! 16: ZRAMDevice(); ! 17: virtual ~ZRAMDevice(); ! 18: ! 19: virtual uint64 Read8(uint32 addr); ! 20: virtual uint64 Read16(uint32 addr); ! 21: virtual uint64 Read32(uint32 addr); ! 22: virtual uint64 Write8(uint32 addr, uint32 data); ! 23: virtual uint64 Write16(uint32 addr, uint32 data); ! 24: virtual uint64 Write32(uint32 addr, uint32 data); ! 25: virtual uint64 Peek8(uint32 addr); ! 26: ! 27: private: ! 28: uint8 *ram = NULL; ! 29: ! 30: // アクセス競合を防ぐロック。 ! 31: // Lance は裏スレッドからアクセスにくるので。 ! 32: std::mutex mtx {}; ! 33: }; ! 34: ! 35: extern ZRAMDevice *gZRAM;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.