ISA: Make the decode function part of the ISA's decoder.
[gem5.git] / src / dev / pciconfigall.hh
index 07eaf811254ae2dde6b62931be9b338cec0a0e79..e594838faebdf4e53de7f656fa0ff7f5e03cf93a 100644 (file)
 #ifndef __PCICONFIGALL_HH__
 #define __PCICONFIGALL_HH__
 
-#include "dev/pcireg.h"
 #include "base/range.hh"
 #include "dev/io_device.hh"
-
+#include "dev/pcireg.h"
+#include "params/PciConfigAll.hh"
 
 /**
  * PCI Config Space
 class PciConfigAll : public PioDevice
 {
   public:
-    struct Params :  public PioDevice::Params
-    {
-        Tick pio_delay;
-        Addr size;
-        int bus;
-    };
+    typedef PciConfigAllParams Params;
     const Params *params() const { return (const Params *)_params; }
 
     /**
      * Constructor for PCIConfigAll
      * @param p parameters structure
      */
-    PciConfigAll(Params *p);
+    PciConfigAll(const Params *p);
 
     /**
      * Read something in PCI config space. If the device does not exist
@@ -73,7 +68,7 @@ class PciConfigAll : public PioDevice
      * @param pkt Contains information about the read operation
      * @return Amount of time to do the read
      */
-    virtual Tick read(Packet *pkt);
+    virtual Tick read(PacketPtr pkt);
 
     /**
      * Write to PCI config spcae. If the device does not exit the simulator
@@ -83,9 +78,9 @@ class PciConfigAll : public PioDevice
      * @return Amount of time to do the read
      */
 
-    virtual Tick write(Packet *pkt);
+    virtual Tick write(PacketPtr pkt);
 
-    void addressRanges(AddrRangeList &range_list);
+    AddrRangeList getAddrRanges();
 
   private:
     Addr pioAddr;