Merge zizzer:/z/m5/Bitkeeper/m5

into zizzer.eecs.umich.edu:/.automount/zazzer/z/rdreslin/m5bk/timing_L1

--HG--
extra : convert_revision : 0b0583e9404ed922141049f1043e7a149984e567
This commit is contained in:
Ron Dreslinski 2005-02-21 18:07:30 -05:00
commit 3e18c75f00
3 changed files with 51 additions and 56 deletions

View file

@ -32,8 +32,8 @@
* 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"
@ -56,7 +56,6 @@ class System;
class Tsunami : public Platform
{
public:
/** Max number of CPUs in a Tsunami */
static const int Max_CPUs = 64;
@ -67,15 +66,15 @@ class Tsunami : public Platform
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];
@ -83,12 +82,12 @@ class Tsunami : public Platform
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);
@ -96,7 +95,7 @@ class Tsunami : public Platform
* 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.
@ -120,7 +119,7 @@ class Tsunami : public Platform
virtual Addr pciToDma(Addr pciAddr) const;
/**
/**
* Serialize this object to the given output stream.
* @param os The stream to serialize to.
*/
@ -134,4 +133,4 @@ class Tsunami : public Platform
virtual void unserialize(Checkpoint *cp, const std::string &section);
};
#endif // __TSUNAMI_HH__
#endif // __DEV_TSUNAMI_HH__

View file

@ -67,7 +67,6 @@ TsunamiIO::RTCEvent::process()
schedule(curTick + ticksPerSecond/RTC_RATE);
//Actually interrupt the processor here
tsunami->cchip->postRTC();
}
const char *

View file

@ -30,8 +30,8 @@
* 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"
@ -56,9 +56,11 @@ class TsunamiIO : public PioDevice
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;
@ -132,38 +134,37 @@ class TsunamiIO : public PioDevice
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);
/** 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();
/**
* Interrupth the processor and reschedule the event.
*/
virtual void process();
/**
* Return a description of this event.
* @return a description
*/
virtual const char *description();
/**
* 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);
/**
* 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 &section);
};
/**
* 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 &section);
};
/** 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
@ -219,7 +220,6 @@ class TsunamiIO : public PioDevice
*/
uint32_t timerData;
public:
/**
* Return the freqency of the RTC
@ -227,7 +227,6 @@ class TsunamiIO : public PioDevice
*/
Tick frequency() const { return RTC_RATE; }
/**
* Initialize all the data for devices supported by Tsunami I/O.
* @param name name of this device.
@ -279,7 +278,6 @@ class TsunamiIO : public PioDevice
*/
virtual void serialize(std::ostream &os);
/**
* Reconstruct the state of this object from a checkpoint.
* @param cp The checkpoint use.
@ -287,8 +285,7 @@ class TsunamiIO : public PioDevice
*/
virtual void unserialize(Checkpoint *cp, const std::string &section);
Tick cacheAccess(MemReqPtr &req);
};
#endif // __TSUNAMI_IO_HH__
#endif // __DEV_TSUNAMI_IO_HH__