diff options
author | Kevin Lim <ktlim@umich.edu> | 2006-07-06 14:54:09 -0400 |
---|---|---|
committer | Kevin Lim <ktlim@umich.edu> | 2006-07-06 14:54:09 -0400 |
commit | c8a37ce71514de9362640e8cb18c1744f0e2f83b (patch) | |
tree | 70eb71e46428c20bd6a44eed1d08a019abb70e25 /src/dev/platform.hh | |
parent | 05eef5ee1569f7a1c399a2b358a11323e88a48f8 (diff) | |
parent | 4b741100714c6f20749f344ddd4b16459f28df72 (diff) | |
download | gem5-c8a37ce71514de9362640e8cb18c1744f0e2f83b.tar.xz |
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision : 0c4fbbe0826358a6a58f844bec34ce830ffd4ced
Diffstat (limited to 'src/dev/platform.hh')
-rw-r--r-- | src/dev/platform.hh | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/dev/platform.hh b/src/dev/platform.hh index 0e6f4ba4a..1940dcad6 100644 --- a/src/dev/platform.hh +++ b/src/dev/platform.hh @@ -37,6 +37,9 @@ #ifndef __DEV_PLATFORM_HH__ #define __DEV_PLATFORM_HH__ +#include <bitset> +#include <set> + #include "sim/sim_object.hh" #include "arch/isa_traits.hh" @@ -52,9 +55,6 @@ class Platform : public SimObject /** Pointer to the interrupt controller */ IntrControl *intrctrl; - /** Pointer to the PCI configuration space */ - PciConfigAll *pciconfig; - /** Pointer to the UART, set by the uart */ Uart *uart; @@ -64,13 +64,20 @@ class Platform : public SimObject public: Platform(const std::string &name, IntrControl *intctrl); virtual ~Platform(); - virtual void init() { if (pciconfig == NULL) panic("PCI Config not set"); } virtual void postConsoleInt() = 0; virtual void clearConsoleInt() = 0; virtual Tick intrFrequency() = 0; virtual void postPciInt(int line); virtual void clearPciInt(int line); virtual Addr pciToDma(Addr pciAddr) const; + virtual Addr calcConfigAddr(int bus, int dev, int func) = 0; + virtual void registerPciDevice(uint8_t bus, uint8_t dev, uint8_t func, + uint8_t intr); + + private: + std::bitset<256> intLines; + std::set<uint32_t> pciDevices; + }; #endif // __DEV_PLATFORM_HH__ |