Move more common functionality into SimpleTimingPort,
allowing derived classes to be simplified. --HG-- extra : convert_revision : c980d3aec5e6c044d8f41e96252726fe9a256605
This commit is contained in:
@@ -78,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);
|
||||
|
||||
@@ -102,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:
|
||||
@@ -239,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
|
||||
|
||||
Reference in New Issue
Block a user