MEM: Add port proxies instead of non-structural ports
[gem5.git] / src / dev / isa_fake.hh
index dc2ad48e8756b85990fdd9421278d1b7e6fc5fa9..07657ad7dfc141a4128ddd484018fba7b7b8eadb 100644 (file)
 #ifndef __ISA_FAKE_HH__
 #define __ISA_FAKE_HH__
 
+#include <string>
+
 #include "base/range.hh"
 #include "dev/io_device.hh"
-#include "dev/alpha/tsunami.hh"
+// #include "dev/alpha/tsunami.hh"
 #include "mem/packet.hh"
-
-#include <string>
+#include "params/IsaFake.hh"
 
 /**
  * IsaFake is a device that returns, BadAddr, 1 or 0 on all reads and
  */
 class IsaFake : public BasicPioDevice
 {
-  public:
-    struct Params : public BasicPioDevice::Params
-    {
-        Addr pio_size;
-        bool retBadAddr;
-        bool updateData;
-        uint8_t retData8;
-        uint16_t retData16;
-        uint32_t retData32;
-        uint64_t retData64;
-        std::string warnAccess;
-    };
   protected:
-    const Params *params() const { return (const Params*)_params; }
     uint8_t retData8;
     uint16_t retData16;
     uint32_t retData32;
     uint64_t retData64;
 
-
   public:
+    typedef IsaFakeParams Params;
+    const Params *
+    params() const
+    {
+        return dynamic_cast<const Params *>(_params);
+    }
     /**
-      * The constructor for Tsunmami Fake just registers itself with the MMU.
+      * The constructor for Isa Fake just registers itself with the MMU.
       * @param p params structure
       */
     IsaFake(Params *p);