summaryrefslogtreecommitdiff
path: root/dev/alpha_console.cc
diff options
context:
space:
mode:
authorKevin Lim <ktlim@umich.edu>2005-04-14 16:06:34 -0400
committerKevin Lim <ktlim@umich.edu>2005-04-14 16:06:34 -0400
commit26d6d97f5d46bfe2cc5734eb632bec0bc67aed19 (patch)
treeed8a33f234ee4d85bc79f6179ea8907976ee3e70 /dev/alpha_console.cc
parentdcedd7866e35adc1e0fbc081188b259ffc7bbdf5 (diff)
parent5e67b78af7f74d7223ced5b54978ca9fa29606c5 (diff)
downloadgem5-26d6d97f5d46bfe2cc5734eb632bec0bc67aed19.tar.xz
Merge ktlim@zizzer.eecs.umich.edu:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5 --HG-- extra : convert_revision : 0baadd8d68bfa6f8e96307eb2d4426b0d9e0b8b4
Diffstat (limited to 'dev/alpha_console.cc')
-rw-r--r--dev/alpha_console.cc21
1 files changed, 13 insertions, 8 deletions
diff --git a/dev/alpha_console.cc b/dev/alpha_console.cc
index 8309ea16d..01ce17dd5 100644
--- a/dev/alpha_console.cc
+++ b/dev/alpha_console.cc
@@ -56,10 +56,10 @@
using namespace std;
AlphaConsole::AlphaConsole(const string &name, SimConsole *cons, SimpleDisk *d,
- System *system, BaseCPU *cpu, Platform *p,
+ System *s, BaseCPU *c, Platform *p,
int num_cpus, MemoryController *mmu, Addr a,
HierParams *hier, Bus *bus)
- : PioDevice(name, p), disk(d), console(cons), addr(a)
+ : PioDevice(name, p), disk(d), console(cons), system(s), cpu(c), addr(a)
{
mmu->add_child(this, RangeSize(addr, size));
@@ -71,15 +71,9 @@ AlphaConsole::AlphaConsole(const string &name, SimConsole *cons, SimpleDisk *d,
alphaAccess = new AlphaAccess;
alphaAccess->last_offset = size - 1;
- alphaAccess->kernStart = system->getKernelStart();
- alphaAccess->kernEnd = system->getKernelEnd();
- alphaAccess->entryPoint = system->getKernelEntry();
alphaAccess->version = ALPHA_ACCESS_VERSION;
alphaAccess->numCPUs = num_cpus;
- alphaAccess->mem_size = system->physmem->size();
- alphaAccess->cpuClock = cpu->getFreq() / 1000000;
- alphaAccess->intrClockFrequency = platform->intrFrequency();
alphaAccess->diskUnit = 1;
alphaAccess->diskCount = 0;
@@ -93,6 +87,17 @@ AlphaConsole::AlphaConsole(const string &name, SimConsole *cons, SimpleDisk *d,
alphaAccess->align2 = 0;
}
+void
+AlphaConsole::init()
+{
+ alphaAccess->kernStart = system->getKernelStart();
+ alphaAccess->kernEnd = system->getKernelEnd();
+ alphaAccess->entryPoint = system->getKernelEntry();
+ alphaAccess->mem_size = system->physmem->size();
+ alphaAccess->cpuClock = cpu->frequency() / 1000000; // In MHz
+ alphaAccess->intrClockFrequency = platform->intrFrequency();
+}
+
Fault
AlphaConsole::read(MemReqPtr &req, uint8_t *data)
{