76,83d75
< #ifdef TSUNAMI
< #define ALPHA_ACCESS_BASE 0xfffffd0200000000
< #elif TLASER
< #define ALPHA_ACCESS_BASE 0xfffffc8000a00000
< #else
< #error TSUNAMI/TLASER not defined.
< #endif
<
115a108
> volatile struct AlphaAccess *m5AlphaAccess;
149,150c142
< struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
< return k1Conf->inputChar;
---
> return m5AlphaAccess->inputChar;
156,157c148
< struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
< k1Conf->outputChar = c;
---
> m5AlphaAccess->outputChar = c;
170d160
< struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
174c164
< printf_lock("M5 console\n");
---
> printf_lock("M5 console: m5AlphaAccess @ 0x%x\n", m5AlphaAccess);
179c169
< m5Conf.last_offset = k1Conf->last_offset;
---
> m5Conf.last_offset = m5AlphaAccess->last_offset;
182,199c172,189
< m5Conf.last_offset = k1Conf->last_offset;
< m5Conf.version = k1Conf->version;
< m5Conf.numCPUs = k1Conf->numCPUs;
< m5Conf.intrClockFrequency = k1Conf->intrClockFrequency;
< m5Conf.cpuClock = k1Conf->cpuClock;
< m5Conf.mem_size = k1Conf->mem_size;
< m5Conf.kernStart = k1Conf->kernStart;
< m5Conf.kernEnd = k1Conf->kernEnd;
< m5Conf.entryPoint = k1Conf->entryPoint;
< m5Conf.diskUnit = k1Conf->diskUnit;
< m5Conf.diskCount = k1Conf->diskCount;
< m5Conf.diskPAddr = k1Conf->diskPAddr;
< m5Conf.diskBlock = k1Conf->diskBlock;
< m5Conf.diskOperation = k1Conf->diskOperation;
< m5Conf.outputChar = k1Conf->outputChar;
< m5Conf.inputChar = k1Conf->inputChar;
< m5Conf.bootStrapImpure = k1Conf->bootStrapImpure;
< m5Conf.bootStrapCPU = k1Conf->bootStrapCPU;
---
> m5Conf.last_offset = m5AlphaAccess->last_offset;
> m5Conf.version = m5AlphaAccess->version;
> m5Conf.numCPUs = m5AlphaAccess->numCPUs;
> m5Conf.intrClockFrequency = m5AlphaAccess->intrClockFrequency;
> m5Conf.cpuClock = m5AlphaAccess->cpuClock;
> m5Conf.mem_size = m5AlphaAccess->mem_size;
> m5Conf.kernStart = m5AlphaAccess->kernStart;
> m5Conf.kernEnd = m5AlphaAccess->kernEnd;
> m5Conf.entryPoint = m5AlphaAccess->entryPoint;
> m5Conf.diskUnit = m5AlphaAccess->diskUnit;
> m5Conf.diskCount = m5AlphaAccess->diskCount;
> m5Conf.diskPAddr = m5AlphaAccess->diskPAddr;
> m5Conf.diskBlock = m5AlphaAccess->diskBlock;
> m5Conf.diskOperation = m5AlphaAccess->diskOperation;
> m5Conf.outputChar = m5AlphaAccess->outputChar;
> m5Conf.inputChar = m5AlphaAccess->inputChar;
> m5Conf.bootStrapImpure = m5AlphaAccess->bootStrapImpure;
> m5Conf.bootStrapCPU = m5AlphaAccess->bootStrapCPU;
779,780d768
< volatile struct AlphaAccess *k1Conf;
< k1Conf = (volatile struct AlphaAccess *)(ALPHA_ACCESS_BASE);
783,784c771,772
< k1Conf->bootStrapImpure = bootStrapImpure[i];
< k1Conf->bootStrapCPU = i;
---
> m5AlphaAccess->bootStrapImpure = bootStrapImpure[i];
> m5AlphaAccess->bootStrapCPU = i;
869d856
< struct AlphaAccess *k1Conf = (struct AlphaAccess *)(ALPHA_ACCESS_BASE);
880,883c867,870
< k1Conf->diskCount = count;
< k1Conf->diskPAddr = pAddr;
< k1Conf->diskBlock = block;
< k1Conf->diskOperation = op; /* launch */
---
> m5AlphaAccess->diskCount = count;
> m5AlphaAccess->diskPAddr = pAddr;
> m5AlphaAccess->diskBlock = block;
> m5AlphaAccess->diskOperation = op; /* launch */