ARM: Make GIC function that should only be called by GIC protected.
[gem5.git] / src / dev / sparc / mm_disk.hh
index 0a4626067f2e47571a864b990e30490479503e98..0e43449a1406aeb2295f875f2b22379acbe6f991 100644 (file)
@@ -37,8 +37,9 @@
 #define __DEV_SPARC_MM_DISK_HH__
 
 #include "base/range.hh"
-#include "dev/io_device.hh"
 #include "dev/disk_image.hh"
+#include "dev/io_device.hh"
+#include "params/MmDisk.hh"
 
 class MmDisk : public BasicPioDevice
 {
@@ -46,24 +47,22 @@ class MmDisk : public BasicPioDevice
     DiskImage *image;
     off_t curSector;
     bool dirty;
-    union {
-        uint8_t bytes[SectorSize];
-        uint32_t words[SectorSize/4];
-    };
+    uint8_t diskData[SectorSize];
 
   public:
-    struct Params : public BasicPioDevice::Params
-    {
-        DiskImage *image;
-    };
-  protected:
-    const Params *params() const { return (const Params*)_params; }
+    typedef MmDiskParams Params;
+    MmDisk(const Params *p);
 
-  public:
-    MmDisk(Params *p);
+    const Params *
+    params() const
+    {
+        return dynamic_cast<const Params *>(_params);
+    }
 
     virtual Tick read(PacketPtr pkt);
     virtual Tick write(PacketPtr pkt);
+
+    virtual void serialize(std::ostream &os);
 };
 
 #endif //__DEV_SPARC_MM_DISK_HH__