trace: reimplement the DTRACE function so it doesn't use a vector
[gem5.git] / src / dev / alpha / tsunami.hh
index 6fbfac85132ceb71d2e83f77e94d158668b537ce..64aafe5334b719d05ee6d0393d54aeeecb38982f 100644 (file)
@@ -38,6 +38,7 @@
 #define __DEV_TSUNAMI_HH__
 
 #include "dev/platform.hh"
+#include "params/Tsunami.hh"
 
 class IdeController;
 class TsunamiCChip;
@@ -80,13 +81,8 @@ class Tsunami : public Platform
     int ipi_pending[Tsunami::Max_CPUs];
 
   public:
-    /**
-     * Constructor for the Tsunami Class.
-     * @param name name of the object
-     * @param s system the object belongs to
-     * @param intctrl pointer to the interrupt controller
-     */
-    Tsunami(const std::string &name, System *s, IntrControl *intctrl);
+    typedef TsunamiParams Params;
+    Tsunami(const Params *p);
 
     /**
      * Return the interrupting frequency to AlphaAccess
@@ -120,7 +116,17 @@ class Tsunami : public Platform
     /**
      * Calculate the configuration address given a bus/dev/func.
      */
-    virtual Addr calcConfigAddr(int bus, int dev, int func);
+    virtual Addr calcPciConfigAddr(int bus, int dev, int func);
+
+    /**
+     * Calculate the address for an IO location on the PCI bus.
+     */
+    virtual Addr calcPciIOAddr(Addr addr);
+
+    /**
+     * Calculate the address for a memory location on the PCI bus.
+     */
+    virtual Addr calcPciMemAddr(Addr addr);
 
     /**
      * Serialize this object to the given output stream.