* retains pointers to all its children so the children can communicate.
*/
-#ifndef __TSUNAMI_HH__
-#define __TSUNAMI_HH__
+#ifndef __DEV_TSUNAMI_HH__
+#define __DEV_TSUNAMI_HH__
#include "dev/platform.hh"
class Tsunami : public Platform
{
public:
-
/** Max number of CPUs in a Tsunami */
static const int Max_CPUs = 64;
TsunamiIO *io;
/** Pointer to the Tsunami CChip.
- * The chip contains some configuration information and
- * all the interrupt mask and status registers
- */
+ * The chip contains some configuration information and
+ * all the interrupt mask and status registers
+ */
TsunamiCChip *cchip;
/** Pointer to the Tsunami PChip.
- * The pchip is the interface to the PCI bus, in our case
- * it does not have to do much.
- */
+ * The pchip is the interface to the PCI bus, in our case
+ * it does not have to do much.
+ */
TsunamiPChip *pchip;
int intr_sum_type[Tsunami::Max_CPUs];
public:
/**
- * Constructor for the Tsunami Class.
- * @param name name of the object
- * @param con pointer to the console
- * @param intrcontrol pointer to the interrupt controller
- * @param intrFreq frequency that interrupts happen
- */
+ * Constructor for the Tsunami Class.
+ * @param name name of the object
+ * @param con pointer to the console
+ * @param intrcontrol pointer to the interrupt controller
+ * @param intrFreq frequency that interrupts happen
+ */
Tsunami(const std::string &name, System *s, IntrControl *intctrl,
PciConfigAll *pci, int intrFreq);
* Return the interrupting frequency to AlphaAccess
* @return frequency of RTC interrupts
*/
- virtual Tick intrFrequency();
+ virtual Tick intrFrequency();
/**
* Cause the cpu to post a serial interrupt to the CPU.
virtual Addr pciToDma(Addr pciAddr) const;
- /**
+ /**
* Serialize this object to the given output stream.
* @param os The stream to serialize to.
*/
virtual void unserialize(Checkpoint *cp, const std::string §ion);
};
-#endif // __TSUNAMI_HH__
+#endif // __DEV_TSUNAMI_HH__
* Tsunami Fake I/O Space mapping including RTC/timer interrupts
*/
-#ifndef __TSUNAMI_DMA_HH__
-#define __TSUNAMI_DMA_HH__
+#ifndef __DEV_TSUNAMI_IO_HH__
+#define __DEV_TSUNAMI_IO_HH__
#include "dev/io_device.hh"
#include "base/range.hh"
struct tm tm;
- /** In Tsunami RTC only has two i/o ports one for data and one for address,
- * so you write the address and then read/write the data. This store the
- * address you are going to be reading from on a read.
+ /**
+ * In Tsunami RTC only has two i/o ports one for data and one for
+ * address, so you write the address and then read/write the
+ * data. This store the address you are going to be reading from
+ * on a read.
*/
uint8_t RTCAddress;
class RTCEvent : public Event
{
protected:
- /** A pointer back to tsunami to create interrupt the processor. */
- Tsunami* tsunami;
+ /** A pointer back to tsunami to create interrupt the processor. */
+ Tsunami* tsunami;
public:
- /** RTC Event initializes the RTC event by scheduling an event
- * RTC_RATE times pre second. */
- RTCEvent(Tsunami* t);
-
- /**
- * Interrupth the processor and reschedule the event.
- * */
- virtual void process();
-
- /**
- * Return a description of this event.
- * @return a description
- */
- virtual const char *description();
-
- /**
- * Serialize this object to the given output stream.
- * @param os The stream to serialize to.
- */
- virtual void serialize(std::ostream &os);
-
-
- /**
- * Reconstruct the state of this object from a checkpoint.
- * @param cp The checkpoint use.
- * @param section The section name of this object
- */
- virtual void unserialize(Checkpoint *cp, const std::string §ion);
- };
+ /** RTC Event initializes the RTC event by scheduling an event
+ * RTC_RATE times pre second. */
+ RTCEvent(Tsunami* t);
+
+ /**
+ * Interrupth the processor and reschedule the event.
+ */
+ virtual void process();
+
+ /**
+ * Return a description of this event.
+ * @return a description
+ */
+ virtual const char *description();
+
+ /**
+ * Serialize this object to the given output stream.
+ * @param os The stream to serialize to.
+ */
+ virtual void serialize(std::ostream &os);
+
+ /**
+ * Reconstruct the state of this object from a checkpoint.
+ * @param cp The checkpoint use.
+ * @param section The section name of this object
+ */
+ virtual void unserialize(Checkpoint *cp, const std::string §ion);
+ };
/** uip UpdateInProgess says that the rtc is updating, but we just fake it
* by alternating it on every read of the bit since we are going to
*/
uint32_t timerData;
-
public:
/**
* Return the freqency of the RTC
*/
Tick frequency() const { return RTC_RATE; }
-
/**
* Initialize all the data for devices supported by Tsunami I/O.
* @param name name of this device.
*/
virtual void serialize(std::ostream &os);
-
/**
* Reconstruct the state of this object from a checkpoint.
* @param cp The checkpoint use.
*/
virtual void unserialize(Checkpoint *cp, const std::string §ion);
-
Tick cacheAccess(MemReqPtr &req);
};
-#endif // __TSUNAMI_IO_HH__
+#endif // __DEV_TSUNAMI_IO_HH__