Remove unneeded functions, moving code around abit.
authorRon Dreslinski <rdreslin@umich.edu>
Wed, 22 Feb 2006 22:43:08 +0000 (17:43 -0500)
committerRon Dreslinski <rdreslin@umich.edu>
Wed, 22 Feb 2006 22:43:08 +0000 (17:43 -0500)
mem/physical.cc:
    Remove unneeded functions.  Need to add a .toString option for commands to making printing prettier.
mem/physical.hh:
    Remove unneeded functions.

--HG--
extra : convert_revision : 3707d317f542d56c0a0758a2c5ba493b92fb0c87

mem/physical.cc
mem/physical.hh

index e6d99358bf816d663d383e936323de47a0d71a07..beebb65c8a0dd7dbf20c050cff811c8cf59193d7 100644 (file)
@@ -130,36 +130,18 @@ PhysicalMemory::new_page()
 // little helper for better prot_* error messages
 //
 void
-PhysicalMemory::prot_access_error(Addr addr, int size, const string &func)
+PhysicalMemory::prot_access_error(Addr addr, int size, Command func)
 {
     panic("invalid physical memory access!\n"
-          "%s: %s(addr=%#x, size=%d) out of range (max=%#x)\n",
+          "%s: %i(addr=%#x, size=%d) out of range (max=%#x)\n",
           name(), func, addr, size, pmem_size - 1);
 }
 
-void
-PhysicalMemory::prot_read(Addr addr, uint8_t *p, int size)
-{
-    if (addr + size >= pmem_size)
-        prot_access_error(addr, size, "prot_read");
-
-    memcpy(p, pmem_addr + addr - base_addr, size);
-}
-
-void
-PhysicalMemory::prot_write(Addr addr, const uint8_t *p, int size)
-{
-    if (addr + size >= pmem_size)
-        prot_access_error(addr, size, "prot_write");
-
-    memcpy(pmem_addr + addr - base_addr, p, size);
-}
-
 void
 PhysicalMemory::prot_memset(Addr addr, uint8_t val, int size)
 {
     if (addr + size >= pmem_size)
-        prot_access_error(addr, size, "prot_memset");
+        prot_access_error(addr, size, Write);
 
     memset(pmem_addr + addr - base_addr, val, size);
 }
@@ -189,13 +171,14 @@ PhysicalMemory::doAtomicAccess(Packet &pkt)
 void
 PhysicalMemory::doFunctionalAccess(Packet &pkt)
 {
+    if (pkt.addr + pkt.size >= pmem_size)
+            prot_access_error(pkt.addr, pkt.size, pkt.cmd);
+
     switch (pkt.cmd) {
       case Read:
-        prot_read(pkt.addr, (uint8_t *)pkt.data, pkt.size);
-
+        memcpy(pkt.data, pmem_addr + pkt.addr - base_addr, pkt.size);
       case Write:
-        prot_write(pkt.addr, (uint8_t *)pkt.data, pkt.size);
-
+        memcpy(pmem_addr + pkt.addr - base_addr, pkt.data, pkt.size);
       default:
         panic("unimplemented");
     }
index 06e6f1f0e7b5e141e407907cfe801b98e19a5156..bac7e3d46ba28ee7c9bd70330c4dea105e3fe9a0 100644 (file)
@@ -34,6 +34,7 @@
 
 #include "base/range.hh"
 #include "mem/memory.hh"
+#include "mem/packet.hh"
 
 //
 // Functional model for a contiguous block of physical memory. (i.e. RAM)
@@ -94,18 +95,15 @@ class PhysicalMemory : public Memory
 
   protected:
     // error handling for prot_* functions
-    void prot_access_error(Addr addr, int size, const std::string &func);
+    void prot_access_error(Addr addr, int size, Command func);
 
   public:
     virtual int deviceBlockSize();
 
-    // Read/Write arbitrary amounts of data to simulated memory space
-    void prot_read(Addr addr, uint8_t *p, int size);
-    void prot_write(Addr addr, const uint8_t *p, int size);
     void prot_memset(Addr addr, uint8_t val, int size);
 
     // fast back-door memory access for vtophys(), remote gdb, etc.
-    uint64_t phys_read_qword(Addr addr) const;
+    // uint64_t phys_read_qword(Addr addr) const;
   private:
     bool doTimingAccess(Packet &pkt);
     Tick doAtomicAccess(Packet &pkt);