Move options files from <build_dir>/build_options to build_options/<build_dir>.
[gem5.git] / dev / platform.hh
index 7920480bc58c54decd8acde299ac592096f78a1b..ee9c72617e0f3a9a933cfc722541c846ff61e2e3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004 The Regents of The University of Michigan
+ * Copyright (c) 2004-2005 The Regents of The University of Michigan
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * Generic interface for platforms
  */
 
-#ifndef __PLATFORM_HH_
-#define __PLATFORM_HH_
+#ifndef __DEV_PLATFORM_HH__
+#define __DEV_PLATFORM_HH__
 
 #include "sim/sim_object.hh"
+#include "targetarch/isa_traits.hh"
 
 class PciConfigAll;
 class IntrControl;
@@ -46,25 +47,22 @@ class Platform : public SimObject
   public:
     /** Pointer to the interrupt controller */
     IntrControl *intrctrl;
-    /** Pointer to the simulation console */
-    SimConsole *cons;
+
     /** Pointer to the PCI configuration space */
     PciConfigAll *pciconfig;
 
     /** Pointer to the UART, set by the uart */
     Uart *uart;
 
-    int interrupt_frequency;
-
   public:
-    Platform(const std::string &name, IntrControl *intctrl,
-             PciConfigAll *pci, int intrFreq)
-        : SimObject(name), intrctrl(intctrl), pciconfig(pci),
-          interrupt_frequency(intrFreq) {}
-    virtual ~Platform() {}
+    Platform(const std::string &name, IntrControl *intctrl, PciConfigAll *pci);
+    virtual ~Platform();
     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;
 };
 
-#endif // __PLATFORM_HH_
+#endif // __DEV_PLATFORM_HH__