Only issue responses if we aren;t already blocked
[gem5.git] / src / dev / pcidev.hh
index ccc875d32ffd847e8a500344c1c9d79086e0f73e..22dd6296e630b452f5268285ff7fc0efb4fb4af6 100644 (file)
@@ -62,7 +62,6 @@ class PciConfigData : public SimObject
         : SimObject(name)
     {
         memset(config.data, 0, sizeof(config.data));
-        memset(BARAddrs, 0, sizeof(BARAddrs));
         memset(BARSize, 0, sizeof(BARSize));
     }
 
@@ -71,9 +70,6 @@ class PciConfigData : public SimObject
 
     /** The size of the BARs */
     uint32_t BARSize[6];
-
-    /** The addresses of the BARs */
-    Addr BARAddrs[6];
 };
 
 
@@ -82,17 +78,13 @@ class PciConfigData : public SimObject
  */
 class PciDev : public DmaDevice
 {
-    class PciConfigPort : public PioPort
+    class PciConfigPort : public SimpleTimingPort
     {
       protected:
         PciDev *device;
 
-        virtual bool recvTiming(Packet *pkt);
-
         virtual Tick recvAtomic(Packet *pkt);
 
-        virtual void recvFunctional(Packet *pkt) ;
-
         virtual void getDeviceAddressRanges(AddrRangeList &resp,
                                             AddrRangeList &snoop);
 
@@ -106,9 +98,7 @@ class PciDev : public DmaDevice
 
       public:
         PciConfigPort(PciDev *dev, int busid, int devid, int funcid,
-                Platform *p);
-
-        friend class PioPort::SendEvent;
+                      Platform *p);
     };
 
   public:
@@ -243,10 +233,6 @@ class PciDev : public DmaDevice
      */
     void addressRanges(AddrRangeList &range_list);
 
-    /** Do a PCI Configspace memory access. */
-    Tick recvConfig(Packet *pkt)
-    { return pkt->isRead() ? readConfig(pkt) : writeConfig(pkt); }
-
     /**
      * Constructor for PCI Dev. This function copies data from the
      * config file object PCIConfigData and registers the device with