diff options
Diffstat (limited to 'mem/physical.hh')
-rw-r--r-- | mem/physical.hh | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/mem/physical.hh b/mem/physical.hh index b066d3dfc..53e86f85f 100644 --- a/mem/physical.hh +++ b/mem/physical.hh @@ -63,14 +63,12 @@ class PhysicalMemory : public MemObject virtual void recvStatusChange(Status status); - virtual void getDeviceAddressRanges(AddrRangeList &range_list, - bool &owner); + virtual void getDeviceAddressRanges(AddrRangeList &resp, + AddrRangeList &snoop); virtual int deviceBlockSize(); }; - virtual Port * getPort(const char *if_name); - int numPorts; int lat; @@ -94,6 +92,7 @@ class PhysicalMemory : public MemObject Addr base_addr; Addr pmem_size; uint8_t *pmem_addr; + MemoryPort *port; int page_ptr; public: @@ -106,6 +105,9 @@ class PhysicalMemory : public MemObject public: int deviceBlockSize(); + void getAddressRanges(AddrRangeList &resp, AddrRangeList &snoop); + virtual Port *getPort(const std::string &if_name); + void virtual init() { port->sendStatusChange(Port::RangeChange); } // fast back-door memory access for vtophys(), remote gdb, etc. // uint64_t phys_read_qword(Addr addr) const; @@ -119,16 +121,7 @@ class PhysicalMemory : public MemObject public: virtual void serialize(std::ostream &os); virtual void unserialize(Checkpoint *cp, const std::string §ion); -}; - -/*uint64_t -PhysicalMemory::phys_read_qword(Addr addr) const -{ - if (addr + sizeof(uint64_t) > pmem_size) - return 0; - - return *(uint64_t *)(pmem_addr + addr); -}*/ +}; #endif //__PHYSICAL_MEMORY_HH__ |