Cleaned up and commented code. I think we are ready to merge with head.
[gem5.git] / dev / baddev.hh
index 29fc5f44d766110c282cceeb00fd121eea470c08..e0304d5d53f2d037e8468525dc672de06e8e615e 100644 (file)
@@ -34,7 +34,7 @@
 #ifndef __BADDEV_HH__
 #define __BADDEV_HH__
 
-#include "mem/functional_mem/mmap_device.hh"
+#include "mem/functional_mem/functional_memory.hh"
 
 /**
  * BadDevice
  * the user that the kernel they are running has unsupported
  * options (i.e. frame buffer)
  */
-class BadDevice : public MmapDevice
+class BadDevice : public FunctionalMemory
 {
   private:
+    Addr addr;
+    static const Addr size = 0xf;
 
-      std::string devname;
-  protected:
+    std::string devname;
 
   public:
-    /**
-      * The default constructor.
+     /**
+      * Constructor for the Baddev Class.
+      * @param name name of the object
+      * @param a base address of the write
+      * @param mmu the memory controller
+      * @param devicename device that is not implemented
       */
-    BadDevice(const std::string &name, Addr addr, Addr mask,
-              MemoryController *mmu, const std::string &devicename);
+    BadDevice(const std::string &name, Addr a, MemoryController *mmu,
+              const std::string &devicename);
 
+    /**
+      * On a read event we just panic aand hopefully print a
+      * meaningful error message.
+      * @param req Contains the address to read from.
+      * @param data A pointer to write the read data to.
+      * @return The fault condition of the access.
+      */
     virtual Fault read(MemReqPtr &req, uint8_t *data);
-    virtual Fault write(MemReqPtr &req, const uint8_t *data);
 
+    /**
+      * On a write event we just panic aand hopefully print a
+      * meaningful error message.
+      * @param req Contains the address to write to.
+      * @param data The data to write.
+      * @return The fault condition of the access.
+      */
+    virtual Fault write(MemReqPtr &req, const uint8_t *data);
 
+    /** @todo add serialize/unserialize */
 };
 
 #endif // __BADDEV_HH__