X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fdev%2Fplatform.hh;h=a3f2398657d0654469053cde39c9cd1ed913edc3;hb=23755eb43428845737aa514314f1bd0ace5d5372;hp=1940dcad61284dbb79d7190ab4f44668515687a6;hpb=15e5ce96c76a20b9b27e5f7d7ed29e962422ad1a;p=gem5.git diff --git a/src/dev/platform.hh b/src/dev/platform.hh index 1940dcad6..a3f239865 100644 --- a/src/dev/platform.hh +++ b/src/dev/platform.hh @@ -40,12 +40,12 @@ #include #include +#include "params/Platform.hh" #include "sim/sim_object.hh" -#include "arch/isa_traits.hh" class PciConfigAll; class IntrControl; -class SimConsole; +class Terminal; class Uart; class System; @@ -55,14 +55,12 @@ class Platform : public SimObject /** Pointer to the interrupt controller */ IntrControl *intrctrl; - /** Pointer to the UART, set by the uart */ - Uart *uart; - /** Pointer to the system for info about the memory system. */ System *system; public: - Platform(const std::string &name, IntrControl *intctrl); + typedef PlatformParams Params; + Platform(const Params *p); virtual ~Platform(); virtual void postConsoleInt() = 0; virtual void clearConsoleInt() = 0; @@ -70,7 +68,9 @@ class Platform : public SimObject 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 Addr calcPciConfigAddr(int bus, int dev, int func) = 0; + virtual Addr calcPciIOAddr(Addr addr) = 0; + virtual Addr calcPciMemAddr(Addr addr) = 0; virtual void registerPciDevice(uint8_t bus, uint8_t dev, uint8_t func, uint8_t intr);