Annotation of nono/vm/zram.h, revision 1.1.1.2

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:
1.1.1.2 ! root       28:        // アドレスデコーダ
        !            29:        uint64 Decoder(uint32 addr) const;
        !            30: 
        !            31:        std::unique_ptr<uint8[]> ram {};
1.1       root       32: 
                     33:        // アクセス競合を防ぐロック。
                     34:        // Lance は裏スレッドからアクセスにくるので。
                     35:        std::mutex mtx {};
                     36: };
                     37: 
1.1.1.2 ! root       38: extern std::unique_ptr<ZRAMDevice> gZRAM;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.