dev-arm: Add a VExpress_GEM5_V2 platform with GICv3 support
[gem5.git] / src / dev / platform.hh
index b3d1bec9fec008eaca9ac93e9228884d89998484..9e2aee82b7f2a11e8abd468ea7b15007fd748f67 100644 (file)
 #include "params/Platform.hh"
 #include "sim/sim_object.hh"
 
-class PciConfigAll;
 class IntrControl;
 class Terminal;
 class Uart;
 class System;
 
+
 class Platform : public SimObject
 {
   public:
     /** Pointer to the interrupt controller */
     IntrControl *intrctrl;
 
-    /** Pointer to the system for info about the memory system. */
-    System *system;
-
   public:
     typedef PlatformParams Params;
     Platform(const Params *p);
     virtual ~Platform();
+
+    /**
+     * Cause the cpu to post a serial interrupt to the CPU.
+     */
     virtual void postConsoleInt() = 0;
+
+    /**
+     * Clear a posted CPU interrupt
+     */
     virtual void clearConsoleInt() = 0;
-    virtual void postPciInt(int line);
-    virtual void clearPciInt(int line);
-    virtual Addr pciToDma(Addr pciAddr) const;
-    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);
 
-  private:
-    std::bitset<256> intLines;
-    std::set<uint32_t> pciDevices;
 
+    /**
+     * Cause the chipset to post a cpi interrupt to the CPU.
+     */
+    virtual void postPciInt(int line);
+
+    /**
+     * Clear a posted PCI->CPU interrupt
+     */
+    virtual void clearPciInt(int line);
 };
 
 #endif // __DEV_PLATFORM_HH__