Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem src/arch/sparc/isa/formats/mem/util.isa: src/arch/sparc/isa_traits.hh: src/arch/sparc/system.cc: Hand Merge --HG-- extra : convert_revision : d5e0c97caebb616493e2f642e915969d7028109c
This commit is contained in:
commit
0358ccee23
98 changed files with 2311 additions and 844 deletions
34
SConstruct
34
SConstruct
|
@ -66,6 +66,7 @@
|
|||
# Python library imports
|
||||
import sys
|
||||
import os
|
||||
import subprocess
|
||||
from os.path import join as joinpath
|
||||
|
||||
# Check for recent-enough Python and SCons versions. If your system's
|
||||
|
@ -206,11 +207,36 @@ if False:
|
|||
|
||||
# M5_PLY is used by isa_parser.py to find the PLY package.
|
||||
env.Append(ENV = { 'M5_PLY' : Dir('ext/ply') })
|
||||
env['GCC'] = False
|
||||
env['SUNCC'] = False
|
||||
env['GCC'] = subprocess.Popen(env['CXX'] + ' --version', shell=True,
|
||||
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
|
||||
close_fds=True).communicate()[0].find('GCC') >= 0
|
||||
env['SUNCC'] = subprocess.Popen(env['CXX'] + ' -V', shell=True,
|
||||
stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
|
||||
close_fds=True).communicate()[0].find('Sun C++') >= 0
|
||||
if (env['GCC'] and env['SUNCC']):
|
||||
print 'Error: How can we have both g++ and Sun C++ at the same time?'
|
||||
Exit(1)
|
||||
|
||||
|
||||
# Set up default C++ compiler flags
|
||||
env.Append(CCFLAGS='-pipe')
|
||||
env.Append(CCFLAGS='-fno-strict-aliasing')
|
||||
env.Append(CCFLAGS=Split('-Wall -Wno-sign-compare -Werror -Wundef'))
|
||||
if env['GCC']:
|
||||
env.Append(CCFLAGS='-pipe')
|
||||
env.Append(CCFLAGS='-fno-strict-aliasing')
|
||||
env.Append(CCFLAGS=Split('-Wall -Wno-sign-compare -Werror -Wundef'))
|
||||
elif env['SUNCC']:
|
||||
env.Append(CCFLAGS='-Qoption ccfe')
|
||||
env.Append(CCFLAGS='-features=gcc')
|
||||
env.Append(CCFLAGS='-features=extensions')
|
||||
env.Append(CCFLAGS='-library=stlport4')
|
||||
env.Append(CCFLAGS='-xar')
|
||||
# env.Append(CCFLAGS='-instances=semiexplicit')
|
||||
else:
|
||||
print 'Error: Don\'t know what compiler options to use for your compiler.'
|
||||
print ' Please fix SConstruct and try again.'
|
||||
Exit(1)
|
||||
|
||||
if sys.platform == 'cygwin':
|
||||
# cygwin has some header file issues...
|
||||
env.Append(CCFLAGS=Split("-Wno-uninitialized"))
|
||||
|
@ -293,7 +319,7 @@ if not conf.CheckLibWithHeader(None, 'sys/socket.h', 'C++', 'accept(0,0,0);'):
|
|||
|
||||
# Check for zlib. If the check passes, libz will be automatically
|
||||
# added to the LIBS environment variable.
|
||||
if not conf.CheckLibWithHeader('z', 'zlib.h', 'C++'):
|
||||
if not conf.CheckLibWithHeader('z', 'zlib.h', 'C++','zlibVersion();'):
|
||||
print 'Error: did not find needed zlib compression library '\
|
||||
'and/or zlib.h header file.'
|
||||
print ' Please install zlib and try again.'
|
||||
|
|
|
@ -311,30 +311,41 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
|
|||
envList.append(newEnv)
|
||||
|
||||
# Debug binary
|
||||
# Solaris seems to have some issue with DWARF2 debugging information, it's ok
|
||||
# with stabs though
|
||||
if sys.platform == 'sunos5':
|
||||
debug_flag = '-gstabs+'
|
||||
ccflags = {}
|
||||
if env['GCC']:
|
||||
if sys.platform == 'sunos5':
|
||||
ccflags['debug'] = '-gstabs+'
|
||||
else:
|
||||
ccflags['debug'] = '-ggdb3'
|
||||
ccflags['opt'] = '-g -O3'
|
||||
ccflags['fast'] = '-O3'
|
||||
ccflags['prof'] = '-O3 -g -pg'
|
||||
elif env['SUNCC']:
|
||||
ccflags['debug'] = '-g0'
|
||||
ccflags['opt'] = '-g -O'
|
||||
ccflags['fast'] = '-fast'
|
||||
ccflags['prof'] = '-fast -g -pg'
|
||||
else:
|
||||
debug_flag = '-ggdb3'
|
||||
print 'Unknown compiler, please fix compiler options'
|
||||
Exit(1)
|
||||
|
||||
makeEnv('debug', '.do',
|
||||
CCFLAGS = Split('%s -O0' % debug_flag),
|
||||
CCFLAGS = Split(ccflags['debug']),
|
||||
CPPDEFINES = ['DEBUG', 'TRACING_ON=1'])
|
||||
|
||||
# Optimized binary
|
||||
makeEnv('opt', '.o',
|
||||
CCFLAGS = Split('-g -O3'),
|
||||
CCFLAGS = Split(ccflags['opt']),
|
||||
CPPDEFINES = ['TRACING_ON=1'])
|
||||
|
||||
# "Fast" binary
|
||||
makeEnv('fast', '.fo', strip = True,
|
||||
CCFLAGS = Split('-O3'),
|
||||
CCFLAGS = Split(ccflags['fast']),
|
||||
CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'])
|
||||
|
||||
# Profiled binary
|
||||
makeEnv('prof', '.po',
|
||||
CCFLAGS = Split('-O3 -g -pg'),
|
||||
CCFLAGS = Split(ccflags['prof']),
|
||||
CPPDEFINES = ['NDEBUG', 'TRACING_ON=0'],
|
||||
LINKFLAGS = '-pg')
|
||||
|
||||
|
|
|
@ -94,8 +94,6 @@ AlphaISA::processInterrupts(CPU *cpu)
|
|||
int ipl = 0;
|
||||
int summary = 0;
|
||||
|
||||
cpu->checkInterrupts = false;
|
||||
|
||||
if (cpu->readMiscReg(IPR_ASTRR))
|
||||
panic("asynchronous traps not implemented\n");
|
||||
|
||||
|
@ -155,8 +153,6 @@ SimpleThread::hwrei()
|
|||
if (!misspeculating()) {
|
||||
if (kernelStats)
|
||||
kernelStats->hwrei();
|
||||
|
||||
cpu->checkInterrupts = true;
|
||||
}
|
||||
|
||||
// FIXME: XXX check for interrupts? XXX
|
||||
|
|
|
@ -72,16 +72,19 @@ FloatReg FloatRegFile::readReg(int floatReg, int width)
|
|||
float32_t result32;
|
||||
memcpy(&result32, regSpace + 4 * floatReg, sizeof(result32));
|
||||
result = htog(result32);
|
||||
DPRINTF(Sparc, "Read FP32 register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
case DoubleWidth:
|
||||
float64_t result64;
|
||||
memcpy(&result64, regSpace + 4 * floatReg, sizeof(result64));
|
||||
result = htog(result64);
|
||||
DPRINTF(Sparc, "Read FP64 register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
case QuadWidth:
|
||||
float128_t result128;
|
||||
memcpy(&result128, regSpace + 4 * floatReg, sizeof(result128));
|
||||
result = htog(result128);
|
||||
DPRINTF(Sparc, "Read FP128 register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
default:
|
||||
panic("Attempted to read a %d bit floating point register!", width);
|
||||
|
@ -101,16 +104,19 @@ FloatRegBits FloatRegFile::readRegBits(int floatReg, int width)
|
|||
uint32_t result32;
|
||||
memcpy(&result32, regSpace + 4 * floatReg, sizeof(result32));
|
||||
result = htog(result32);
|
||||
DPRINTF(Sparc, "Read FP32 bits register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
case DoubleWidth:
|
||||
uint64_t result64;
|
||||
memcpy(&result64, regSpace + 4 * floatReg, sizeof(result64));
|
||||
result = htog(result64);
|
||||
DPRINTF(Sparc, "Read FP64 bits register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
case QuadWidth:
|
||||
uint64_t result128;
|
||||
memcpy(&result128, regSpace + 4 * floatReg, sizeof(result128));
|
||||
result = htog(result128);
|
||||
DPRINTF(Sparc, "Read FP128 bits register %d = 0x%x\n", floatReg, result);
|
||||
break;
|
||||
default:
|
||||
panic("Attempted to read a %d bit floating point register!", width);
|
||||
|
|
|
@ -416,3 +416,27 @@ output decoder {{
|
|||
}
|
||||
}};
|
||||
|
||||
output exec {{
|
||||
/// Check "FP enabled" machine status bit. Called when executing any FP
|
||||
/// instruction in full-system mode.
|
||||
/// @retval Full-system mode: NoFault if FP is enabled, FpDisabled
|
||||
/// if not. Non-full-system mode: always returns NoFault.
|
||||
#if FULL_SYSTEM
|
||||
inline Fault checkFpEnableFault(%(CPU_exec_context)s *xc)
|
||||
{
|
||||
Fault fault = NoFault; // dummy... this ipr access should not fault
|
||||
if (xc->readMiscRegWithEffect(MISCREG_PSTATE) & PSTATE::pef &&
|
||||
xc->readMiscRegWithEffect(MISCREG_FPRS) & 0x4)
|
||||
return NoFault;
|
||||
else
|
||||
return new FpDisabled;
|
||||
}
|
||||
#else
|
||||
inline Fault checkFpEnableFault(%(CPU_exec_context)s *xc)
|
||||
{
|
||||
return NoFault;
|
||||
}
|
||||
#endif
|
||||
}};
|
||||
|
||||
|
||||
|
|
|
@ -192,7 +192,7 @@ decode OP default Unknown::unknown()
|
|||
Y = Rd<63:32>;
|
||||
}});
|
||||
0x0B: smul({{
|
||||
Rd.sdw = Rs1.sdw<31:0> * Rs2_or_imm13<31:0>;
|
||||
Rd.sdw = sext<32>(Rs1.sdw<31:0>) * sext<32>(Rs2_or_imm13<31:0>);
|
||||
Y = Rd.sdw<63:32>;
|
||||
}});
|
||||
0x0C: subc({{Rd.sdw = Rs1.sdw + (~Rs2_or_imm13) + 1 - Ccr<0:0>}});
|
||||
|
@ -215,10 +215,10 @@ decode OP default Unknown::unknown()
|
|||
else
|
||||
{
|
||||
Rd.udw = ((int64_t)((Y << 32) | Rs1.sdw<31:0>)) / Rs2_or_imm13.sdw;
|
||||
if(Rd.udw<63:31> != 0)
|
||||
if((int64_t)Rd.udw >= std::numeric_limits<int32_t>::max())
|
||||
Rd.udw = 0x7FFFFFFF;
|
||||
else if(Rd.udw<63:> && Rd.udw<62:31> != 0xFFFFFFFF)
|
||||
Rd.udw = 0xFFFFFFFF80000000ULL;
|
||||
else if((int64_t)Rd.udw <= std::numeric_limits<int32_t>::min())
|
||||
Rd.udw = ULL(0xFFFFFFFF80000000);
|
||||
}
|
||||
}});
|
||||
}
|
||||
|
@ -252,8 +252,7 @@ decode OP default Unknown::unknown()
|
|||
Rd = resTemp = Rs1 + val2 + carryin;}},
|
||||
{{(Rs1<31:0> + val2<31:0> + carryin)<32:>}},
|
||||
{{Rs1<31:> == val2<31:> && val2<31:> != resTemp<31:>}},
|
||||
{{(Rs1<63:1> + val2<63:1> +
|
||||
((Rs1 & val2) | (carryin & (Rs1 | val2)))<0:>)<63:>}},
|
||||
{{((Rs1 & val2) | (~resTemp & (Rs1 | val2)))<63:>}},
|
||||
{{Rs1<63:> == val2<63:> && val2<63:> != resTemp<63:>}}
|
||||
);
|
||||
0x1A: IntOpCcRes::umulcc({{
|
||||
|
@ -262,15 +261,15 @@ decode OP default Unknown::unknown()
|
|||
Y = resTemp<63:32>;}});
|
||||
0x1B: IntOpCcRes::smulcc({{
|
||||
int64_t resTemp;
|
||||
Rd = resTemp = Rs1.sdw<31:0> * Rs2_or_imm13.sdw<31:0>;
|
||||
Rd = resTemp = sext<32>(Rs1.sdw<31:0>) * sext<32>(Rs2_or_imm13<31:0>);
|
||||
Y = resTemp<63:32>;}});
|
||||
0x1C: subccc({{
|
||||
int64_t resTemp, val2 = Rs2_or_imm13;
|
||||
int64_t carryin = Ccr<0:0>;
|
||||
Rd = resTemp = Rs1 + ~val2 + 1 - carryin;}},
|
||||
{{(~((Rs1<31:0> + (~(val2 + carryin))<31:0> + 1))<32:>)}},
|
||||
{{((~Rs1 & val2) | (resTemp & (~Rs1 | val2)))<31:>}},
|
||||
{{Rs1<31:> != val2<31:> && Rs1<31:> != resTemp<31:>}},
|
||||
{{(~((Rs1<63:1> + (~(val2 + carryin))<63:1>) + (Rs1<0:> + (~(val2+carryin))<0:> + 1)<63:1>))<63:>}},
|
||||
{{((~Rs1 & val2) | (resTemp & (~Rs1 | val2)))<63:>}},
|
||||
{{Rs1<63:> != val2<63:> && Rs1<63:> != resTemp<63:>}}
|
||||
);
|
||||
0x1D: IntOpCcRes::udivxcc({{
|
||||
|
@ -299,10 +298,10 @@ decode OP default Unknown::unknown()
|
|||
else
|
||||
{
|
||||
Rd = (int64_t)((Y << 32) | Rs1.sdw<31:0>) / val2;
|
||||
overflow = (Rd<63:31> != 0);
|
||||
underflow = (Rd<63:> && Rd<62:31> != 0xFFFFFFFF);
|
||||
overflow = ((int64_t)Rd >= std::numeric_limits<int32_t>::max());
|
||||
underflow = ((int64_t)Rd <= std::numeric_limits<int32_t>::min());
|
||||
if(overflow) Rd = 0x7FFFFFFF;
|
||||
else if(underflow) Rd = 0xFFFFFFFF80000000ULL;
|
||||
else if(underflow) Rd = ULL(0xFFFFFFFF80000000);
|
||||
} }},
|
||||
{{0}},
|
||||
{{overflow || underflow}},
|
||||
|
@ -379,7 +378,7 @@ decode OP default Unknown::unknown()
|
|||
0x1: srax({{Rd = Rs1.sdw >> (I ? SHCNT64 : Rs2<5:0>);}});
|
||||
}
|
||||
0x28: decode RS1 {
|
||||
0x00: NoPriv::rdy({{Rd = Y;}});
|
||||
0x00: NoPriv::rdy({{Rd = Y<31:0>;}});
|
||||
//1 should cause an illegal instruction exception
|
||||
0x02: NoPriv::rdccr({{Rd = Ccr;}});
|
||||
0x03: NoPriv::rdasi({{Rd = Asi;}});
|
||||
|
@ -529,7 +528,7 @@ decode OP default Unknown::unknown()
|
|||
0x7: movrge({{Rd = (Rs1.sdw >= 0) ? Rs2_or_imm10 : Rd;}});
|
||||
}
|
||||
0x30: decode RD {
|
||||
0x00: NoPriv::wry({{Y = Rs1 ^ Rs2_or_imm13;}});
|
||||
0x00: NoPriv::wry({{Y = (Rs1 ^ Rs2_or_imm13)<31:0>;}});
|
||||
//0x01 should cause an illegal instruction exception
|
||||
0x02: NoPriv::wrccr({{Ccr = Rs1 ^ Rs2_or_imm13;}});
|
||||
0x03: NoPriv::wrasi({{Asi = Rs1 ^ Rs2_or_imm13;}});
|
||||
|
@ -667,7 +666,7 @@ decode OP default Unknown::unknown()
|
|||
Fsr &= ~(7 << 14);
|
||||
Fsr &= ~(0x1F);
|
||||
}});
|
||||
0x03: Trap::fmovq({{fault = new FpDisabled;}});
|
||||
0x03: Trap::fmovq({{fault = new FpExceptionOther;}});
|
||||
0x05: fnegs({{
|
||||
Frds.uw = Frs2s.uw ^ (1UL << 31);
|
||||
//fsr.ftt = fsr.cexc = 0
|
||||
|
@ -694,8 +693,8 @@ decode OP default Unknown::unknown()
|
|||
Fsr &= ~(0x1F);
|
||||
}});
|
||||
0x0B: Trap::fabsq({{fault = new FpDisabled;}});
|
||||
0x29: fsqrts({{Frds.sf = sqrt(Frs2s.sf);}});
|
||||
0x2A: fsqrtd({{Frd.df = sqrt(Frs2.df);}});
|
||||
0x29: fsqrts({{Frds.sf = std::sqrt(Frs2s.sf);}});
|
||||
0x2A: fsqrtd({{Frd.df = std::sqrt(Frs2.df);}});
|
||||
0x2B: Trap::fsqrtq({{fault = new FpDisabled;}});
|
||||
0x41: fadds({{Frds.sf = Frs1s.sf + Frs2s.sf;}});
|
||||
0x42: faddd({{Frd.df = Frs1.df + Frs2.df;}});
|
||||
|
@ -863,11 +862,11 @@ decode OP default Unknown::unknown()
|
|||
0x72: Trap::fxnor({{fault = new IllegalInstruction;}});
|
||||
0x73: Trap::fxnors({{fault = new IllegalInstruction;}});
|
||||
0x74: BasicOperate::fsrc1({{Frd.udw = Frs1.udw;}});
|
||||
0x75: BasicOperate::fsrc1s({{Frd.uw = Frs1.uw;}});
|
||||
0x75: BasicOperate::fsrc1s({{Frds.uw = Frs1s.uw;}});
|
||||
0x76: Trap::fornot2({{fault = new IllegalInstruction;}});
|
||||
0x77: Trap::fornot2s({{fault = new IllegalInstruction;}});
|
||||
0x78: BasicOperate::fsrc2({{Frd.udw = Frs2.udw;}});
|
||||
0x79: BasicOperate::fsrc2s({{Frd.uw = Frs2.uw;}});
|
||||
0x79: BasicOperate::fsrc2s({{Frds.uw = Frs2s.uw;}});
|
||||
0x7A: Trap::fornot1({{fault = new IllegalInstruction;}});
|
||||
0x7B: Trap::fornot1s({{fault = new IllegalInstruction;}});
|
||||
0x7C: Trap::for({{fault = new IllegalInstruction;}});
|
||||
|
@ -885,7 +884,7 @@ decode OP default Unknown::unknown()
|
|||
else
|
||||
{
|
||||
if (Pstate<3:>)
|
||||
(Rd = xc->readPC())<31:0>;
|
||||
Rd = (xc->readPC())<31:0>;
|
||||
else
|
||||
Rd = xc->readPC();
|
||||
NNPC = target;
|
||||
|
@ -1037,13 +1036,14 @@ decode OP default Unknown::unknown()
|
|||
0x0B: ldx({{Rd = (int64_t)Mem.sdw;}});
|
||||
}
|
||||
0x0D: LoadStore::ldstub(
|
||||
{{Rd = Mem.ub;}},
|
||||
{{Mem.ub = 0xFF;}});
|
||||
{{uReg0 = Mem.ub;}},
|
||||
{{Rd.ub = uReg0;
|
||||
Mem.ub = 0xFF;}});
|
||||
0x0E: Store::stx({{Mem.udw = Rd}});
|
||||
0x0F: LoadStore::swap(
|
||||
{{uReg0 = Rd.uw;
|
||||
Rd.uw = Mem.uw;}},
|
||||
{{Mem.uw = uReg0;}});
|
||||
{{ uReg0 = Mem.uw}},
|
||||
{{ Mem.uw = Rd.uw;
|
||||
Rd.uw = uReg0;}});
|
||||
format LoadAlt {
|
||||
0x10: lduwa({{Rd = Mem.uw;}}, {{EXT_ASI}});
|
||||
0x11: lduba({{Rd = Mem.ub;}}, {{EXT_ASI}});
|
||||
|
@ -1051,34 +1051,34 @@ decode OP default Unknown::unknown()
|
|||
0x13: decode EXT_ASI {
|
||||
//ASI_LDTD_AIUP
|
||||
0x22: TwinLoad::ldtx_aiup(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTD_AIUS
|
||||
0x23: TwinLoad::ldtx_aius(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_QUAD_LDD
|
||||
0x24: TwinLoad::ldtx_quad_ldd(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_REAL
|
||||
0x26: TwinLoad::ldtx_real(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_N
|
||||
0x27: TwinLoad::ldtx_n(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_L
|
||||
0x2C: TwinLoad::ldtx_l(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_REAL_L
|
||||
0x2E: TwinLoad::ldtx_real_l(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_N_L
|
||||
0x2F: TwinLoad::ldtx_n_l(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_P
|
||||
0xE2: TwinLoad::ldtx_p(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
//ASI_LDTX_S
|
||||
0xE3: TwinLoad::ldtx_s(
|
||||
{{RdTwin.udw = Mem.udw}}, {{EXT_ASI}});
|
||||
{{RdTwin.udw = Mem.udw;}}, {{EXT_ASI}});
|
||||
default: ldtwa({{
|
||||
uint64_t val = Mem.udw;
|
||||
RdLow = val<31:0>;
|
||||
|
@ -1099,22 +1099,23 @@ decode OP default Unknown::unknown()
|
|||
0x1B: ldxa({{Rd = (int64_t)Mem.sdw;}}, {{EXT_ASI}});
|
||||
}
|
||||
0x1D: LoadStoreAlt::ldstuba(
|
||||
{{Rd = Mem.ub;}},
|
||||
{{Mem.ub = 0xFF}}, {{EXT_ASI}});
|
||||
{{uReg0 = Mem.ub;}},
|
||||
{{Rd.ub = uReg0;
|
||||
Mem.ub = 0xFF;}}, {{EXT_ASI}});
|
||||
0x1E: StoreAlt::stxa({{Mem.udw = Rd}}, {{EXT_ASI}});
|
||||
0x1F: LoadStoreAlt::swapa(
|
||||
{{uReg0 = Rd.uw;
|
||||
Rd.uw = Mem.uw;}},
|
||||
{{Mem.uw = uReg0;}}, {{EXT_ASI}});
|
||||
{{ uReg0 = Mem.uw}},
|
||||
{{ Mem.uw = Rd.uw;
|
||||
Rd.uw = uReg0;}}, {{EXT_ASI}});
|
||||
format Trap {
|
||||
0x20: Load::ldf({{Frd.uw = Mem.uw;}});
|
||||
0x20: Load::ldf({{Frds.uw = Mem.uw;}});
|
||||
0x21: decode X {
|
||||
0x0: Load::ldfsr({{Fsr = Mem.uw | Fsr<63:32>;}});
|
||||
0x1: Load::ldxfsr({{Fsr = Mem.udw;}});
|
||||
}
|
||||
0x22: ldqf({{fault = new FpDisabled;}});
|
||||
0x23: Load::lddf({{Frd.udw = Mem.udw;}});
|
||||
0x24: Store::stf({{Mem.uw = Frd.uw;}});
|
||||
0x24: Store::stf({{Mem.uw = Frds.uw;}});
|
||||
0x25: decode X {
|
||||
0x0: Store::stfsr({{Mem.uw = Fsr<31:0>;}});
|
||||
0x1: Store::stxfsr({{Mem.udw = Fsr;}});
|
||||
|
@ -1122,7 +1123,7 @@ decode OP default Unknown::unknown()
|
|||
0x26: stqf({{fault = new FpDisabled;}});
|
||||
0x27: Store::stdf({{Mem.udw = Frd.udw;}});
|
||||
0x2D: Nop::prefetch({{ }});
|
||||
0x30: LoadAlt::ldfa({{Frd.uw = Mem.uw;}}, {{EXT_ASI}});
|
||||
0x30: LoadAlt::ldfa({{Frds.uw = Mem.uw;}}, {{EXT_ASI}});
|
||||
0x32: ldqfa({{fault = new FpDisabled;}});
|
||||
format LoadAlt {
|
||||
0x33: decode EXT_ASI {
|
||||
|
@ -1205,7 +1206,7 @@ decode OP default Unknown::unknown()
|
|||
{{fault = new DataAccessException;}});
|
||||
}
|
||||
}
|
||||
0x34: Store::stfa({{Mem.uw = Frd.uw;}});
|
||||
0x34: Store::stfa({{Mem.uw = Frds.uw;}});
|
||||
0x36: stqfa({{fault = new FpDisabled;}});
|
||||
format StoreAlt {
|
||||
0x37: decode EXT_ASI {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2006 The Regents of The University of Michigan
|
||||
// Copyright (c) 2006-2007 The Regents of The University of Michigan
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
|
@ -38,6 +38,7 @@ def template BasicExecPanic {{
|
|||
Fault execute(%(CPU_exec_context)s *, Trace::InstRecord *) const
|
||||
{
|
||||
panic("Execute method called when it shouldn't!");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
}};
|
||||
|
||||
|
@ -71,6 +72,7 @@ def template BasicExecute {{
|
|||
{
|
||||
Fault fault = NoFault;
|
||||
|
||||
%(fp_enable_check)s;
|
||||
%(op_decl)s;
|
||||
%(op_rd)s;
|
||||
%(code)s;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2006 The Regents of The University of Michigan
|
||||
// Copyright (c) 2006-2007 The Regents of The University of Michigan
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
|
@ -154,7 +154,7 @@ output decoder {{
|
|||
bool IntOp::printPseudoOps(std::ostream &os, Addr pc,
|
||||
const SymbolTable *symbab) const
|
||||
{
|
||||
if(!strcmp(mnemonic, "or") && _srcRegIdx[0] == 0)
|
||||
if(!std::strcmp(mnemonic, "or") && _srcRegIdx[0] == 0)
|
||||
{
|
||||
printMnemonic(os, "mov");
|
||||
printSrcReg(os, 1);
|
||||
|
@ -168,7 +168,7 @@ output decoder {{
|
|||
bool IntOpImm::printPseudoOps(std::ostream &os, Addr pc,
|
||||
const SymbolTable *symbab) const
|
||||
{
|
||||
if(!strcmp(mnemonic, "or"))
|
||||
if(!std::strcmp(mnemonic, "or"))
|
||||
{
|
||||
if(_numSrcRegs > 0 && _srcRegIdx[0] == 0)
|
||||
{
|
||||
|
|
|
@ -476,7 +476,6 @@ let {{
|
|||
faultCode = ''
|
||||
return (header_output, decoder_output, exec_output, decode_block)
|
||||
|
||||
|
||||
def doTwinLoadFormat(code, faultCode, name, Name, asi, opt_flags):
|
||||
addrCalcReg = 'EA = Rs1 + Rs2 + offset;'
|
||||
addrCalcImm = 'EA = Rs1 + imm + offset;'
|
||||
|
@ -492,10 +491,11 @@ let {{
|
|||
pcedCode = ''
|
||||
if (microPc == 1):
|
||||
flag_code = "flags[IsLastMicroOp] = true;"
|
||||
pcedCode = matcher.sub("RdHigh", code)
|
||||
pcedCode = "RdLow = uReg0;\n"
|
||||
pcedCode += matcher.sub("RdHigh", code)
|
||||
else:
|
||||
flag_code = "flags[IsDelayedCommit] = true; flags[IsFirstMicroOp] = true;"
|
||||
pcedCode = matcher.sub("RdLow", code)
|
||||
pcedCode = matcher.sub("uReg0", code)
|
||||
iop = InstObjParams(name, Name, 'TwinMem',
|
||||
{"code": pcedCode, "ea_code": addrCalcReg,
|
||||
"fault_check": faultCode, "micro_pc": microPc,
|
||||
|
|
|
@ -141,6 +141,7 @@ def template LoadExecute {{
|
|||
{
|
||||
Fault fault = NoFault;
|
||||
Addr EA;
|
||||
%(fp_enable_check)s;
|
||||
%(op_decl)s;
|
||||
%(op_rd)s;
|
||||
%(ea_code)s;
|
||||
|
@ -170,6 +171,7 @@ def template LoadInitiateAcc {{
|
|||
{
|
||||
Fault fault = NoFault;
|
||||
Addr EA;
|
||||
%(fp_enable_check)s;
|
||||
%(op_decl)s;
|
||||
%(op_rd)s;
|
||||
%(ea_code)s;
|
||||
|
@ -210,6 +212,7 @@ def template StoreExecute {{
|
|||
//It should be optomized out in all the others
|
||||
bool storeCond = true;
|
||||
Addr EA;
|
||||
%(fp_enable_check)s;
|
||||
%(op_decl)s;
|
||||
%(op_rd)s;
|
||||
%(ea_code)s;
|
||||
|
@ -241,6 +244,7 @@ def template StoreInitiateAcc {{
|
|||
Fault fault = NoFault;
|
||||
bool storeCond = true;
|
||||
Addr EA;
|
||||
%(fp_enable_check)s;
|
||||
%(op_decl)s;
|
||||
%(op_rd)s;
|
||||
%(ea_code)s;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) 2006 The Regents of The University of Michigan
|
||||
// Copyright (c) 2006-2007 The Regents of The University of Michigan
|
||||
// All rights reserved.
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
//
|
||||
|
||||
output header {{
|
||||
#include <cstring>
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
|
||||
|
@ -64,7 +65,9 @@ output exec {{
|
|||
#if defined(linux)
|
||||
#include <fenv.h>
|
||||
#endif
|
||||
#include <limits>
|
||||
|
||||
#include <cmath>
|
||||
#include "arch/sparc/asi.hh"
|
||||
#include "cpu/base.hh"
|
||||
#include "cpu/exetrace.hh"
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace SparcISA
|
|||
// These enumerate all the registers for dependence tracking.
|
||||
enum DependenceTags {
|
||||
FP_Base_DepTag = 32*3+8,
|
||||
Ctrl_Base_DepTag = FP_Base_DepTag + 64,
|
||||
Ctrl_Base_DepTag = FP_Base_DepTag + 64
|
||||
};
|
||||
|
||||
// semantically meaningful register indices
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
* Authors: Ali Saidi
|
||||
*/
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "arch/sparc/asi.hh"
|
||||
#include "arch/sparc/miscregfile.hh"
|
||||
#include "arch/sparc/tlb.hh"
|
||||
|
@ -53,7 +55,7 @@ TLB::TLB(const std::string &name, int s)
|
|||
fatal("SPARC T1 TLB registers don't support more than 64 TLB entries.");
|
||||
|
||||
tlb = new TlbEntry[size];
|
||||
memset(tlb, 0, sizeof(TlbEntry) * size);
|
||||
std::memset(tlb, 0, sizeof(TlbEntry) * size);
|
||||
|
||||
for (int x = 0; x < size; x++)
|
||||
freeList.push_back(&tlb[x]);
|
||||
|
@ -170,8 +172,8 @@ insertAllLocked:
|
|||
freeList.remove(new_entry);
|
||||
if (new_entry->valid && new_entry->used)
|
||||
usedEntries--;
|
||||
|
||||
lookupTable.erase(new_entry->range);
|
||||
if (new_entry->valid)
|
||||
lookupTable.erase(new_entry->range);
|
||||
|
||||
|
||||
assert(PTE.valid());
|
||||
|
@ -577,6 +579,9 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
|
|||
DPRINTF(TLB, "TLB: DTB Request to translate va=%#x size=%d asi=%#x\n",
|
||||
vaddr, size, asi);
|
||||
|
||||
if (lookupTable.size() != 64 - freeList.size())
|
||||
panic("Lookup table size: %d tlb size: %d\n", lookupTable.size(),
|
||||
freeList.size());
|
||||
if (asi == ASI_IMPLICIT)
|
||||
implicit = true;
|
||||
|
||||
|
|
|
@ -135,6 +135,19 @@ class TlbMap
|
|||
{
|
||||
return tree.empty();
|
||||
}
|
||||
|
||||
void print()
|
||||
{
|
||||
iterator i;
|
||||
i = tree.begin();
|
||||
while (i != tree.end()) {
|
||||
std::cout << std::hex << i->first.va << " " << i->first.size << " " <<
|
||||
i->first.contextId << " " << i->first.partitionId << " " <<
|
||||
i->first.real << " " << i->second << std::endl;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
|
|
@ -48,7 +48,6 @@ MiscRegFile::setFSRegWithEffect(int miscReg, const MiscReg &val,
|
|||
case MISCREG_SOFTINT_CLR:
|
||||
return setRegWithEffect(MISCREG_SOFTINT, ~val & softint, tc);
|
||||
case MISCREG_SOFTINT_SET:
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
tc->getCpuPtr()->post_interrupt(soft_interrupt);
|
||||
return setRegWithEffect(MISCREG_SOFTINT, val | softint, tc);
|
||||
|
||||
|
@ -78,15 +77,9 @@ MiscRegFile::setFSRegWithEffect(int miscReg, const MiscReg &val,
|
|||
break;
|
||||
|
||||
case MISCREG_PSTATE:
|
||||
if (val & PSTATE::ie && !(pstate & PSTATE::ie)) {
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
}
|
||||
setReg(miscReg, val);
|
||||
|
||||
case MISCREG_PIL:
|
||||
if (val < pil) {
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
}
|
||||
setReg(miscReg, val);
|
||||
break;
|
||||
|
||||
|
@ -110,7 +103,7 @@ MiscRegFile::setFSRegWithEffect(int miscReg, const MiscReg &val,
|
|||
case MISCREG_QUEUE_NRES_ERROR_HEAD:
|
||||
case MISCREG_QUEUE_NRES_ERROR_TAIL:
|
||||
setReg(miscReg, val);
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
//do something to post mondo interrupt
|
||||
break;
|
||||
|
||||
case MISCREG_HSTICK_CMPR:
|
||||
|
@ -206,7 +199,6 @@ MiscRegFile::processSTickCompare(ThreadContext *tc)
|
|||
(stick_cmpr & mask(63)));
|
||||
if (!(tc->readMiscReg(MISCREG_STICK_CMPR) & (ULL(1) << 63))) {
|
||||
tc->getCpuPtr()->post_interrupt(soft_interrupt);
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
setRegWithEffect(MISCREG_SOFTINT, softint | (ULL(1) << 16), tc);
|
||||
}
|
||||
} else
|
||||
|
@ -230,7 +222,6 @@ MiscRegFile::processHSTickCompare(ThreadContext *tc)
|
|||
if (!(tc->readMiscReg(MISCREG_HSTICK_CMPR) & (ULL(1) << 63))) {
|
||||
setRegWithEffect(MISCREG_HINTP, 1, tc);
|
||||
tc->getCpuPtr()->post_interrupt(hstick_match);
|
||||
tc->getCpuPtr()->checkInterrupts = true;
|
||||
}
|
||||
// Need to do something to cause interrupt to happen here !!! @todo
|
||||
} else
|
||||
|
|
|
@ -50,7 +50,7 @@ namespace SparcISA
|
|||
|
||||
inline ExtMachInst
|
||||
makeExtMI(MachInst inst, ThreadContext * xc) {
|
||||
ExtMachInst emi = (unsigned MachInst) inst;
|
||||
ExtMachInst emi = (MachInst) inst;
|
||||
//The I bit, bit 13, is used to figure out where the ASI
|
||||
//should come from. Use that in the ExtMachInst. This is
|
||||
//slightly redundant, but it removes the need to put a condition
|
||||
|
|
52
src/base/compiler.hh
Normal file
52
src/base/compiler.hh
Normal file
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* Copyright (c) 2006 The Regents of The University of Michigan
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are
|
||||
* met: redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer;
|
||||
* redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution;
|
||||
* neither the name of the copyright holders nor the names of its
|
||||
* contributors may be used to endorse or promote products derived from
|
||||
* this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
* Authors: Ali Saidi
|
||||
*/
|
||||
|
||||
#ifndef __BASE_COMPILER_HH__
|
||||
#define __BASE_COMPILER_HH__
|
||||
|
||||
//http://msdn2.microsoft.com/en-us/library/ms937669.aspx
|
||||
//http://msdn2.microsoft.com/en-us/library/aa448724.aspx
|
||||
//http://docs.sun.com/source/819-3688/sun.specific.html#marker-998278
|
||||
//http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Function-Attributes.html#Function%20Attributes
|
||||
|
||||
#if defined(__GNUC__)
|
||||
#define M5_ATTR_NORETURN __attribute__((noreturn))
|
||||
#define M5_PRAGMA_NORETURN(x)
|
||||
#define M5_DUMMY_RETURN
|
||||
#elif defined(__SUNPRO_CC)
|
||||
// this doesn't do anything with sun cc, but why not
|
||||
#define M5_ATTR_NORETURN __sun_attr__((__noreturn__))
|
||||
#define M5_DUMMY_RETURN return (0);
|
||||
#define M5_PRAGMA_NORETURN(x) _Pragma("does_not_return(x)")
|
||||
#else
|
||||
#error "Need to define compiler options in base/compiler.hh"
|
||||
#endif
|
||||
|
||||
#endif // __BASE_COMPILER_HH__
|
|
@ -32,8 +32,8 @@
|
|||
* LZSSCompression definitions.
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include <cassert>
|
||||
#include <cstring>
|
||||
#include "base/compression/lzss_compression.hh"
|
||||
|
||||
#include "base/misc.hh" //for fatal
|
||||
|
@ -134,7 +134,7 @@ LZSSCompression::compress(uint8_t *dest, uint8_t *src, int size)
|
|||
|
||||
if (dest_index >= size) {
|
||||
// Have expansion instead of compression, just copy.
|
||||
memcpy(dest,src,size);
|
||||
std::memcpy(dest,src,size);
|
||||
return size;
|
||||
}
|
||||
return dest_index;
|
||||
|
|
|
@ -50,11 +50,13 @@ class NullCompression : public CompressionAlgorithm
|
|||
int uncompress(uint8_t * dest, uint8_t *src, int size)
|
||||
{
|
||||
fatal("Can't uncompress data");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
int compress(uint8_t *dest, uint8_t *src, int size)
|
||||
{
|
||||
fatal("Can't compress data");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -136,10 +136,10 @@ operator,(ArgList &alist, ArgListNull)
|
|||
inline void
|
||||
__cprintf(const std::string &format, ArgList &args)
|
||||
{ args.dump(format); delete &args; }
|
||||
#define __cprintf__(format, args...) \
|
||||
cp::__cprintf(format, (*(new cp::ArgList), args))
|
||||
#define cprintf(args...) \
|
||||
__cprintf__(args, cp::ArgListNull())
|
||||
#define __cprintf__(format, ...) \
|
||||
cp::__cprintf(format, (*(new cp::ArgList), __VA_ARGS__))
|
||||
#define cprintf(...) \
|
||||
__cprintf__(__VA_ARGS__, cp::ArgListNull())
|
||||
|
||||
//
|
||||
// ccprintf(stream, format, args, ...) prints to the specified stream
|
||||
|
@ -148,10 +148,10 @@ __cprintf(const std::string &format, ArgList &args)
|
|||
inline void
|
||||
__ccprintf(std::ostream &stream, const std::string &format, ArgList &args)
|
||||
{ args.dump(stream, format); delete &args; }
|
||||
#define __ccprintf__(stream, format, args...) \
|
||||
cp::__ccprintf(stream, format, (*(new cp::ArgList), args))
|
||||
#define ccprintf(stream, args...) \
|
||||
__ccprintf__(stream, args, cp::ArgListNull())
|
||||
#define __ccprintf__(stream, format, ...) \
|
||||
cp::__ccprintf(stream, format, (*(new cp::ArgList), __VA_ARGS__))
|
||||
#define ccprintf(stream, ...) \
|
||||
__ccprintf__(stream, __VA_ARGS__, cp::ArgListNull())
|
||||
|
||||
//
|
||||
// csprintf(format, args, ...) returns a string
|
||||
|
@ -160,10 +160,10 @@ __ccprintf(std::ostream &stream, const std::string &format, ArgList &args)
|
|||
inline std::string
|
||||
__csprintf(const std::string &format, ArgList &args)
|
||||
{ std::string s = args.dumpToString(format); delete &args; return s; }
|
||||
#define __csprintf__(format, args...) \
|
||||
cp::__csprintf(format, (*(new cp::ArgList), args))
|
||||
#define csprintf(args...) \
|
||||
__csprintf__(args, cp::ArgListNull())
|
||||
#define __csprintf__(format, ...) \
|
||||
cp::__csprintf(format, (*(new cp::ArgList), __VA_ARGS__))
|
||||
#define csprintf(...) \
|
||||
__csprintf__(__VA_ARGS__, cp::ArgListNull())
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace m5 {
|
|||
//
|
||||
|
||||
namespace __hash_namespace {
|
||||
#if !defined(__LP64__) && !defined(__alpha__)
|
||||
#if !defined(__LP64__) && !defined(__alpha__) && !defined(__SUNPRO_CC)
|
||||
template<>
|
||||
struct hash<uint64_t> {
|
||||
size_t operator()(uint64_t r) const {
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#include <math.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <stdio.h>
|
||||
#include <cstdlib>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
|
|
|
@ -101,7 +101,7 @@ ObjectFile::close()
|
|||
}
|
||||
|
||||
if (fileData) {
|
||||
::munmap(fileData, len);
|
||||
::munmap((char*)fileData, len);
|
||||
fileData = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ createObjectFile(const string &fname, bool raw)
|
|||
|
||||
// don't know what it is
|
||||
close(fd);
|
||||
munmap(fileData, len);
|
||||
munmap((char*)fileData, len);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -33,8 +33,13 @@
|
|||
#define __MISC_HH__
|
||||
|
||||
#include <assert.h>
|
||||
#include "base/compiler.hh"
|
||||
#include "base/cprintf.hh"
|
||||
|
||||
#if defined(__SUNPRO_CC)
|
||||
#define __FUNCTION__ "how to fix me?"
|
||||
#endif
|
||||
|
||||
//
|
||||
// This implements a cprintf based panic() function. panic() should
|
||||
// be called when something happens that should never ever happen
|
||||
|
@ -43,12 +48,13 @@
|
|||
//
|
||||
//
|
||||
void __panic(const std::string&, cp::ArgList &, const char*, const char*, int)
|
||||
__attribute__((noreturn));
|
||||
#define __panic__(format, args...) \
|
||||
__panic(format, (*(new cp::ArgList), args), \
|
||||
__FUNCTION__, __FILE__, __LINE__)
|
||||
#define panic(args...) \
|
||||
__panic__(args, cp::ArgListNull())
|
||||
M5_ATTR_NORETURN;
|
||||
#define __panic__(format, ...) \
|
||||
__panic(format, (*(new cp::ArgList), __VA_ARGS__), \
|
||||
__FUNCTION__ , __FILE__, __LINE__)
|
||||
#define panic(...) \
|
||||
__panic__(__VA_ARGS__, cp::ArgListNull())
|
||||
M5_PRAGMA_NORETURN(__panic)
|
||||
|
||||
//
|
||||
// This implements a cprintf based fatal() function. fatal() should
|
||||
|
@ -59,32 +65,33 @@ void __panic(const std::string&, cp::ArgList &, const char*, const char*, int)
|
|||
// panic() does.
|
||||
//
|
||||
void __fatal(const std::string&, cp::ArgList &, const char*, const char*, int)
|
||||
__attribute__((noreturn));
|
||||
#define __fatal__(format, args...) \
|
||||
__fatal(format, (*(new cp::ArgList), args), \
|
||||
__FUNCTION__, __FILE__, __LINE__)
|
||||
#define fatal(args...) \
|
||||
__fatal__(args, cp::ArgListNull())
|
||||
M5_ATTR_NORETURN;
|
||||
#define __fatal__(format, ...) \
|
||||
__fatal(format, (*(new cp::ArgList), __VA_ARGS__), \
|
||||
__FUNCTION__ , __FILE__, __LINE__)
|
||||
#define fatal(...) \
|
||||
__fatal__(__VA_ARGS__, cp::ArgListNull())
|
||||
M5_PRAGMA_NORETURN(__fatal)
|
||||
|
||||
//
|
||||
// This implements a cprintf based warn
|
||||
//
|
||||
void __warn(const std::string&, cp::ArgList &, const char*, const char*, int);
|
||||
#define __warn__(format, args...) \
|
||||
__warn(format, (*(new cp::ArgList), args), \
|
||||
__FUNCTION__, __FILE__, __LINE__)
|
||||
#define warn(args...) \
|
||||
__warn__(args, cp::ArgListNull())
|
||||
#define __warn__(format, ...) \
|
||||
__warn(format, (*(new cp::ArgList), __VA_ARGS__), \
|
||||
__FUNCTION__ , __FILE__, __LINE__)
|
||||
#define warn(...) \
|
||||
__warn__(__VA_ARGS__, cp::ArgListNull())
|
||||
|
||||
// Only print the warning message the first time it is seen. This
|
||||
// doesn't check the warning string itself, it just only lets one
|
||||
// warning come from the statement. So, even if the arguments change
|
||||
// and that would have resulted in a different warning message,
|
||||
// subsequent messages would still be supressed.
|
||||
#define warn_once(args...) do { \
|
||||
#define warn_once(...) do { \
|
||||
static bool once = false; \
|
||||
if (!once) { \
|
||||
__warn__(args, cp::ArgListNull()); \
|
||||
__warn__(__VA_ARGS__, cp::ArgListNull()); \
|
||||
once = true; \
|
||||
} \
|
||||
} while (0)
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#if defined(__sun__)
|
||||
#if defined(__sun__) || defined(__SUNPRO_CC)
|
||||
#include <sys/file.h>
|
||||
#endif
|
||||
|
||||
|
|
|
@ -29,12 +29,17 @@
|
|||
* Ali Saidi
|
||||
*/
|
||||
|
||||
#if defined(__sun)
|
||||
#include <ieeefp.h>
|
||||
#endif
|
||||
#ifdef __SUNPRO_CC
|
||||
#include <stdlib.h>
|
||||
#include <math.h>
|
||||
#endif
|
||||
|
||||
#include <cstdlib>
|
||||
#include <cmath>
|
||||
|
||||
#if defined(__sun__)
|
||||
#include <ieeefp.h>
|
||||
#endif
|
||||
|
||||
#include "sim/param.hh"
|
||||
#include "base/random.hh"
|
||||
|
@ -72,7 +77,7 @@ getLong()
|
|||
double
|
||||
m5round(double r)
|
||||
{
|
||||
#if defined(__sun__)
|
||||
#if defined(__sun)
|
||||
double val;
|
||||
fp_rnd oldrnd = fpsetround(FP_RN);
|
||||
val = rint(r);
|
||||
|
|
|
@ -631,7 +631,7 @@ BaseRemoteGDB::trap(int type)
|
|||
uint64_t val;
|
||||
size_t datalen, len;
|
||||
char data[GDBPacketBufLen + 1];
|
||||
char buffer[gdbregs.bytes() * 2 + 256];
|
||||
char *buffer;
|
||||
const char *p;
|
||||
char command, subcmd;
|
||||
string var;
|
||||
|
@ -640,6 +640,8 @@ BaseRemoteGDB::trap(int type)
|
|||
if (!attached)
|
||||
return false;
|
||||
|
||||
buffer = (char*)malloc(gdbregs.bytes() * 2 + 256);
|
||||
|
||||
DPRINTF(GDBMisc, "trap: PC=%#x NPC=%#x\n",
|
||||
context->readPC(), context->readNextPC());
|
||||
|
||||
|
@ -937,6 +939,7 @@ BaseRemoteGDB::trap(int type)
|
|||
}
|
||||
|
||||
out:
|
||||
free(buffer);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,6 +50,9 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include <cassert>
|
||||
#ifdef __SUNPRO_CC
|
||||
#include <math.h>
|
||||
#endif
|
||||
#include <cmath>
|
||||
#include <functional>
|
||||
#include <iosfwd>
|
||||
|
@ -1410,7 +1413,7 @@ struct DistStor
|
|||
else if (val > params.max)
|
||||
overflow += number;
|
||||
else {
|
||||
int index = (int)floor((val - params.min) / params.bucket_size);
|
||||
int index = (int)std::floor((val - params.min) / params.bucket_size);
|
||||
assert(index < size(params));
|
||||
cvec[index] += number;
|
||||
}
|
||||
|
|
|
@ -32,6 +32,10 @@
|
|||
#define _GLIBCPP_USE_C99 1
|
||||
#endif
|
||||
|
||||
#if defined(__sun)
|
||||
#include <math.h>
|
||||
#endif
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
|
|
|
@ -105,7 +105,11 @@ Time::date(string format) const
|
|||
char buf[256];
|
||||
|
||||
if (format.empty()) {
|
||||
#ifdef __SUNPRO_CC
|
||||
ctime_r(&sec, buf, 256);
|
||||
#else
|
||||
ctime_r(&sec, buf);
|
||||
#endif
|
||||
buf[24] = '\0';
|
||||
return buf;
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ std::ostream &operator<<(std::ostream &out, const Time &time);
|
|||
* @(#)time.h 8.2 (Berkeley) 7/10/94
|
||||
*/
|
||||
|
||||
#if defined(__sun__)
|
||||
#if defined(__sun)
|
||||
#define timersub(tvp, uvp, vvp) \
|
||||
do { \
|
||||
(vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
#define __BASE_TIMEBUF_HH__
|
||||
|
||||
#include <cassert>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
|
||||
template <class T>
|
||||
|
@ -143,7 +144,7 @@ class TimeBuffer
|
|||
char *ptr = data;
|
||||
for (int i = 0; i < size; i++) {
|
||||
index[i] = ptr;
|
||||
memset(ptr, 0, sizeof(T));
|
||||
std::memset(ptr, 0, sizeof(T));
|
||||
new (ptr) T;
|
||||
ptr += sizeof(T);
|
||||
}
|
||||
|
@ -171,7 +172,7 @@ class TimeBuffer
|
|||
if (ptr >= size)
|
||||
ptr -= size;
|
||||
(reinterpret_cast<T *>(index[ptr]))->~T();
|
||||
memset(index[ptr], 0, sizeof(T));
|
||||
std::memset(index[ptr], 0, sizeof(T));
|
||||
new (index[ptr]) T;
|
||||
}
|
||||
|
||||
|
|
|
@ -186,39 +186,39 @@ do { \
|
|||
Trace::dataDump(curTick, name(), data, count); \
|
||||
} while (0)
|
||||
|
||||
#define __dprintf(cycle, name, format, args...) \
|
||||
Trace::dprintf(format, (*(new cp::ArgList), args), cycle, name)
|
||||
#define __dprintf(cycle, name, format, ...) \
|
||||
Trace::dprintf(format, (*(new cp::ArgList), __VA_ARGS__), cycle, name)
|
||||
|
||||
#define DPRINTF(x, args...) \
|
||||
#define DPRINTF(x, ...) \
|
||||
do { \
|
||||
if (Trace::IsOn(Trace::x)) \
|
||||
__dprintf(curTick, name(), args, cp::ArgListNull()); \
|
||||
__dprintf(curTick, name(), __VA_ARGS__, cp::ArgListNull()); \
|
||||
} while (0)
|
||||
|
||||
#define DPRINTFR(x, args...) \
|
||||
#define DPRINTFR(x, ...) \
|
||||
do { \
|
||||
if (Trace::IsOn(Trace::x)) \
|
||||
__dprintf((Tick)-1, std::string(), args, cp::ArgListNull()); \
|
||||
__dprintf((Tick)-1, std::string(), __VA_ARGS__, cp::ArgListNull()); \
|
||||
} while (0)
|
||||
|
||||
#define DPRINTFN(args...) \
|
||||
#define DPRINTFN(...) \
|
||||
do { \
|
||||
__dprintf(curTick, name(), args, cp::ArgListNull()); \
|
||||
__dprintf(curTick, name(), __VA_ARGS__, cp::ArgListNull()); \
|
||||
} while (0)
|
||||
|
||||
#define DPRINTFNR(args...) \
|
||||
#define DPRINTFNR(...) \
|
||||
do { \
|
||||
__dprintf((Tick)-1, string(), args, cp::ArgListNull()); \
|
||||
__dprintf((Tick)-1, string(), __VA_ARGS__, cp::ArgListNull()); \
|
||||
} while (0)
|
||||
|
||||
#else // !TRACING_ON
|
||||
|
||||
#define DTRACE(x) (false)
|
||||
#define DCOUT(x) if (0) DebugOut()
|
||||
#define DPRINTF(x, args...) do {} while (0)
|
||||
#define DPRINTFR(args...) do {} while (0)
|
||||
#define DPRINTFN(args...) do {} while (0)
|
||||
#define DPRINTFNR(args...) do {} while (0)
|
||||
#define DPRINTF(x, ...) do {} while (0)
|
||||
#define DPRINTFR(...) do {} while (0)
|
||||
#define DPRINTFN(...) do {} while (0)
|
||||
#define DPRINTFNR(...) do {} while (0)
|
||||
#define DDUMP(x, data, count) do {} while (0)
|
||||
|
||||
#endif // TRACING_ON
|
||||
|
|
|
@ -54,18 +54,18 @@ execfile(models_db.srcnode().abspath)
|
|||
exec_sig_template = '''
|
||||
virtual Fault execute(%s *xc, Trace::InstRecord *traceData) const = 0;
|
||||
virtual Fault initiateAcc(%s *xc, Trace::InstRecord *traceData) const
|
||||
{ panic("initiateAcc not defined!"); };
|
||||
{ panic("initiateAcc not defined!"); M5_DUMMY_RETURN };
|
||||
virtual Fault completeAcc(Packet *pkt, %s *xc,
|
||||
Trace::InstRecord *traceData) const
|
||||
{ panic("completeAcc not defined!"); };
|
||||
{ panic("completeAcc not defined!"); M5_DUMMY_RETURN };
|
||||
'''
|
||||
|
||||
mem_ini_sig_template = '''
|
||||
virtual Fault initiateAcc(%s *xc, Trace::InstRecord *traceData) const { panic("Not defined!"); };
|
||||
virtual Fault initiateAcc(%s *xc, Trace::InstRecord *traceData) const { panic("Not defined!"); M5_DUMMY_RETURN };
|
||||
'''
|
||||
|
||||
mem_comp_sig_template = '''
|
||||
virtual Fault completeAcc(uint8_t *data, %s *xc, Trace::InstRecord *traceData) const { panic("Not defined!"); return NoFault; };
|
||||
virtual Fault completeAcc(uint8_t *data, %s *xc, Trace::InstRecord *traceData) const { panic("Not defined!"); return NoFault; M5_DUMMY_RETURN };
|
||||
'''
|
||||
|
||||
# Generate a temporary CPU list, including the CheckerCPU if
|
||||
|
|
|
@ -28,6 +28,8 @@
|
|||
* Authors: Kevin Lim
|
||||
*/
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "base/timebuf.hh"
|
||||
#include "cpu/activity.hh"
|
||||
|
||||
|
@ -37,7 +39,7 @@ ActivityRecorder::ActivityRecorder(int num_stages, int longest_latency,
|
|||
activityCount(activity), numStages(num_stages)
|
||||
{
|
||||
stageActive = new bool[numStages];
|
||||
memset(stageActive, 0, numStages);
|
||||
std::memset(stageActive, 0, numStages);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -114,7 +116,7 @@ void
|
|||
ActivityRecorder::reset()
|
||||
{
|
||||
activityCount = 0;
|
||||
memset(stageActive, 0, numStages);
|
||||
std::memset(stageActive, 0, numStages);
|
||||
for (int i = 0; i < longestLatency + 1; ++i)
|
||||
activityBuffer.advance();
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ CPUProgressEvent::description()
|
|||
|
||||
#if FULL_SYSTEM
|
||||
BaseCPU::BaseCPU(Params *p)
|
||||
: MemObject(p->name), clock(p->clock), instCnt(0), checkInterrupts(true),
|
||||
: MemObject(p->name), clock(p->clock), instCnt(0),
|
||||
params(p), number_of_threads(p->numberOfThreads), system(p->system),
|
||||
phase(p->phase)
|
||||
#else
|
||||
|
@ -334,7 +334,6 @@ BaseCPU::takeOverFrom(BaseCPU *oldCPU)
|
|||
|
||||
#if FULL_SYSTEM
|
||||
interrupts = oldCPU->interrupts;
|
||||
checkInterrupts = oldCPU->checkInterrupts;
|
||||
|
||||
for (int i = 0; i < threadContexts.size(); ++i)
|
||||
threadContexts[i]->profileClear();
|
||||
|
@ -371,7 +370,6 @@ BaseCPU::post_interrupt(int int_type)
|
|||
void
|
||||
BaseCPU::post_interrupt(int int_num, int index)
|
||||
{
|
||||
checkInterrupts = true;
|
||||
interrupts.post(int_num, index);
|
||||
}
|
||||
|
||||
|
|
|
@ -106,7 +106,6 @@ class BaseCPU : public MemObject
|
|||
virtual void post_interrupt(int int_num, int index);
|
||||
virtual void clear_interrupt(int int_num, int index);
|
||||
virtual void clear_interrupts();
|
||||
bool checkInterrupts;
|
||||
|
||||
bool check_interrupts(ThreadContext * tc) const
|
||||
{ return interrupts.check_interrupts(tc); }
|
||||
|
|
|
@ -295,7 +295,8 @@ Trace::InstRecord::dump(ostream &outs)
|
|||
bool diffPC = false;
|
||||
bool diffCC = false;
|
||||
bool diffInst = false;
|
||||
bool diffRegs = false;
|
||||
bool diffIntRegs = false;
|
||||
bool diffFpRegs = false;
|
||||
bool diffTpc = false;
|
||||
bool diffTnpc = false;
|
||||
bool diffTstate = false;
|
||||
|
@ -359,10 +360,15 @@ Trace::InstRecord::dump(ostream &outs)
|
|||
}
|
||||
for (int i = 0; i < TheISA::NumIntArchRegs; i++) {
|
||||
if (thread->readIntReg(i) != shared_data->intregs[i]) {
|
||||
diffRegs = true;
|
||||
diffIntRegs = true;
|
||||
}
|
||||
}
|
||||
uint64_t oldTl = thread->readMiscReg(MISCREG_TL);
|
||||
for (int i = 0; i < TheISA::NumFloatRegs/2; i++) {
|
||||
if (thread->readFloatRegBits(i,FloatRegFile::DoubleWidth) != shared_data->fpregs[i]) {
|
||||
diffFpRegs = true;
|
||||
}
|
||||
}
|
||||
uint64_t oldTl = thread->readMiscReg(MISCREG_TL);
|
||||
if (oldTl != shared_data->tl)
|
||||
diffTl = true;
|
||||
for (int i = 1; i <= MaxTL; i++) {
|
||||
|
@ -440,12 +446,12 @@ Trace::InstRecord::dump(ostream &outs)
|
|||
diffTlb = true;
|
||||
}
|
||||
|
||||
if ((diffPC || diffCC || diffInst || diffRegs || diffTpc ||
|
||||
diffTnpc || diffTstate || diffTt || diffHpstate ||
|
||||
diffHtstate || diffHtba || diffPstate || diffY ||
|
||||
diffCcr || diffTl || diffGl || diffAsi || diffPil ||
|
||||
diffCwp || diffCansave || diffCanrestore ||
|
||||
diffOtherwin || diffCleanwin || diffTlb)
|
||||
if ((diffPC || diffCC || diffInst || diffIntRegs ||
|
||||
diffFpRegs || diffTpc || diffTnpc || diffTstate ||
|
||||
diffTt || diffHpstate || diffHtstate || diffHtba ||
|
||||
diffPstate || diffY || diffCcr || diffTl || diffGl ||
|
||||
diffAsi || diffPil || diffCwp || diffCansave ||
|
||||
diffCanrestore || diffOtherwin || diffCleanwin || diffTlb)
|
||||
&& !((staticInst->machInst & 0xC1F80000) == 0x81D00000)
|
||||
&& !(((staticInst->machInst & 0xC0000000) == 0xC0000000)
|
||||
&& shared_data->tl == thread->readMiscReg(MISCREG_TL) + 1)
|
||||
|
@ -458,8 +464,10 @@ Trace::InstRecord::dump(ostream &outs)
|
|||
outs << " [CC]";
|
||||
if (diffInst)
|
||||
outs << " [Instruction]";
|
||||
if (diffRegs)
|
||||
if (diffIntRegs)
|
||||
outs << " [IntRegs]";
|
||||
if (diffFpRegs)
|
||||
outs << " [FpRegs]";
|
||||
if (diffTpc)
|
||||
outs << " [Tpc]";
|
||||
if (diffTnpc)
|
||||
|
@ -608,26 +616,22 @@ Trace::InstRecord::dump(ostream &outs)
|
|||
|
||||
printSectionHeader(outs, "General Purpose Registers");
|
||||
static const char * regtypes[4] = {"%g", "%o", "%l", "%i"};
|
||||
for(int y = 0; y < 4; y++)
|
||||
{
|
||||
for(int x = 0; x < 8; x++)
|
||||
{
|
||||
for(int y = 0; y < 4; y++) {
|
||||
for(int x = 0; x < 8; x++) {
|
||||
char label[8];
|
||||
sprintf(label, "%s%d", regtypes[y], x);
|
||||
printRegPair(outs, label,
|
||||
thread->readIntReg(y*8+x),
|
||||
shared_data->intregs[y*8+x]);
|
||||
/*outs << regtypes[y] << x << " " ;
|
||||
outs << "0x" << hex << setw(16)
|
||||
<< thread->readIntReg(y*8+x);
|
||||
if (thread->readIntReg(y*8 + x)
|
||||
!= shared_data->intregs[y*8+x])
|
||||
outs << " X ";
|
||||
else
|
||||
outs << " | ";
|
||||
outs << "0x" << setw(16) << hex
|
||||
<< shared_data->intregs[y*8+x]
|
||||
<< endl;*/
|
||||
}
|
||||
}
|
||||
if (diffFpRegs) {
|
||||
for (int x = 0; x < 32; x++) {
|
||||
char label[8];
|
||||
sprintf(label, "%%f%d", x);
|
||||
printRegPair(outs, label,
|
||||
thread->readFloatRegBits(x,FloatRegFile::DoubleWidth),
|
||||
shared_data->fpregs[x]);
|
||||
}
|
||||
}
|
||||
if (diffTlb) {
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#ifndef __EXETRACE_HH__
|
||||
#define __EXETRACE_HH__
|
||||
|
||||
#include <cstring>
|
||||
#include <fstream>
|
||||
#include <vector>
|
||||
|
||||
|
@ -169,7 +170,7 @@ InstRecord::setRegs(const IntRegFile ®s)
|
|||
if (!iregs)
|
||||
iregs = new iRegFile;
|
||||
|
||||
memcpy(&iregs->regs, ®s, sizeof(IntRegFile));
|
||||
std::memcpy(&iregs->regs, ®s, sizeof(IntRegFile));
|
||||
regs_valid = true;
|
||||
}
|
||||
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
#include <unistd.h>
|
||||
|
||||
#define VERSION 0xA1000007
|
||||
#define VERSION 0xA1000008
|
||||
#define OWN_M5 0x000000AA
|
||||
#define OWN_LEGION 0x00000055
|
||||
|
||||
|
@ -47,6 +47,7 @@ typedef struct {
|
|||
uint32_t instruction;
|
||||
uint32_t new_instruction;
|
||||
uint64_t intregs[32];
|
||||
uint64_t fpregs[32];
|
||||
|
||||
uint64_t tpc[8];
|
||||
uint64_t tnpc[8];
|
||||
|
|
|
@ -213,8 +213,6 @@ AlphaO3CPU<Impl>::hwrei(unsigned tid)
|
|||
|
||||
this->thread[tid]->kernelStats->hwrei();
|
||||
|
||||
this->checkInterrupts = true;
|
||||
|
||||
// FIXME: XXX check for interrupts? XXX
|
||||
return NoFault;
|
||||
}
|
||||
|
@ -266,7 +264,6 @@ AlphaO3CPU<Impl>::processInterrupts(Fault interrupt)
|
|||
this->interrupts.updateIntrInfo(this->threadContexts[0]);
|
||||
|
||||
DPRINTF(O3CPU, "Interrupt %s being handled\n", interrupt->name());
|
||||
this->checkInterrupts = false;
|
||||
this->trap(interrupt, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -672,8 +672,7 @@ DefaultCommit<Impl>::commit()
|
|||
} else {
|
||||
DPRINTF(Commit, "Interrupt pending, waiting for ROB to empty.\n");
|
||||
}
|
||||
} else if (cpu->checkInterrupts &&
|
||||
cpu->check_interrupts(cpu->tcBase(0)) &&
|
||||
} else if (cpu->check_interrupts(cpu->tcBase(0)) &&
|
||||
commitStatus[0] != TrapPending &&
|
||||
!trapSquash[0] &&
|
||||
!tcSquash[0]) {
|
||||
|
|
|
@ -241,7 +241,6 @@ SparcO3CPU<Impl>::processInterrupts(Fault interrupt)
|
|||
this->interrupts.updateIntrInfo(this->threadContexts[0]);
|
||||
|
||||
DPRINTF(O3CPU, "Interrupt %s being handled\n", interrupt->name());
|
||||
this->checkInterrupts = false;
|
||||
this->trap(interrupt, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -182,10 +182,6 @@ OzoneCPU<Impl>::OzoneCPU(Params *p)
|
|||
|
||||
globalSeqNum = 1;
|
||||
|
||||
#if FULL_SYSTEM
|
||||
checkInterrupts = false;
|
||||
#endif
|
||||
|
||||
lockFlag = 0;
|
||||
|
||||
// Setup rename table, initializing all values to ready.
|
||||
|
@ -684,8 +680,6 @@ OzoneCPU<Impl>::hwrei()
|
|||
lockAddrList.clear();
|
||||
thread.kernelStats->hwrei();
|
||||
|
||||
checkInterrupts = true;
|
||||
|
||||
// FIXME: XXX check for interrupts? XXX
|
||||
return NoFault;
|
||||
}
|
||||
|
@ -704,7 +698,6 @@ OzoneCPU<Impl>::processInterrupts()
|
|||
|
||||
if (interrupt != NoFault) {
|
||||
this->interrupts.updateIntrInfo(thread.getTC());
|
||||
this->checkInterrupts = false;
|
||||
interrupt->invoke(thread.getTC());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,7 +88,6 @@ InorderBackEnd<Impl>::checkInterrupts()
|
|||
int ipl = 0;
|
||||
int summary = 0;
|
||||
|
||||
cpu->checkInterrupts = false;
|
||||
|
||||
if (thread->readMiscReg(IPR_ASTRR))
|
||||
panic("asynchronous traps not implemented\n");
|
||||
|
@ -151,8 +150,7 @@ InorderBackEnd<Impl>::tick()
|
|||
// I'm waiting for it to drain. (for now just squash)
|
||||
#if FULL_SYSTEM
|
||||
if (interruptBlocked ||
|
||||
(cpu->checkInterrupts &&
|
||||
cpu->check_interrupts(tc))) {
|
||||
cpu->check_interrupts(tc)) {
|
||||
if (!robEmpty()) {
|
||||
interruptBlocked = true;
|
||||
//AlphaDep
|
||||
|
|
|
@ -311,12 +311,11 @@ void
|
|||
BaseSimpleCPU::checkForInterrupts()
|
||||
{
|
||||
#if FULL_SYSTEM
|
||||
if (checkInterrupts && check_interrupts(tc)) {
|
||||
if (check_interrupts(tc)) {
|
||||
Fault interrupt = interrupts.getInterrupt(tc);
|
||||
|
||||
if (interrupt != NoFault) {
|
||||
interrupts.updateIntrInfo(tc);
|
||||
checkInterrupts = false;
|
||||
interrupt->invoke(tc);
|
||||
}
|
||||
}
|
||||
|
@ -439,6 +438,8 @@ BaseSimpleCPU::advancePC(Fault fault)
|
|||
if (fault != NoFault) {
|
||||
curMacroStaticInst = StaticInst::nullStaticInstPtr;
|
||||
fault->invoke(tc);
|
||||
thread->setMicroPC(0);
|
||||
thread->setNextMicroPC(1);
|
||||
} else {
|
||||
//If we're at the last micro op for this instruction
|
||||
if (curStaticInst->isLastMicroOp()) {
|
||||
|
|
|
@ -186,7 +186,8 @@ class BaseSimpleCPU : public BaseCPU
|
|||
// These functions are only used in CPU models that split
|
||||
// effective address computation from the actual memory access.
|
||||
void setEA(Addr EA) { panic("BaseSimpleCPU::setEA() not implemented\n"); }
|
||||
Addr getEA() { panic("BaseSimpleCPU::getEA() not implemented\n"); }
|
||||
Addr getEA() { panic("BaseSimpleCPU::getEA() not implemented\n");
|
||||
M5_DUMMY_RETURN}
|
||||
|
||||
void prefetch(Addr addr, unsigned flags)
|
||||
{
|
||||
|
|
|
@ -57,25 +57,77 @@ using namespace std;
|
|||
//Should this be AlphaISA?
|
||||
using namespace TheISA;
|
||||
|
||||
TsunamiIO::RTC::RTC(const string &n, Tsunami* tsunami, time_t t, Tick i)
|
||||
: _name(n), event(tsunami, i), addr(0)
|
||||
TsunamiIO::RTC::RTC(const string &n, Tsunami* tsunami, const vector<int> &t,
|
||||
bool bcd, Tick i)
|
||||
: _name(n), event(tsunami, i), addr(0), year_is_bcd(bcd)
|
||||
{
|
||||
memset(clock_data, 0, sizeof(clock_data));
|
||||
stat_regA = RTCA_32768HZ | RTCA_1024HZ;
|
||||
stat_regB = RTCB_PRDC_IE |RTCB_BIN | RTCB_24HR;
|
||||
|
||||
if (year_is_bcd) {
|
||||
// The RTC uses BCD for the last two digits in the year.
|
||||
// They python year is a full year.
|
||||
int _year = t[0] % 100;
|
||||
int tens = _year / 10;
|
||||
int ones = _year % 10;
|
||||
|
||||
year = (tens << 4) + ones;
|
||||
} else {
|
||||
// Even though the datasheet says that the year field should be
|
||||
// interpreted as BCD, we just enter the number of years since
|
||||
// 1900 since linux seems to be happy with that (and I believe
|
||||
// that Tru64 was as well)
|
||||
year = t[0] - 1900;
|
||||
}
|
||||
|
||||
mon = t[1];
|
||||
mday = t[2];
|
||||
hour = t[3];
|
||||
min = t[4];
|
||||
sec = t[5];
|
||||
|
||||
// wday is defined to be in the range from 1 - 7 with 1 being Sunday.
|
||||
// the value coming from python is in the range from 0 - 6 with 0 being
|
||||
// Monday. Fix that here.
|
||||
wday = t[6] + 2;
|
||||
if (wday > 7)
|
||||
wday -= 7;
|
||||
|
||||
DPRINTFN("Real-time clock set to %s", getDateString());
|
||||
}
|
||||
|
||||
std::string
|
||||
TsunamiIO::RTC::getDateString()
|
||||
{
|
||||
struct tm tm;
|
||||
gmtime_r(&t, &tm);
|
||||
|
||||
sec = tm.tm_sec;
|
||||
min = tm.tm_min;
|
||||
hour = tm.tm_hour;
|
||||
wday = tm.tm_wday + 1;
|
||||
mday = tm.tm_mday;
|
||||
mon = tm.tm_mon + 1;
|
||||
year = tm.tm_year;
|
||||
memset(&tm, 0, sizeof(tm));
|
||||
|
||||
DPRINTFN("Real-time clock set to %s", asctime(&tm));
|
||||
if (year_is_bcd) {
|
||||
// undo the BCD and conver to years since 1900 guessing that
|
||||
// anything before 1970 is actually after 2000
|
||||
int _year = (year >> 4) * 10 + (year & 0xf);
|
||||
if (_year < 70)
|
||||
_year += 100;
|
||||
|
||||
tm.tm_year = _year;
|
||||
} else {
|
||||
// number of years since 1900
|
||||
tm.tm_year = year;
|
||||
}
|
||||
|
||||
// unix is 0-11 for month
|
||||
tm.tm_mon = mon - 1;
|
||||
tm.tm_mday = mday;
|
||||
tm.tm_hour = hour;
|
||||
tm.tm_min = min;
|
||||
tm.tm_sec = sec;
|
||||
|
||||
// to add more annoyance unix is 0 - 6 with 0 as sunday
|
||||
tm.tm_wday = wday - 1;
|
||||
|
||||
return asctime(&tm);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -424,7 +476,8 @@ TsunamiIO::PITimer::Counter::CounterEvent::description()
|
|||
|
||||
TsunamiIO::TsunamiIO(Params *p)
|
||||
: BasicPioDevice(p), tsunami(p->tsunami), pitimer(p->name + "pitimer"),
|
||||
rtc(p->name + ".rtc", p->tsunami, p->init_time, p->frequency)
|
||||
rtc(p->name + ".rtc", p->tsunami, p->init_time, p->year_is_bcd,
|
||||
p->frequency)
|
||||
{
|
||||
pioSize = 0x100;
|
||||
|
||||
|
@ -649,7 +702,8 @@ BEGIN_DECLARE_SIM_OBJECT_PARAMS(TsunamiIO)
|
|||
Param<Tick> frequency;
|
||||
SimObjectParam<Platform *> platform;
|
||||
SimObjectParam<System *> system;
|
||||
Param<time_t> time;
|
||||
VectorParam<int> time;
|
||||
Param<bool> year_is_bcd;
|
||||
SimObjectParam<Tsunami *> tsunami;
|
||||
|
||||
END_DECLARE_SIM_OBJECT_PARAMS(TsunamiIO)
|
||||
|
@ -662,6 +716,7 @@ BEGIN_INIT_SIM_OBJECT_PARAMS(TsunamiIO)
|
|||
INIT_PARAM(platform, "platform"),
|
||||
INIT_PARAM(system, "system object"),
|
||||
INIT_PARAM(time, "System time to use (0 for actual time"),
|
||||
INIT_PARAM(year_is_bcd, ""),
|
||||
INIT_PARAM(tsunami, "Tsunami")
|
||||
|
||||
END_INIT_SIM_OBJECT_PARAMS(TsunamiIO)
|
||||
|
@ -676,6 +731,7 @@ CREATE_SIM_OBJECT(TsunamiIO)
|
|||
p->platform = platform;
|
||||
p->system = system;
|
||||
p->init_time = time;
|
||||
p->year_is_bcd = year_is_bcd;
|
||||
p->tsunami = tsunami;
|
||||
return new TsunamiIO(p);
|
||||
}
|
||||
|
|
|
@ -85,6 +85,9 @@ class TsunamiIO : public BasicPioDevice
|
|||
/** Current RTC register address/index */
|
||||
int addr;
|
||||
|
||||
/** should the year be interpreted as BCD? */
|
||||
bool year_is_bcd;
|
||||
|
||||
/** Data for real-time clock function */
|
||||
union {
|
||||
uint8_t clock_data[10];
|
||||
|
@ -110,7 +113,8 @@ class TsunamiIO : public BasicPioDevice
|
|||
uint8_t stat_regB;
|
||||
|
||||
public:
|
||||
RTC(const std::string &name, Tsunami* tsunami, time_t t, Tick i);
|
||||
RTC(const std::string &name, Tsunami* tsunami,
|
||||
const std::vector<int> &t, bool bcd, Tick i);
|
||||
|
||||
/** RTC address port: write address of RTC RAM data to access */
|
||||
void writeAddr(const uint8_t data);
|
||||
|
@ -121,6 +125,9 @@ class TsunamiIO : public BasicPioDevice
|
|||
/** RTC read data */
|
||||
uint8_t readData();
|
||||
|
||||
/** RTC get the date */
|
||||
std::string getDateString();
|
||||
|
||||
/**
|
||||
* Serialize this object to the given output stream.
|
||||
* @param base The base name of the counter object.
|
||||
|
@ -313,8 +320,10 @@ class TsunamiIO : public BasicPioDevice
|
|||
{
|
||||
Tick frequency;
|
||||
Tsunami *tsunami;
|
||||
time_t init_time;
|
||||
std::vector<int> init_time;
|
||||
bool year_is_bcd;
|
||||
};
|
||||
|
||||
protected:
|
||||
const Params *params() const { return (const Params*)_params; }
|
||||
|
||||
|
|
|
@ -56,12 +56,14 @@ Tick
|
|||
BadDevice::read(PacketPtr pkt)
|
||||
{
|
||||
panic("Device %s not imlpmented\n", devname);
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
Tick
|
||||
BadDevice::write(PacketPtr pkt)
|
||||
{
|
||||
panic("Device %s not imlpmented\n", devname);
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
BEGIN_DECLARE_SIM_OBJECT_PARAMS(BadDevice)
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#if defined(linux)
|
||||
#include <endian.h>
|
||||
#elif defined(__sun__)
|
||||
#elif defined(__sun)
|
||||
#include <sys/isa_defs.h>
|
||||
#else
|
||||
#include <machine/endian.h>
|
||||
|
|
|
@ -109,7 +109,7 @@ class DmaPort : public Port
|
|||
|
||||
virtual bool recvTiming(PacketPtr pkt);
|
||||
virtual Tick recvAtomic(PacketPtr pkt)
|
||||
{ panic("dma port shouldn't be used for pio access."); }
|
||||
{ panic("dma port shouldn't be used for pio access."); M5_DUMMY_RETURN }
|
||||
virtual void recvFunctional(PacketPtr pkt)
|
||||
{ panic("dma port shouldn't be used for pio access."); }
|
||||
|
||||
|
|
|
@ -83,8 +83,10 @@ PciConfigAll::write(PacketPtr pkt)
|
|||
{
|
||||
assert(pkt->result == Packet::Unknown);
|
||||
panic("Attempting to write to config space on non-existant device\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PciConfigAll::addressRanges(AddrRangeList &range_list)
|
||||
{
|
||||
|
|
|
@ -37,6 +37,8 @@
|
|||
#ifndef __DEV_PCIDEV_HH__
|
||||
#define __DEV_PCIDEV_HH__
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "dev/io_device.hh"
|
||||
#include "dev/pcireg.h"
|
||||
#include "dev/platform.hh"
|
||||
|
@ -62,8 +64,8 @@ class PciConfigData : public SimObject
|
|||
PciConfigData(const std::string &name)
|
||||
: SimObject(name)
|
||||
{
|
||||
memset(config.data, 0, sizeof(config.data));
|
||||
memset(BARSize, 0, sizeof(BARSize));
|
||||
std::memset(config.data, 0, sizeof(config.data));
|
||||
std::memset(BARSize, 0, sizeof(BARSize));
|
||||
}
|
||||
|
||||
/** The first 64 bytes */
|
||||
|
|
|
@ -62,6 +62,7 @@ Addr
|
|||
Platform::pciToDma(Addr pciAddr) const
|
||||
{
|
||||
panic("No PCI dma support in platform.");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
* in legion. Any access is translated to an offset in the disk image.
|
||||
*/
|
||||
|
||||
#include <cstring>
|
||||
|
||||
#include "base/trace.hh"
|
||||
#include "dev/sparc/mm_disk.hh"
|
||||
#include "dev/platform.hh"
|
||||
|
@ -45,7 +47,7 @@
|
|||
MmDisk::MmDisk(Params *p)
|
||||
: BasicPioDevice(p), image(p->image), curSector((uint64_t)-1), dirty(false)
|
||||
{
|
||||
memset(&bytes, 0, SectorSize);
|
||||
std::memset(&bytes, 0, SectorSize);
|
||||
pioSize = image->size() * SectorSize;
|
||||
}
|
||||
|
||||
|
@ -99,6 +101,7 @@ Tick
|
|||
MmDisk::write(PacketPtr pkt)
|
||||
{
|
||||
panic("need to implement\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ Tick
|
|||
T1000::intrFrequency()
|
||||
{
|
||||
panic("Need implementation\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -89,6 +90,7 @@ Addr
|
|||
T1000::pciToDma(Addr pciAddr) const
|
||||
{
|
||||
panic("Need implementation\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
|
||||
|
@ -96,6 +98,7 @@ Addr
|
|||
T1000::calcConfigAddr(int bus, int dev, int func)
|
||||
{
|
||||
panic("Need implementation\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
void
|
||||
|
|
31
src/mem/cache/cache_impl.hh
vendored
31
src/mem/cache/cache_impl.hh
vendored
|
@ -40,6 +40,7 @@
|
|||
|
||||
#include <cassert>
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
|
||||
#include "sim/host.hh"
|
||||
|
@ -125,7 +126,7 @@ Cache<TagStore,Coherence>::handleAccess(PacketPtr &pkt, int & lat,
|
|||
assert(offset < blkSize);
|
||||
assert(pkt->getSize() <= blkSize);
|
||||
assert(offset+pkt->getSize() <= blkSize);
|
||||
memcpy(blk->data + offset, pkt->getPtr<uint8_t>(),
|
||||
std::memcpy(blk->data + offset, pkt->getPtr<uint8_t>(),
|
||||
pkt->getSize());
|
||||
} else if (!(pkt->flags & SATISFIED)) {
|
||||
pkt->flags |= SATISFIED;
|
||||
|
@ -133,7 +134,7 @@ Cache<TagStore,Coherence>::handleAccess(PacketPtr &pkt, int & lat,
|
|||
assert(offset < blkSize);
|
||||
assert(pkt->getSize() <= blkSize);
|
||||
assert(offset + pkt->getSize() <=blkSize);
|
||||
memcpy(pkt->getPtr<uint8_t>(), blk->data + offset,
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), blk->data + offset,
|
||||
pkt->getSize());
|
||||
}
|
||||
return blk;
|
||||
|
@ -176,7 +177,7 @@ Cache<TagStore,Coherence>::handleAccess(PacketPtr &pkt, int & lat,
|
|||
if (blk->checkWrite(pkt->req)) {
|
||||
write_data = true;
|
||||
blk->status |= BlkDirty;
|
||||
memcpy(blk->data + offset, pkt->getPtr<uint8_t>(),
|
||||
std::memcpy(blk->data + offset, pkt->getPtr<uint8_t>(),
|
||||
pkt->getSize());
|
||||
}
|
||||
} else {
|
||||
|
@ -184,7 +185,7 @@ Cache<TagStore,Coherence>::handleAccess(PacketPtr &pkt, int & lat,
|
|||
if (pkt->req->isLocked()) {
|
||||
blk->trackLoadLocked(pkt->req);
|
||||
}
|
||||
memcpy(pkt->getPtr<uint8_t>(), blk->data + offset,
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), blk->data + offset,
|
||||
pkt->getSize());
|
||||
}
|
||||
|
||||
|
@ -228,7 +229,7 @@ Cache<TagStore,Coherence>::handleFill(BlkType *blk, PacketPtr &pkt,
|
|||
|
||||
|
||||
if (pkt->isRead()) {
|
||||
memcpy(blk->data, pkt->getPtr<uint8_t>(), blkSize);
|
||||
std::memcpy(blk->data, pkt->getPtr<uint8_t>(), blkSize);
|
||||
}
|
||||
|
||||
blk->whenReady = pkt->finishTime;
|
||||
|
@ -249,14 +250,14 @@ Cache<TagStore,Coherence>::handleFill(BlkType *blk, PacketPtr &pkt,
|
|||
if (target->isWrite()) {
|
||||
if (blk->checkWrite(pkt->req)) {
|
||||
blk->status |= BlkDirty;
|
||||
memcpy(blk->data + target->getOffset(blkSize),
|
||||
std::memcpy(blk->data + target->getOffset(blkSize),
|
||||
target->getPtr<uint8_t>(), target->getSize());
|
||||
}
|
||||
} else {
|
||||
if (pkt->req->isLocked()) {
|
||||
blk->trackLoadLocked(pkt->req);
|
||||
}
|
||||
memcpy(target->getPtr<uint8_t>(),
|
||||
std::memcpy(target->getPtr<uint8_t>(),
|
||||
blk->data + target->getOffset(blkSize),
|
||||
target->getSize());
|
||||
}
|
||||
|
@ -285,7 +286,7 @@ Cache<TagStore,Coherence>::handleFill(BlkType *blk, MSHR * mshr,
|
|||
blk = doReplacement(blk, pkt, new_state, writebacks);
|
||||
|
||||
if (pkt->isRead()) {
|
||||
memcpy(blk->data, pkt->getPtr<uint8_t>(), blkSize);
|
||||
std::memcpy(blk->data, pkt->getPtr<uint8_t>(), blkSize);
|
||||
}
|
||||
|
||||
blk->whenReady = pkt->finishTime;
|
||||
|
@ -337,14 +338,14 @@ Cache<TagStore,Coherence>::handleFill(BlkType *blk, MSHR * mshr,
|
|||
if (target->isWrite()) {
|
||||
if (blk->checkWrite(pkt->req)) {
|
||||
blk->status |= BlkDirty;
|
||||
memcpy(blk->data + target->getOffset(blkSize),
|
||||
std::memcpy(blk->data + target->getOffset(blkSize),
|
||||
target->getPtr<uint8_t>(), target->getSize());
|
||||
}
|
||||
} else {
|
||||
if (pkt->req->isLocked()) {
|
||||
blk->trackLoadLocked(pkt->req);
|
||||
}
|
||||
memcpy(target->getPtr<uint8_t>(),
|
||||
std::memcpy(target->getPtr<uint8_t>(),
|
||||
blk->data + target->getOffset(blkSize),
|
||||
target->getSize());
|
||||
}
|
||||
|
@ -384,7 +385,7 @@ Cache<TagStore,Coherence>::handleSnoop(BlkType *blk,
|
|||
assert(offset < blkSize);
|
||||
assert(pkt->getSize() <= blkSize);
|
||||
assert(offset + pkt->getSize() <=blkSize);
|
||||
memcpy(pkt->getPtr<uint8_t>(), blk->data + offset, pkt->getSize());
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), blk->data + offset, pkt->getSize());
|
||||
|
||||
handleSnoop(blk, new_state);
|
||||
}
|
||||
|
@ -431,7 +432,7 @@ Cache<TagStore,Coherence>::writebackBlk(BlkType *blk)
|
|||
new Request(tags->regenerateBlkAddr(blk->tag, blk->set), blkSize, 0);
|
||||
PacketPtr writeback = new Packet(writebackReq, Packet::Writeback, -1);
|
||||
writeback->allocate();
|
||||
memcpy(writeback->getPtr<uint8_t>(),blk->data,blkSize);
|
||||
std::memcpy(writeback->getPtr<uint8_t>(),blk->data,blkSize);
|
||||
|
||||
blk->status &= ~BlkDirty;
|
||||
return writeback;
|
||||
|
@ -463,7 +464,7 @@ Cache<TagStore,Coherence>::verifyData(BlkType *blk)
|
|||
assert(blkSize == blk->size);
|
||||
}
|
||||
|
||||
retval = memcmp(tmp_data, blk->data, blkSize) == 0;
|
||||
retval = std::memcmp(tmp_data, blk->data, blkSize) == 0;
|
||||
delete [] tmp_data;
|
||||
return retval;
|
||||
}
|
||||
|
@ -664,7 +665,7 @@ Cache<TagStore,Coherence>::sendResult(PacketPtr &pkt, MSHR* mshr,
|
|||
DPRINTF(Cache, "Block for blk addr %x moving from state "
|
||||
"%i to %i\n", pkt->getAddr(), old_state, new_state);
|
||||
//Set the state on the upgrade
|
||||
memcpy(pkt->getPtr<uint8_t>(), blk->data, blkSize);
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), blk->data, blkSize);
|
||||
PacketList writebacks;
|
||||
handleFill(blk, mshr, new_state, writebacks, pkt);
|
||||
assert(writebacks.empty());
|
||||
|
@ -839,7 +840,7 @@ Cache<TagStore,Coherence>::snoop(PacketPtr &pkt)
|
|||
assert(offset < blkSize);
|
||||
assert(pkt->getSize() <= blkSize);
|
||||
assert(offset + pkt->getSize() <=blkSize);
|
||||
memcpy(pkt->getPtr<uint8_t>(), mshr->pkt->getPtr<uint8_t>() + offset, pkt->getSize());
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), mshr->pkt->getPtr<uint8_t>() + offset, pkt->getSize());
|
||||
|
||||
respondToSnoop(pkt, curTick + hitLatency);
|
||||
}
|
||||
|
|
9
src/mem/cache/miss/blocking_buffer.cc
vendored
9
src/mem/cache/miss/blocking_buffer.cc
vendored
|
@ -32,6 +32,7 @@
|
|||
* @file
|
||||
* Definitions of a simple buffer for a blocking cache.
|
||||
*/
|
||||
#include <cstring>
|
||||
|
||||
#include "mem/cache/base_cache.hh"
|
||||
#include "mem/cache/miss/blocking_buffer.hh"
|
||||
|
@ -60,7 +61,7 @@ BlockingBuffer::handleMiss(PacketPtr &pkt, int blk_size, Tick time)
|
|||
wb.allocate(pkt->cmd, blk_addr, blk_size, pkt);
|
||||
}
|
||||
|
||||
memcpy(wb.pkt->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), blk_size);
|
||||
std::memcpy(wb.pkt->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), blk_size);
|
||||
|
||||
cache->setBlocked(Blocked_NoWBBuffers);
|
||||
cache->setMasterRequest(Request_WB, time);
|
||||
|
@ -147,7 +148,7 @@ BlockingBuffer::handleResponse(PacketPtr &pkt, Tick time)
|
|||
PacketPtr target = ((MSHR*)(pkt->senderState))->getTarget();
|
||||
((MSHR*)(pkt->senderState))->popTarget();
|
||||
if (pkt->isRead()) {
|
||||
memcpy(target->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), target->getSize());
|
||||
std::memcpy(target->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), target->getSize());
|
||||
}
|
||||
cache->respond(target, time);
|
||||
assert(!((MSHR*)(pkt->senderState))->hasTargets());
|
||||
|
@ -191,7 +192,7 @@ BlockingBuffer::doWriteback(Addr addr,
|
|||
PacketPtr pkt = new Packet(req, Packet::Writeback, -1);
|
||||
pkt->allocate();
|
||||
if (data) {
|
||||
memcpy(pkt->getPtr<uint8_t>(), data, size);
|
||||
std::memcpy(pkt->getPtr<uint8_t>(), data, size);
|
||||
}
|
||||
|
||||
if (compressed) {
|
||||
|
@ -217,7 +218,7 @@ BlockingBuffer::doWriteback(PacketPtr &pkt)
|
|||
|
||||
// Since allocate as buffer copies the request,
|
||||
// need to copy data here.
|
||||
memcpy(wb.pkt->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), pkt->getSize());
|
||||
std::memcpy(wb.pkt->getPtr<uint8_t>(), pkt->getPtr<uint8_t>(), pkt->getSize());
|
||||
|
||||
cache->setBlocked(Blocked_NoWBBuffers);
|
||||
cache->setMasterRequest(Request_WB, curTick);
|
||||
|
|
2
src/mem/cache/miss/blocking_buffer.hh
vendored
2
src/mem/cache/miss/blocking_buffer.hh
vendored
|
@ -90,6 +90,7 @@ public:
|
|||
PacketPtr &target)
|
||||
{
|
||||
fatal("Unimplemented");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -201,6 +202,7 @@ public:
|
|||
MSHR* allocateTargetList(Addr addr)
|
||||
{
|
||||
fatal("Unimplemented");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
};
|
||||
|
||||
|
|
2
src/mem/cache/tags/iic.cc
vendored
2
src/mem/cache/tags/iic.cc
vendored
|
@ -527,7 +527,7 @@ IIC::hash(Addr addr) const {
|
|||
tag = extractTag(addr);
|
||||
mask = hashSets-1; /* assumes iic_hash_size is a power of 2 */
|
||||
x = tag & mask;
|
||||
y = (tag >> (int)(::log(hashSets)/::log(2))) & mask;
|
||||
y = (tag >> (int)(::log((double)hashSets)/::log((double)2))) & mask;
|
||||
assert (x < hashSets && y < hashSets);
|
||||
return x ^ y;
|
||||
#endif
|
||||
|
|
3
src/mem/cache/tags/lru.hh
vendored
3
src/mem/cache/tags/lru.hh
vendored
|
@ -36,6 +36,7 @@
|
|||
#ifndef __LRU_HH__
|
||||
#define __LRU_HH__
|
||||
|
||||
#include <cstring>
|
||||
#include <list>
|
||||
|
||||
#include "mem/cache/cache_blk.hh" // base class
|
||||
|
@ -273,7 +274,7 @@ public:
|
|||
*/
|
||||
void readData(LRUBlk *blk, uint8_t *data)
|
||||
{
|
||||
memcpy(data, blk->data, blk->size);
|
||||
std::memcpy(data, blk->data, blk->size);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
4
src/mem/cache/tags/split.hh
vendored
4
src/mem/cache/tags/split.hh
vendored
|
@ -36,6 +36,7 @@
|
|||
#ifndef __SPLIT_HH__
|
||||
#define __SPLIT_HH__
|
||||
|
||||
#include <cstring>
|
||||
#include <list>
|
||||
|
||||
#include "mem/cache/cache_blk.hh" // base class
|
||||
|
@ -234,6 +235,7 @@ class Split : public BaseTags
|
|||
int extractSet(Addr addr) const
|
||||
{
|
||||
panic("should never call this!\n");
|
||||
M5_DUMMY_RETURN
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -281,7 +283,7 @@ class Split : public BaseTags
|
|||
*/
|
||||
void readData(SplitBlk *blk, uint8_t *data)
|
||||
{
|
||||
memcpy(data, blk->data, blk->size);
|
||||
std::memcpy(data, blk->data, blk->size);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
3
src/mem/cache/tags/split_lifo.hh
vendored
3
src/mem/cache/tags/split_lifo.hh
vendored
|
@ -36,6 +36,7 @@
|
|||
#ifndef __SPLIT_LIFO_HH__
|
||||
#define __SPLIT_LIFO_HH__
|
||||
|
||||
#include <cstring>
|
||||
#include <list>
|
||||
|
||||
#include "mem/cache/cache_blk.hh" // base class
|
||||
|
@ -296,7 +297,7 @@ public:
|
|||
*/
|
||||
void readData(SplitBlk *blk, uint8_t *data)
|
||||
{
|
||||
memcpy(data, blk->data, blk->size);
|
||||
std::memcpy(data, blk->data, blk->size);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
3
src/mem/cache/tags/split_lru.hh
vendored
3
src/mem/cache/tags/split_lru.hh
vendored
|
@ -36,6 +36,7 @@
|
|||
#ifndef __SPLIT_LRU_HH__
|
||||
#define __SPLIT_LRU_HH__
|
||||
|
||||
#include <cstring>
|
||||
#include <list>
|
||||
|
||||
#include "mem/cache/cache_blk.hh" // base class
|
||||
|
@ -279,7 +280,7 @@ public:
|
|||
*/
|
||||
void readData(SplitBlk *blk, uint8_t *data)
|
||||
{
|
||||
memcpy(data, blk->data, blk->size);
|
||||
std::memcpy(data, blk->data, blk->size);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -102,7 +102,7 @@ Kluwer Academic, pages 291-310, March, 2000.
|
|||
|
||||
#include "mem/dram.hh"
|
||||
#include "sim/builder.hh"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string>
|
||||
|
||||
extern int maxThreadsPerCPU;
|
||||
|
@ -203,7 +203,7 @@ DRAMMemory::DRAMMemory(Params *p)
|
|||
last_bank = num_banks+1;
|
||||
last_row = num_rows;
|
||||
busy_until = new Tick[num_banks];
|
||||
memset(busy_until,0,sizeof(Tick)*num_banks); /* initiliaze */
|
||||
std::memset(busy_until,0,sizeof(Tick)*num_banks); /* initiliaze */
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
*/
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <cstring>
|
||||
#include "base/misc.hh"
|
||||
#include "base/trace.hh"
|
||||
#include "mem/packet.hh"
|
||||
|
@ -183,7 +183,7 @@ fixPacket(PacketPtr func, PacketPtr timing)
|
|||
if (func->isRead()) {
|
||||
if (funcStart >= timingStart && funcEnd <= timingEnd) {
|
||||
func->allocate();
|
||||
memcpy(func->getPtr<uint8_t>(), timing->getPtr<uint8_t>() +
|
||||
std::memcpy(func->getPtr<uint8_t>(), timing->getPtr<uint8_t>() +
|
||||
funcStart - timingStart, func->getSize());
|
||||
func->result = Packet::Success;
|
||||
func->flags |= SATISFIED;
|
||||
|
@ -199,11 +199,11 @@ fixPacket(PacketPtr func, PacketPtr timing)
|
|||
}
|
||||
} else if (func->isWrite()) {
|
||||
if (funcStart >= timingStart) {
|
||||
memcpy(timing->getPtr<uint8_t>() + (funcStart - timingStart),
|
||||
std::memcpy(timing->getPtr<uint8_t>() + (funcStart - timingStart),
|
||||
func->getPtr<uint8_t>(),
|
||||
(std::min(funcEnd, timingEnd) - funcStart) + 1);
|
||||
} else { // timingStart > funcStart
|
||||
memcpy(timing->getPtr<uint8_t>(),
|
||||
std::memcpy(timing->getPtr<uint8_t>(),
|
||||
func->getPtr<uint8_t>() + (timingStart - funcStart),
|
||||
(std::min(funcEnd, timingEnd) - timingStart) + 1);
|
||||
}
|
||||
|
|
|
@ -59,7 +59,7 @@ PhysicalMemory::PhysicalMemory(Params *p)
|
|||
|
||||
int map_flags = MAP_ANON | MAP_PRIVATE;
|
||||
pmemAddr = (uint8_t *)mmap(NULL, params()->addrRange.size(), PROT_READ | PROT_WRITE,
|
||||
map_flags, -1, 0);
|
||||
map_flags, -1, 0);
|
||||
|
||||
if (pmemAddr == (void *)MAP_FAILED) {
|
||||
perror("mmap");
|
||||
|
@ -84,7 +84,7 @@ PhysicalMemory::init()
|
|||
PhysicalMemory::~PhysicalMemory()
|
||||
{
|
||||
if (pmemAddr)
|
||||
munmap(pmemAddr, params()->addrRange.size());
|
||||
munmap((char*)pmemAddr, params()->addrRange.size());
|
||||
//Remove memPorts?
|
||||
}
|
||||
|
||||
|
@ -430,7 +430,7 @@ PhysicalMemory::unserialize(Checkpoint *cp, const string §ion)
|
|||
// unmap file that was mmaped in the constructor
|
||||
// This is done here to make sure that gzip and open don't muck with our
|
||||
// nice large space of memory before we reallocate it
|
||||
munmap(pmemAddr, params()->addrRange.size());
|
||||
munmap((char*)pmemAddr, params()->addrRange.size());
|
||||
|
||||
pmemAddr = (uint8_t *)mmap(NULL, params()->addrRange.size(), PROT_READ | PROT_WRITE,
|
||||
MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
* @file
|
||||
* Port object definitions.
|
||||
*/
|
||||
#include <cstring>
|
||||
|
||||
#include "base/chunk_generator.hh"
|
||||
#include "base/trace.hh"
|
||||
|
@ -78,7 +79,7 @@ Port::memsetBlob(Addr addr, uint8_t val, int size)
|
|||
// quick and dirty...
|
||||
uint8_t *buf = new uint8_t[size];
|
||||
|
||||
memset(buf, val, size);
|
||||
std::memset(buf, val, size);
|
||||
blobHelper(addr, buf, size, Packet::WriteReq);
|
||||
|
||||
delete [] buf;
|
||||
|
|
|
@ -159,7 +159,7 @@ class Port
|
|||
this function to be called, a DMA interface doesn't really have a
|
||||
block size, so it is defaulted to a panic.
|
||||
*/
|
||||
virtual int deviceBlockSize() { panic("??"); }
|
||||
virtual int deviceBlockSize() { panic("??"); M5_DUMMY_RETURN }
|
||||
|
||||
/** The peer port is requesting us to reply with a list of the ranges we
|
||||
are responsible for.
|
||||
|
@ -261,8 +261,10 @@ class FunctionalPort : public Port
|
|||
{}
|
||||
|
||||
protected:
|
||||
virtual bool recvTiming(PacketPtr pkt) { panic("FuncPort is UniDir"); }
|
||||
virtual Tick recvAtomic(PacketPtr pkt) { panic("FuncPort is UniDir"); }
|
||||
virtual bool recvTiming(PacketPtr pkt) { panic("FuncPort is UniDir");
|
||||
M5_DUMMY_RETURN }
|
||||
virtual Tick recvAtomic(PacketPtr pkt) { panic("FuncPort is UniDir");
|
||||
M5_DUMMY_RETURN }
|
||||
virtual void recvFunctional(PacketPtr pkt) { panic("FuncPort is UniDir"); }
|
||||
virtual void recvStatusChange(Status status) {}
|
||||
|
||||
|
|
|
@ -15,6 +15,8 @@ class TsunamiIO(BasicPioDevice):
|
|||
type = 'TsunamiIO'
|
||||
time = Param.Time('01/01/2009',
|
||||
"System time to use ('Now' for actual time)")
|
||||
year_is_bcd = Param.Bool(False,
|
||||
"The RTC should interpret the year as a BCD value")
|
||||
tsunami = Param.Tsunami(Parent.any, "Tsunami")
|
||||
frequency = Param.Frequency('1024Hz', "frequency of interrupts")
|
||||
|
||||
|
|
|
@ -518,49 +518,55 @@ class EthernetAddr(ParamValue):
|
|||
else:
|
||||
return self.value
|
||||
|
||||
def parse_time(value):
|
||||
strings = [ "%a %b %d %H:%M:%S %Z %Y",
|
||||
"%a %b %d %H:%M:%S %Z %Y",
|
||||
"%Y/%m/%d %H:%M:%S",
|
||||
"%Y/%m/%d %H:%M",
|
||||
"%Y/%m/%d",
|
||||
"%m/%d/%Y %H:%M:%S",
|
||||
"%m/%d/%Y %H:%M",
|
||||
"%m/%d/%Y",
|
||||
"%m/%d/%y %H:%M:%S",
|
||||
"%m/%d/%y %H:%M",
|
||||
"%m/%d/%y"]
|
||||
time_formats = [ "%a %b %d %H:%M:%S %Z %Y",
|
||||
"%a %b %d %H:%M:%S %Z %Y",
|
||||
"%Y/%m/%d %H:%M:%S",
|
||||
"%Y/%m/%d %H:%M",
|
||||
"%Y/%m/%d",
|
||||
"%m/%d/%Y %H:%M:%S",
|
||||
"%m/%d/%Y %H:%M",
|
||||
"%m/%d/%Y",
|
||||
"%m/%d/%y %H:%M:%S",
|
||||
"%m/%d/%y %H:%M",
|
||||
"%m/%d/%y"]
|
||||
|
||||
for string in strings:
|
||||
try:
|
||||
return time.strptime(value, string)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
def parse_time(value):
|
||||
from time import gmtime, strptime, struct_time, time
|
||||
from datetime import datetime, date
|
||||
|
||||
if isinstance(value, struct_time):
|
||||
return value
|
||||
|
||||
if isinstance(value, (int, long)):
|
||||
return gmtime(value)
|
||||
|
||||
if isinstance(value, (datetime, date)):
|
||||
return value.timetuple()
|
||||
|
||||
if isinstance(value, str):
|
||||
if value in ('Now', 'Today'):
|
||||
return time.gmtime(time.time())
|
||||
|
||||
for format in time_formats:
|
||||
try:
|
||||
return strptime(value, format)
|
||||
except ValueError:
|
||||
pass
|
||||
|
||||
raise ValueError, "Could not parse '%s' as a time" % value
|
||||
|
||||
class Time(ParamValue):
|
||||
cxx_type = 'time_t'
|
||||
def __init__(self, value):
|
||||
if isinstance(value, time.struct_time):
|
||||
self.value = time.mktime(value)
|
||||
elif isinstance(value, int):
|
||||
self.value = value
|
||||
elif isinstance(value, str):
|
||||
if value in ('Now', 'Today'):
|
||||
self.value = time.time()
|
||||
else:
|
||||
self.value = time.mktime(parse_time(value))
|
||||
elif isinstance(value, (datetime.datetime, datetime.date)):
|
||||
self.value = time.mktime(value.timetuple())
|
||||
else:
|
||||
raise ValueError, "Could not parse '%s' as a time" % value
|
||||
self.value = parse_time(value)
|
||||
|
||||
def __str__(self):
|
||||
return str(int(self.value))
|
||||
tm = self.value
|
||||
return ' '.join([ str(tm[i]) for i in xrange(8)])
|
||||
|
||||
def ini_str(self):
|
||||
return str(int(self.value))
|
||||
return str(self)
|
||||
|
||||
# Enumerated types are a little more complex. The user specifies the
|
||||
# type as Enum(foo) where foo is either a list or dictionary of
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
// If one doesn't exist, we pretty much get what is listed below, so it all
|
||||
// works out
|
||||
#include <byteswap.h>
|
||||
#elif defined (__sun__)
|
||||
#elif defined (__sun)
|
||||
#include <sys/isa_defs.h>
|
||||
#else
|
||||
#include <machine/endian.h>
|
||||
|
|
|
@ -7,9 +7,6 @@ max_tick=0
|
|||
output_file=cout
|
||||
progress_interval=0
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[exetrace]
|
||||
intel_format=false
|
||||
legion_lockstep=false
|
||||
|
@ -89,6 +86,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
simulate_stalls=false
|
||||
|
@ -122,6 +120,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
simulate_stalls=false
|
||||
|
@ -206,8 +205,13 @@ pio_latency=0
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.membus.default
|
||||
|
||||
[system.physmem]
|
||||
|
@ -215,6 +219,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=system.membus.port[1]
|
||||
|
||||
[system.sim_console]
|
||||
|
@ -347,8 +352,13 @@ pio_latency=2
|
|||
pio_size=393216
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[9]
|
||||
|
||||
[system.tsunami.fake_ata0]
|
||||
|
@ -358,8 +368,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[20]
|
||||
|
||||
[system.tsunami.fake_ata1]
|
||||
|
@ -369,8 +384,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[21]
|
||||
|
||||
[system.tsunami.fake_pnp_addr]
|
||||
|
@ -380,8 +400,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[10]
|
||||
|
||||
[system.tsunami.fake_pnp_read0]
|
||||
|
@ -391,8 +416,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[12]
|
||||
|
||||
[system.tsunami.fake_pnp_read1]
|
||||
|
@ -402,8 +432,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[13]
|
||||
|
||||
[system.tsunami.fake_pnp_read2]
|
||||
|
@ -413,8 +448,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[14]
|
||||
|
||||
[system.tsunami.fake_pnp_read3]
|
||||
|
@ -424,8 +464,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[15]
|
||||
|
||||
[system.tsunami.fake_pnp_read4]
|
||||
|
@ -435,8 +480,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[16]
|
||||
|
||||
[system.tsunami.fake_pnp_read5]
|
||||
|
@ -446,8 +496,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[17]
|
||||
|
||||
[system.tsunami.fake_pnp_read6]
|
||||
|
@ -457,8 +512,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[18]
|
||||
|
||||
[system.tsunami.fake_pnp_read7]
|
||||
|
@ -468,8 +528,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[19]
|
||||
|
||||
[system.tsunami.fake_pnp_write]
|
||||
|
@ -479,19 +544,29 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[11]
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[8]
|
||||
|
||||
[system.tsunami.fake_sm_chip]
|
||||
|
@ -501,8 +576,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[3]
|
||||
|
||||
[system.tsunami.fake_uart1]
|
||||
|
@ -512,8 +592,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[4]
|
||||
|
||||
[system.tsunami.fake_uart2]
|
||||
|
@ -523,8 +608,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[5]
|
||||
|
||||
[system.tsunami.fake_uart3]
|
||||
|
@ -534,8 +624,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[6]
|
||||
|
||||
[system.tsunami.fake_uart4]
|
||||
|
@ -545,8 +640,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[7]
|
||||
|
||||
[system.tsunami.fb]
|
||||
|
@ -616,8 +716,9 @@ pio_addr=8804615847936
|
|||
pio_latency=2
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=system.tsunami
|
||||
year_is_bcd=false
|
||||
pio=system.iobus.port[23]
|
||||
|
||||
[system.tsunami.pchip]
|
||||
|
|
|
@ -10,6 +10,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[system]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -57,6 +58,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
width=1
|
||||
function_trace=false
|
||||
|
@ -78,7 +80,12 @@ pio_addr=0
|
|||
pio_latency=0
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -149,6 +156,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
width=1
|
||||
function_trace=false
|
||||
|
@ -171,7 +179,12 @@ pio_addr=8804615848696
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -181,7 +194,12 @@ pio_addr=8804615848936
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -191,7 +209,12 @@ pio_addr=8804615848680
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -201,17 +224,27 @@ pio_addr=8804615848944
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -230,7 +263,8 @@ pio_latency=2
|
|||
frequency=1953125
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=system.tsunami
|
||||
|
||||
[]
|
||||
|
@ -269,7 +303,12 @@ pio_addr=8804615848304
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -279,7 +318,12 @@ pio_addr=8804615848432
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -297,7 +341,12 @@ pio_addr=8804615848643
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -307,7 +356,12 @@ pio_addr=8804615848579
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -317,7 +371,12 @@ pio_addr=8804615848515
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -327,7 +386,12 @@ pio_addr=8804615848451
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -337,7 +401,12 @@ pio_addr=8804615848899
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -347,7 +416,12 @@ pio_addr=8804615848835
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -357,7 +431,12 @@ pio_addr=8804615848771
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -367,7 +446,12 @@ pio_addr=8804615848707
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -377,7 +461,12 @@ pio_addr=8804615850617
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -464,7 +553,12 @@ pio_addr=8796093677568
|
|||
pio_latency=2
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -482,7 +576,12 @@ pio_addr=8804615848816
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -492,7 +591,12 @@ pio_addr=8804615848569
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -595,9 +699,6 @@ intel_format=false
|
|||
legion_lockstep=false
|
||||
trace_system=client
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[statsreset]
|
||||
reset_cycle=0
|
||||
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1285205 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 200148 # Number of bytes of host memory used
|
||||
host_seconds 50.51 # Real time elapsed on the host
|
||||
host_tick_rate 73618621 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1026206 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 240860 # Number of bytes of host memory used
|
||||
host_seconds 63.27 # Real time elapsed on the host
|
||||
host_tick_rate 58764450 # Simulator tick rate (ticks/s)
|
||||
sim_freq 2000000000 # Frequency of simulated ticks
|
||||
sim_insts 64909600 # Number of instructions simulated
|
||||
sim_seconds 1.859078 # Number of seconds simulated
|
||||
sim_ticks 3718155709 # Number of ticks simulated
|
||||
sim_insts 64932819 # Number of instructions simulated
|
||||
sim_seconds 1.859157 # Number of seconds simulated
|
||||
sim_ticks 3718314928 # Number of ticks simulated
|
||||
system.cpu0.dtb.accesses 544556 # DTB accesses
|
||||
system.cpu0.dtb.acv 335 # DTB access violations
|
||||
system.cpu0.dtb.hits 14841931 # DTB hits
|
||||
|
@ -20,7 +20,7 @@ system.cpu0.dtb.write_accesses 167026 # DT
|
|||
system.cpu0.dtb.write_acv 125 # DTB write access violations
|
||||
system.cpu0.dtb.write_hits 5871355 # DTB write hits
|
||||
system.cpu0.dtb.write_misses 775 # DTB write misses
|
||||
system.cpu0.idle_fraction 0.984943 # Percentage of idle cycles
|
||||
system.cpu0.idle_fraction 0.984944 # Percentage of idle cycles
|
||||
system.cpu0.itb.accesses 3586919 # ITB accesses
|
||||
system.cpu0.itb.acv 184 # ITB acv
|
||||
system.cpu0.itb.hits 3583450 # ITB hits
|
||||
|
@ -58,8 +58,8 @@ system.cpu0.kern.ipl_good_21 245 0.17% 49.41% # nu
|
|||
system.cpu0.kern.ipl_good_22 1896 1.35% 50.76% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_good_30 8 0.01% 50.77% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_good_31 69366 49.23% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_ticks 3718155294 # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_0 3683661066 99.07% 99.07% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks 3718314513 # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_0 3683820285 99.07% 99.07% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_21 40474 0.00% 99.07% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_22 163056 0.00% 99.08% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_30 2026 0.00% 99.08% # number of cycles we spent at this ipl
|
||||
|
@ -80,7 +80,7 @@ system.cpu0.kern.mode_switch_good 0.286108 # fr
|
|||
system.cpu0.kern.mode_switch_good_kernel 0.166877 # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_switch_good_idle <err: div-0> # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_ticks_kernel 3716512331 99.96% 99.96% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_kernel 3716671550 99.96% 99.96% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_user 1642961 0.04% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_idle 0 0.00% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.swap_context 3792 # number of times the context was actually changed
|
||||
|
@ -113,28 +113,28 @@ system.cpu0.kern.syscall_98 2 1.01% 97.49% # nu
|
|||
system.cpu0.kern.syscall_132 1 0.50% 97.99% # number of syscalls executed
|
||||
system.cpu0.kern.syscall_144 2 1.01% 98.99% # number of syscalls executed
|
||||
system.cpu0.kern.syscall_147 2 1.01% 100.00% # number of syscalls executed
|
||||
system.cpu0.not_idle_fraction 0.015057 # Percentage of non-idle cycles
|
||||
system.cpu0.not_idle_fraction 0.015056 # Percentage of non-idle cycles
|
||||
system.cpu0.numCycles 55984201 # number of cpu cycles simulated
|
||||
system.cpu0.num_insts 55980548 # Number of instructions executed
|
||||
system.cpu0.num_refs 15081320 # Number of memory references
|
||||
system.cpu1.dtb.accesses 761000 # DTB accesses
|
||||
system.cpu1.dtb.acv 32 # DTB access violations
|
||||
system.cpu1.dtb.hits 2653187 # DTB hits
|
||||
system.cpu1.dtb.hits 2658022 # DTB hits
|
||||
system.cpu1.dtb.misses 4173 # DTB misses
|
||||
system.cpu1.dtb.read_accesses 523552 # DTB read accesses
|
||||
system.cpu1.dtb.read_acv 0 # DTB read access violations
|
||||
system.cpu1.dtb.read_hits 1675663 # DTB read hits
|
||||
system.cpu1.dtb.read_hits 1679180 # DTB read hits
|
||||
system.cpu1.dtb.read_misses 3798 # DTB read misses
|
||||
system.cpu1.dtb.write_accesses 237448 # DTB write accesses
|
||||
system.cpu1.dtb.write_acv 32 # DTB write access violations
|
||||
system.cpu1.dtb.write_hits 977524 # DTB write hits
|
||||
system.cpu1.dtb.write_hits 978842 # DTB write hits
|
||||
system.cpu1.dtb.write_misses 375 # DTB write misses
|
||||
system.cpu1.idle_fraction 0.997598 # Percentage of idle cycles
|
||||
system.cpu1.itb.accesses 2420372 # ITB accesses
|
||||
system.cpu1.idle_fraction 0.997592 # Percentage of idle cycles
|
||||
system.cpu1.itb.accesses 2420426 # ITB accesses
|
||||
system.cpu1.itb.acv 0 # ITB acv
|
||||
system.cpu1.itb.hits 2418785 # ITB hits
|
||||
system.cpu1.itb.hits 2418839 # ITB hits
|
||||
system.cpu1.itb.misses 1587 # ITB misses
|
||||
system.cpu1.kern.callpal 34405 # number of callpals executed
|
||||
system.cpu1.kern.callpal 34411 # number of callpals executed
|
||||
system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wripir 8 0.02% 0.03% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrmces 1 0.00% 0.03% # number of callpals executed
|
||||
|
@ -142,7 +142,7 @@ system.cpu1.kern.callpal_wrfen 1 0.00% 0.03% # nu
|
|||
system.cpu1.kern.callpal_swpctx 468 1.36% 1.39% # number of callpals executed
|
||||
system.cpu1.kern.callpal_tbi 5 0.01% 1.41% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrent 7 0.02% 1.43% # number of callpals executed
|
||||
system.cpu1.kern.callpal_swpipl 28030 81.47% 82.90% # number of callpals executed
|
||||
system.cpu1.kern.callpal_swpipl 28036 81.47% 82.90% # number of callpals executed
|
||||
system.cpu1.kern.callpal_rdps 3042 8.84% 91.74% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrkgp 1 0.00% 91.74% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrusp 5 0.01% 91.76% # number of callpals executed
|
||||
|
@ -152,28 +152,28 @@ system.cpu1.kern.callpal_callsys 187 0.54% 99.83% # nu
|
|||
system.cpu1.kern.callpal_imb 59 0.17% 100.00% # number of callpals executed
|
||||
system.cpu1.kern.callpal_rdunique 1 0.00% 100.00% # number of callpals executed
|
||||
system.cpu1.kern.inst.arm 0 # number of arm instructions executed
|
||||
system.cpu1.kern.inst.hwrei 42209 # number of hwrei instructions executed
|
||||
system.cpu1.kern.inst.quiesce 2146 # number of quiesce instructions executed
|
||||
system.cpu1.kern.ipl_count 32627 # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_0 11165 34.22% 34.22% # number of times we switched to this ipl
|
||||
system.cpu1.kern.inst.hwrei 42215 # number of hwrei instructions executed
|
||||
system.cpu1.kern.inst.quiesce 2214 # number of quiesce instructions executed
|
||||
system.cpu1.kern.ipl_count 32633 # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_0 11168 34.22% 34.22% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_22 1895 5.81% 40.03% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_30 115 0.35% 40.38% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_31 19452 59.62% 100.00% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_good 24195 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_0 11150 46.08% 46.08% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_count_31 19455 59.62% 100.00% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_good 24201 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_0 11153 46.08% 46.08% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_22 1895 7.83% 53.92% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_30 115 0.48% 54.39% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_31 11035 45.61% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_ticks 3717733449 # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_0 3695802393 99.41% 99.41% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_good_31 11038 45.61% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_ticks 3717892668 # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_0 3695802544 99.41% 99.41% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_22 162970 0.00% 99.41% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_30 29122 0.00% 99.42% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_31 21738964 0.58% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_used 0.741564 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_ticks_30 29122 0.00% 99.41% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_31 21898032 0.59% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_used 0.741611 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_0 0.998657 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_31 0.567294 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_31 0.567361 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.mode_good_kernel 602
|
||||
system.cpu1.kern.mode_good_user 563
|
||||
system.cpu1.kern.mode_good_idle 39
|
||||
|
@ -184,7 +184,7 @@ system.cpu1.kern.mode_switch_good 0.332689 # fr
|
|||
system.cpu1.kern.mode_switch_good_kernel 0.595450 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_idle 0.019071 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_ticks_kernel 4713507 0.13% 0.13% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_kernel 4872726 0.13% 0.13% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_user 1950903 0.05% 0.18% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_idle 3710606044 99.82% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.swap_context 469 # number of times the context was actually changed
|
||||
|
@ -205,10 +205,10 @@ system.cpu1.kern.syscall_71 34 26.15% 87.69% # nu
|
|||
system.cpu1.kern.syscall_74 11 8.46% 96.15% # number of syscalls executed
|
||||
system.cpu1.kern.syscall_92 2 1.54% 97.69% # number of syscalls executed
|
||||
system.cpu1.kern.syscall_132 3 2.31% 100.00% # number of syscalls executed
|
||||
system.cpu1.not_idle_fraction 0.002402 # Percentage of non-idle cycles
|
||||
system.cpu1.numCycles 8930639 # number of cpu cycles simulated
|
||||
system.cpu1.num_insts 8929052 # Number of instructions executed
|
||||
system.cpu1.num_refs 2665347 # Number of memory references
|
||||
system.cpu1.not_idle_fraction 0.002408 # Percentage of non-idle cycles
|
||||
system.cpu1.numCycles 8953858 # number of cpu cycles simulated
|
||||
system.cpu1.num_insts 8952271 # Number of instructions executed
|
||||
system.cpu1.num_refs 2670182 # Number of memory references
|
||||
system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
|
||||
system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
|
||||
|
@ -221,7 +221,7 @@ system.disk2.dma_read_txs 0 # Nu
|
|||
system.disk2.dma_write_bytes 8192 # Number of bytes transfered via DMA writes.
|
||||
system.disk2.dma_write_full_pages 1 # Number of full page size DMA writes.
|
||||
system.disk2.dma_write_txs 1 # Number of DMA write transactions.
|
||||
system.tsunami.ethernet.coalescedRxDesc no value # average number of RxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxIdle <err: div-0> # average number of RxIdle's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Warning: rounding error > tolerance
|
||||
0.002000 rounded to 0
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
Listening for console connection on port 3457
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7001
|
||||
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7002
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3456
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
||||
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: 195723: Trying to launch CPU number 1!
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Nov 5 2006 19:41:29
|
||||
M5 started Sun Nov 5 20:03:49 2006
|
||||
M5 executing on zizzer.eecs.umich.edu
|
||||
command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
|
||||
Exiting @ tick 3718155709 because m5_exit instruction encountered
|
||||
M5 compiled Jan 25 2007 15:05:30
|
||||
M5 started Thu Jan 25 15:06:16 2007
|
||||
M5 executing on zeep
|
||||
command line: /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/m5.opt -d /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-atomic-dual
|
||||
Exiting @ tick 3718314928 because m5_exit instruction encountered
|
||||
|
|
|
@ -7,9 +7,6 @@ max_tick=0
|
|||
output_file=cout
|
||||
progress_interval=0
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[exetrace]
|
||||
intel_format=false
|
||||
legion_lockstep=false
|
||||
|
@ -89,6 +86,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
simulate_stalls=false
|
||||
|
@ -173,8 +171,13 @@ pio_latency=0
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.membus.default
|
||||
|
||||
[system.physmem]
|
||||
|
@ -182,6 +185,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=system.membus.port[1]
|
||||
|
||||
[system.sim_console]
|
||||
|
@ -314,8 +318,13 @@ pio_latency=2
|
|||
pio_size=393216
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[9]
|
||||
|
||||
[system.tsunami.fake_ata0]
|
||||
|
@ -325,8 +334,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[20]
|
||||
|
||||
[system.tsunami.fake_ata1]
|
||||
|
@ -336,8 +350,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[21]
|
||||
|
||||
[system.tsunami.fake_pnp_addr]
|
||||
|
@ -347,8 +366,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[10]
|
||||
|
||||
[system.tsunami.fake_pnp_read0]
|
||||
|
@ -358,8 +382,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[12]
|
||||
|
||||
[system.tsunami.fake_pnp_read1]
|
||||
|
@ -369,8 +398,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[13]
|
||||
|
||||
[system.tsunami.fake_pnp_read2]
|
||||
|
@ -380,8 +414,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[14]
|
||||
|
||||
[system.tsunami.fake_pnp_read3]
|
||||
|
@ -391,8 +430,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[15]
|
||||
|
||||
[system.tsunami.fake_pnp_read4]
|
||||
|
@ -402,8 +446,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[16]
|
||||
|
||||
[system.tsunami.fake_pnp_read5]
|
||||
|
@ -413,8 +462,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[17]
|
||||
|
||||
[system.tsunami.fake_pnp_read6]
|
||||
|
@ -424,8 +478,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[18]
|
||||
|
||||
[system.tsunami.fake_pnp_read7]
|
||||
|
@ -435,8 +494,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[19]
|
||||
|
||||
[system.tsunami.fake_pnp_write]
|
||||
|
@ -446,19 +510,29 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[11]
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[8]
|
||||
|
||||
[system.tsunami.fake_sm_chip]
|
||||
|
@ -468,8 +542,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[3]
|
||||
|
||||
[system.tsunami.fake_uart1]
|
||||
|
@ -479,8 +558,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[4]
|
||||
|
||||
[system.tsunami.fake_uart2]
|
||||
|
@ -490,8 +574,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[5]
|
||||
|
||||
[system.tsunami.fake_uart3]
|
||||
|
@ -501,8 +590,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[6]
|
||||
|
||||
[system.tsunami.fake_uart4]
|
||||
|
@ -512,8 +606,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[7]
|
||||
|
||||
[system.tsunami.fb]
|
||||
|
@ -583,8 +682,9 @@ pio_addr=8804615847936
|
|||
pio_latency=2
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=system.tsunami
|
||||
year_is_bcd=false
|
||||
pio=system.iobus.port[23]
|
||||
|
||||
[system.tsunami.pchip]
|
||||
|
|
|
@ -10,6 +10,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[system]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -57,6 +58,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
width=1
|
||||
function_trace=false
|
||||
|
@ -78,7 +80,12 @@ pio_addr=0
|
|||
pio_latency=0
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -141,7 +148,12 @@ pio_addr=8804615848696
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -151,7 +163,12 @@ pio_addr=8804615848936
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -161,7 +178,12 @@ pio_addr=8804615848680
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -171,17 +193,27 @@ pio_addr=8804615848944
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -200,7 +232,8 @@ pio_latency=2
|
|||
frequency=1953125
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=system.tsunami
|
||||
|
||||
[]
|
||||
|
@ -239,7 +272,12 @@ pio_addr=8804615848304
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -249,7 +287,12 @@ pio_addr=8804615848432
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -267,7 +310,12 @@ pio_addr=8804615848643
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -277,7 +325,12 @@ pio_addr=8804615848579
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -287,7 +340,12 @@ pio_addr=8804615848515
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -297,7 +355,12 @@ pio_addr=8804615848451
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -307,7 +370,12 @@ pio_addr=8804615848899
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -317,7 +385,12 @@ pio_addr=8804615848835
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -327,7 +400,12 @@ pio_addr=8804615848771
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -337,7 +415,12 @@ pio_addr=8804615848707
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -347,7 +430,12 @@ pio_addr=8804615850617
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -434,7 +522,12 @@ pio_addr=8796093677568
|
|||
pio_latency=2
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -452,7 +545,12 @@ pio_addr=8804615848816
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -462,7 +560,12 @@ pio_addr=8804615848569
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -565,9 +668,6 @@ intel_format=false
|
|||
legion_lockstep=false
|
||||
trace_system=client
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[statsreset]
|
||||
reset_cycle=0
|
||||
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 1254169 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 199988 # Number of bytes of host memory used
|
||||
host_seconds 49.27 # Real time elapsed on the host
|
||||
host_tick_rate 73765213 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 1452138 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 239532 # Number of bytes of host memory used
|
||||
host_seconds 42.57 # Real time elapsed on the host
|
||||
host_tick_rate 85380734 # Simulator tick rate (ticks/s)
|
||||
sim_freq 2000000000 # Frequency of simulated ticks
|
||||
sim_insts 61788439 # Number of instructions simulated
|
||||
sim_seconds 1.817090 # Number of seconds simulated
|
||||
sim_ticks 3634179176 # Number of ticks simulated
|
||||
sim_insts 61811715 # Number of instructions simulated
|
||||
sim_seconds 1.817169 # Number of seconds simulated
|
||||
sim_ticks 3634338452 # Number of ticks simulated
|
||||
system.cpu.dtb.accesses 1304494 # DTB accesses
|
||||
system.cpu.dtb.acv 367 # DTB access violations
|
||||
system.cpu.dtb.hits 16552094 # DTB hits
|
||||
system.cpu.dtb.hits 16556949 # DTB hits
|
||||
system.cpu.dtb.misses 11425 # DTB misses
|
||||
system.cpu.dtb.read_accesses 900425 # DTB read accesses
|
||||
system.cpu.dtb.read_acv 210 # DTB read access violations
|
||||
system.cpu.dtb.read_hits 10038384 # DTB read hits
|
||||
system.cpu.dtb.read_hits 10041919 # DTB read hits
|
||||
system.cpu.dtb.read_misses 10280 # DTB read misses
|
||||
system.cpu.dtb.write_accesses 404069 # DTB write accesses
|
||||
system.cpu.dtb.write_acv 157 # DTB write access violations
|
||||
system.cpu.dtb.write_hits 6513710 # DTB write hits
|
||||
system.cpu.dtb.write_hits 6515030 # DTB write hits
|
||||
system.cpu.dtb.write_misses 1145 # DTB write misses
|
||||
system.cpu.idle_fraction 0.982997 # Percentage of idle cycles
|
||||
system.cpu.itb.accesses 5655311 # ITB accesses
|
||||
system.cpu.idle_fraction 0.982991 # Percentage of idle cycles
|
||||
system.cpu.itb.accesses 5655354 # ITB accesses
|
||||
system.cpu.itb.acv 184 # ITB acv
|
||||
system.cpu.itb.hits 5650321 # ITB hits
|
||||
system.cpu.itb.hits 5650364 # ITB hits
|
||||
system.cpu.itb.misses 4990 # ITB misses
|
||||
system.cpu.kern.callpal 193842 # number of callpals executed
|
||||
system.cpu.kern.callpal 193847 # number of callpals executed
|
||||
system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrmces 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrfen 1 0.00% 0.00% # number of callpals executed
|
||||
|
@ -33,7 +33,7 @@ system.cpu.kern.callpal_wrvptptr 1 0.00% 0.00% # nu
|
|||
system.cpu.kern.callpal_swpctx 4203 2.17% 2.17% # number of callpals executed
|
||||
system.cpu.kern.callpal_tbi 54 0.03% 2.20% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrent 7 0.00% 2.20% # number of callpals executed
|
||||
system.cpu.kern.callpal_swpipl 176751 91.18% 93.38% # number of callpals executed
|
||||
system.cpu.kern.callpal_swpipl 176756 91.18% 93.38% # number of callpals executed
|
||||
system.cpu.kern.callpal_rdps 6881 3.55% 96.93% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrkgp 1 0.00% 96.94% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrusp 7 0.00% 96.94% # number of callpals executed
|
||||
|
@ -43,41 +43,41 @@ system.cpu.kern.callpal_rti 5211 2.69% 99.63% # nu
|
|||
system.cpu.kern.callpal_callsys 531 0.27% 99.91% # number of callpals executed
|
||||
system.cpu.kern.callpal_imb 181 0.09% 100.00% # number of callpals executed
|
||||
system.cpu.kern.inst.arm 0 # number of arm instructions executed
|
||||
system.cpu.kern.inst.hwrei 212908 # number of hwrei instructions executed
|
||||
system.cpu.kern.inst.quiesce 6207 # number of quiesce instructions executed
|
||||
system.cpu.kern.ipl_count 184061 # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_0 75348 40.94% 40.94% # number of times we switched to this ipl
|
||||
system.cpu.kern.inst.hwrei 212913 # number of hwrei instructions executed
|
||||
system.cpu.kern.inst.quiesce 6275 # number of quiesce instructions executed
|
||||
system.cpu.kern.ipl_count 184066 # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_0 75351 40.94% 40.94% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_21 245 0.13% 41.07% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_22 1853 1.01% 42.08% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_31 106615 57.92% 100.00% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_good 150060 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_0 73981 49.30% 49.30% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_count_31 106617 57.92% 100.00% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_good 150066 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_0 73984 49.30% 49.30% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_21 245 0.16% 49.46% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_22 1853 1.23% 50.70% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_31 73981 49.30% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_ticks 3634178761 # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_0 3599646819 99.05% 99.05% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_good_31 73984 49.30% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_ticks 3634338037 # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_0 3599646965 99.05% 99.05% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_21 40474 0.00% 99.05% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_22 159358 0.00% 99.06% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_31 34332110 0.94% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_used 0.815273 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_ticks_22 159358 0.00% 99.05% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_31 34491240 0.95% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_used 0.815284 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_0 0.981858 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_31 0.693908 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.mode_good_kernel 1938
|
||||
system.cpu.kern.mode_good_user 1758
|
||||
system.cpu.kern.ipl_used_31 0.693923 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.mode_good_kernel 1937
|
||||
system.cpu.kern.mode_good_user 1757
|
||||
system.cpu.kern.mode_good_idle 180
|
||||
system.cpu.kern.mode_switch_kernel 5978 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_user 1758 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_user 1757 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_idle 2102 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_good 0.393983 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_kernel 0.324189 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good 0.393819 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_kernel 0.324021 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_idle 0.085633 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_ticks_kernel 54682435 1.50% 1.50% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_user 3591244 0.10% 1.60% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_idle 3575905080 98.40% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_kernel 54841721 1.51% 1.51% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_user 3591234 0.10% 1.61% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_idle 3575905080 98.39% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu.kern.swap_context 4204 # number of times the context was actually changed
|
||||
system.cpu.kern.syscall 329 # number of syscalls executed
|
||||
system.cpu.kern.syscall_2 8 2.43% 2.43% # number of syscalls executed
|
||||
|
@ -110,10 +110,10 @@ system.cpu.kern.syscall_98 2 0.61% 97.57% # nu
|
|||
system.cpu.kern.syscall_132 4 1.22% 98.78% # number of syscalls executed
|
||||
system.cpu.kern.syscall_144 2 0.61% 99.39% # number of syscalls executed
|
||||
system.cpu.kern.syscall_147 2 0.61% 100.00% # number of syscalls executed
|
||||
system.cpu.not_idle_fraction 0.017003 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 61793613 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 61788439 # Number of instructions executed
|
||||
system.cpu.num_refs 16800623 # Number of memory references
|
||||
system.cpu.not_idle_fraction 0.017009 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 61816889 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 61811715 # Number of instructions executed
|
||||
system.cpu.num_refs 16805478 # Number of memory references
|
||||
system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
|
||||
system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
|
||||
|
@ -131,7 +131,7 @@ system.tsunami.ethernet.coalescedRxIdle <err: div-0> # av
|
|||
system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal no value # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Warning: rounding error > tolerance
|
||||
0.002000 rounded to 0
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3456
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Nov 5 2006 19:41:29
|
||||
M5 started Sun Nov 5 20:03:49 2006
|
||||
M5 executing on zizzer.eecs.umich.edu
|
||||
command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-atomic
|
||||
Exiting @ tick 3634179176 because m5_exit instruction encountered
|
||||
M5 compiled Jan 25 2007 15:05:30
|
||||
M5 started Thu Jan 25 15:05:33 2007
|
||||
M5 executing on zeep
|
||||
command line: /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/m5.opt -d /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-atomic tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-atomic
|
||||
Exiting @ tick 3634338452 because m5_exit instruction encountered
|
||||
|
|
|
@ -7,9 +7,6 @@ max_tick=0
|
|||
output_file=cout
|
||||
progress_interval=0
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[exetrace]
|
||||
intel_format=false
|
||||
legion_lockstep=false
|
||||
|
@ -89,6 +86,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
system=system
|
||||
|
@ -120,6 +118,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
system=system
|
||||
|
@ -202,8 +201,13 @@ pio_latency=0
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.membus.default
|
||||
|
||||
[system.physmem]
|
||||
|
@ -211,6 +215,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=system.membus.port[1]
|
||||
|
||||
[system.sim_console]
|
||||
|
@ -343,8 +348,13 @@ pio_latency=2
|
|||
pio_size=393216
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[9]
|
||||
|
||||
[system.tsunami.fake_ata0]
|
||||
|
@ -354,8 +364,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[20]
|
||||
|
||||
[system.tsunami.fake_ata1]
|
||||
|
@ -365,8 +380,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[21]
|
||||
|
||||
[system.tsunami.fake_pnp_addr]
|
||||
|
@ -376,8 +396,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[10]
|
||||
|
||||
[system.tsunami.fake_pnp_read0]
|
||||
|
@ -387,8 +412,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[12]
|
||||
|
||||
[system.tsunami.fake_pnp_read1]
|
||||
|
@ -398,8 +428,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[13]
|
||||
|
||||
[system.tsunami.fake_pnp_read2]
|
||||
|
@ -409,8 +444,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[14]
|
||||
|
||||
[system.tsunami.fake_pnp_read3]
|
||||
|
@ -420,8 +460,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[15]
|
||||
|
||||
[system.tsunami.fake_pnp_read4]
|
||||
|
@ -431,8 +476,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[16]
|
||||
|
||||
[system.tsunami.fake_pnp_read5]
|
||||
|
@ -442,8 +492,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[17]
|
||||
|
||||
[system.tsunami.fake_pnp_read6]
|
||||
|
@ -453,8 +508,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[18]
|
||||
|
||||
[system.tsunami.fake_pnp_read7]
|
||||
|
@ -464,8 +524,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[19]
|
||||
|
||||
[system.tsunami.fake_pnp_write]
|
||||
|
@ -475,19 +540,29 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[11]
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[8]
|
||||
|
||||
[system.tsunami.fake_sm_chip]
|
||||
|
@ -497,8 +572,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[3]
|
||||
|
||||
[system.tsunami.fake_uart1]
|
||||
|
@ -508,8 +588,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[4]
|
||||
|
||||
[system.tsunami.fake_uart2]
|
||||
|
@ -519,8 +604,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[5]
|
||||
|
||||
[system.tsunami.fake_uart3]
|
||||
|
@ -530,8 +620,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[6]
|
||||
|
||||
[system.tsunami.fake_uart4]
|
||||
|
@ -541,8 +636,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[7]
|
||||
|
||||
[system.tsunami.fb]
|
||||
|
@ -612,8 +712,9 @@ pio_addr=8804615847936
|
|||
pio_latency=2
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=system.tsunami
|
||||
year_is_bcd=false
|
||||
pio=system.iobus.port[23]
|
||||
|
||||
[system.tsunami.pchip]
|
||||
|
|
|
@ -10,6 +10,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[system]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -57,6 +58,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
// width not specified
|
||||
function_trace=false
|
||||
|
@ -78,7 +80,12 @@ pio_addr=0
|
|||
pio_latency=0
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -149,6 +156,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
// width not specified
|
||||
function_trace=false
|
||||
|
@ -171,7 +179,12 @@ pio_addr=8804615848696
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -181,7 +194,12 @@ pio_addr=8804615848936
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -191,7 +209,12 @@ pio_addr=8804615848680
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -201,17 +224,27 @@ pio_addr=8804615848944
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -230,7 +263,8 @@ pio_latency=2
|
|||
frequency=1953125
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=system.tsunami
|
||||
|
||||
[]
|
||||
|
@ -269,7 +303,12 @@ pio_addr=8804615848304
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -279,7 +318,12 @@ pio_addr=8804615848432
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -297,7 +341,12 @@ pio_addr=8804615848643
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -307,7 +356,12 @@ pio_addr=8804615848579
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -317,7 +371,12 @@ pio_addr=8804615848515
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -327,7 +386,12 @@ pio_addr=8804615848451
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -337,7 +401,12 @@ pio_addr=8804615848899
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -347,7 +416,12 @@ pio_addr=8804615848835
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -357,7 +431,12 @@ pio_addr=8804615848771
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -367,7 +446,12 @@ pio_addr=8804615848707
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -377,7 +461,12 @@ pio_addr=8804615850617
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -464,7 +553,12 @@ pio_addr=8796093677568
|
|||
pio_latency=2
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -482,7 +576,12 @@ pio_addr=8804615848816
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -492,7 +591,12 @@ pio_addr=8804615848569
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -595,9 +699,6 @@ intel_format=false
|
|||
legion_lockstep=false
|
||||
trace_system=client
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[statsreset]
|
||||
reset_cycle=0
|
||||
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 321604 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 199700 # Number of bytes of host memory used
|
||||
host_seconds 208.16 # Real time elapsed on the host
|
||||
host_tick_rate 19071805 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 359240 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 240844 # Number of bytes of host memory used
|
||||
host_seconds 186.42 # Real time elapsed on the host
|
||||
host_tick_rate 21297758 # Simulator tick rate (ticks/s)
|
||||
sim_freq 2000000000 # Frequency of simulated ticks
|
||||
sim_insts 66945470 # Number of instructions simulated
|
||||
sim_seconds 1.985009 # Number of seconds simulated
|
||||
sim_ticks 3970017178 # Number of ticks simulated
|
||||
sim_insts 66968427 # Number of instructions simulated
|
||||
sim_seconds 1.985132 # Number of seconds simulated
|
||||
sim_ticks 3970264174 # Number of ticks simulated
|
||||
system.cpu0.dtb.accesses 1003481 # DTB accesses
|
||||
system.cpu0.dtb.acv 289 # DTB access violations
|
||||
system.cpu0.dtb.hits 13332675 # DTB hits
|
||||
system.cpu0.dtb.hits 13332650 # DTB hits
|
||||
system.cpu0.dtb.misses 8437 # DTB misses
|
||||
system.cpu0.dtb.read_accesses 695694 # DTB read accesses
|
||||
system.cpu0.dtb.read_acv 174 # DTB read access violations
|
||||
system.cpu0.dtb.read_hits 8285791 # DTB read hits
|
||||
system.cpu0.dtb.read_hits 8285777 # DTB read hits
|
||||
system.cpu0.dtb.read_misses 7640 # DTB read misses
|
||||
system.cpu0.dtb.write_accesses 307787 # DTB write accesses
|
||||
system.cpu0.dtb.write_acv 115 # DTB write access violations
|
||||
system.cpu0.dtb.write_hits 5046884 # DTB write hits
|
||||
system.cpu0.dtb.write_hits 5046873 # DTB write hits
|
||||
system.cpu0.dtb.write_misses 797 # DTB write misses
|
||||
system.cpu0.idle_fraction 0.928150 # Percentage of idle cycles
|
||||
system.cpu0.idle_fraction 0.928155 # Percentage of idle cycles
|
||||
system.cpu0.itb.accesses 4220935 # ITB accesses
|
||||
system.cpu0.itb.acv 143 # ITB acv
|
||||
system.cpu0.itb.hits 4217111 # ITB hits
|
||||
|
@ -58,12 +58,12 @@ system.cpu0.kern.ipl_good_21 143 0.13% 49.16% # nu
|
|||
system.cpu0.kern.ipl_good_22 2005 1.82% 50.97% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_good_30 483 0.44% 51.41% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_good_31 53596 48.59% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu0.kern.ipl_ticks 3970015394 # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_0 3836129328 96.63% 96.63% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks 3970262390 # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_0 3836377682 96.63% 96.63% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_21 133000 0.00% 96.63% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_22 1870128 0.05% 96.68% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_30 1206048 0.03% 96.71% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_31 130676890 3.29% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_ticks_31 130675532 3.29% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu0.kern.ipl_used 0.807801 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu0.kern.ipl_used_0 0.992330 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu0.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
|
||||
|
@ -80,8 +80,8 @@ system.cpu0.kern.mode_switch_good 0.311313 # fr
|
|||
system.cpu0.kern.mode_switch_good_kernel 0.184292 # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_switch_good_idle <err: div-0> # fraction of useful protection mode switches
|
||||
system.cpu0.kern.mode_ticks_kernel 3956260432 99.65% 99.65% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_user 13754954 0.35% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_kernel 3956507378 99.65% 99.65% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_user 13755004 0.35% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.mode_ticks_idle 0 0.00% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu0.kern.swap_context 2908 # number of times the context was actually changed
|
||||
system.cpu0.kern.syscall 227 # number of syscalls executed
|
||||
|
@ -115,28 +115,28 @@ system.cpu0.kern.syscall_98 2 0.88% 97.80% # nu
|
|||
system.cpu0.kern.syscall_132 2 0.88% 98.68% # number of syscalls executed
|
||||
system.cpu0.kern.syscall_144 1 0.44% 99.12% # number of syscalls executed
|
||||
system.cpu0.kern.syscall_147 2 0.88% 100.00% # number of syscalls executed
|
||||
system.cpu0.not_idle_fraction 0.071850 # Percentage of non-idle cycles
|
||||
system.cpu0.numCycles 3970017178 # number of cpu cycles simulated
|
||||
system.cpu0.num_insts 52312134 # Number of instructions executed
|
||||
system.cpu0.num_refs 13564902 # Number of memory references
|
||||
system.cpu0.not_idle_fraction 0.071845 # Percentage of non-idle cycles
|
||||
system.cpu0.numCycles 3970264174 # number of cpu cycles simulated
|
||||
system.cpu0.num_insts 52311968 # Number of instructions executed
|
||||
system.cpu0.num_refs 13564877 # Number of memory references
|
||||
system.cpu1.dtb.accesses 302962 # DTB accesses
|
||||
system.cpu1.dtb.acv 84 # DTB access violations
|
||||
system.cpu1.dtb.hits 4635665 # DTB hits
|
||||
system.cpu1.dtb.hits 4640482 # DTB hits
|
||||
system.cpu1.dtb.misses 3107 # DTB misses
|
||||
system.cpu1.dtb.read_accesses 205912 # DTB read accesses
|
||||
system.cpu1.dtb.read_acv 36 # DTB read access violations
|
||||
system.cpu1.dtb.read_hits 2664909 # DTB read hits
|
||||
system.cpu1.dtb.read_hits 2668410 # DTB read hits
|
||||
system.cpu1.dtb.read_misses 2747 # DTB read misses
|
||||
system.cpu1.dtb.write_accesses 97050 # DTB write accesses
|
||||
system.cpu1.dtb.write_acv 48 # DTB write access violations
|
||||
system.cpu1.dtb.write_hits 1970756 # DTB write hits
|
||||
system.cpu1.dtb.write_hits 1972072 # DTB write hits
|
||||
system.cpu1.dtb.write_misses 360 # DTB write misses
|
||||
system.cpu1.idle_fraction 0.974941 # Percentage of idle cycles
|
||||
system.cpu1.itb.accesses 1965693 # ITB accesses
|
||||
system.cpu1.idle_fraction 0.974914 # Percentage of idle cycles
|
||||
system.cpu1.itb.accesses 1965758 # ITB accesses
|
||||
system.cpu1.itb.acv 41 # ITB acv
|
||||
system.cpu1.itb.hits 1964446 # ITB hits
|
||||
system.cpu1.itb.hits 1964511 # ITB hits
|
||||
system.cpu1.itb.misses 1247 # ITB misses
|
||||
system.cpu1.kern.callpal 80664 # number of callpals executed
|
||||
system.cpu1.kern.callpal 80671 # number of callpals executed
|
||||
system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wripir 483 0.60% 0.60% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrmces 1 0.00% 0.60% # number of callpals executed
|
||||
|
@ -144,7 +144,7 @@ system.cpu1.kern.callpal_wrfen 1 0.00% 0.60% # nu
|
|||
system.cpu1.kern.callpal_swpctx 2277 2.82% 3.43% # number of callpals executed
|
||||
system.cpu1.kern.callpal_tbi 10 0.01% 3.44% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrent 7 0.01% 3.45% # number of callpals executed
|
||||
system.cpu1.kern.callpal_swpipl 71260 88.34% 91.79% # number of callpals executed
|
||||
system.cpu1.kern.callpal_swpipl 71267 88.34% 91.79% # number of callpals executed
|
||||
system.cpu1.kern.callpal_rdps 2378 2.95% 94.74% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrkgp 1 0.00% 94.74% # number of callpals executed
|
||||
system.cpu1.kern.callpal_wrusp 3 0.00% 94.74% # number of callpals executed
|
||||
|
@ -155,41 +155,41 @@ system.cpu1.kern.callpal_callsys 161 0.20% 99.96% # nu
|
|||
system.cpu1.kern.callpal_imb 31 0.04% 100.00% # number of callpals executed
|
||||
system.cpu1.kern.callpal_rdunique 1 0.00% 100.00% # number of callpals executed
|
||||
system.cpu1.kern.inst.arm 0 # number of arm instructions executed
|
||||
system.cpu1.kern.inst.hwrei 87713 # number of hwrei instructions executed
|
||||
system.cpu1.kern.inst.quiesce 2740 # number of quiesce instructions executed
|
||||
system.cpu1.kern.ipl_count 77873 # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_0 30259 38.86% 38.86% # number of times we switched to this ipl
|
||||
system.cpu1.kern.inst.hwrei 87720 # number of hwrei instructions executed
|
||||
system.cpu1.kern.inst.quiesce 2808 # number of quiesce instructions executed
|
||||
system.cpu1.kern.ipl_count 77880 # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_0 30262 38.86% 38.86% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_22 1997 2.56% 41.42% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_30 571 0.73% 42.15% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_count_31 45046 57.85% 100.00% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_good 60597 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_0 29300 48.35% 48.35% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_count_31 45050 57.85% 100.00% # number of times we switched to this ipl
|
||||
system.cpu1.kern.ipl_good 60603 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_0 29303 48.35% 48.35% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_22 1997 3.30% 51.65% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_30 571 0.94% 52.59% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_good_31 28729 47.41% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_ticks 3968771896 # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_0 3847181696 96.94% 96.94% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_22 1867354 0.05% 96.98% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_30 1457952 0.04% 97.02% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_31 118264894 2.98% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_used 0.778152 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_0 0.968307 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_good_31 28732 47.41% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu1.kern.ipl_ticks 3968772136 # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_0 3846937158 96.93% 96.93% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_22 1867822 0.05% 96.98% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_30 1457952 0.04% 97.01% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_ticks_31 118509204 2.99% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu1.kern.ipl_used 0.778159 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_0 0.968310 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_30 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.ipl_used_31 0.637770 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.mode_good_kernel 1013
|
||||
system.cpu1.kern.mode_good_user 518
|
||||
system.cpu1.kern.ipl_used_31 0.637780 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu1.kern.mode_good_kernel 1014
|
||||
system.cpu1.kern.mode_good_user 519
|
||||
system.cpu1.kern.mode_good_idle 495
|
||||
system.cpu1.kern.mode_switch_kernel 2345 # number of protection mode switches
|
||||
system.cpu1.kern.mode_switch_user 518 # number of protection mode switches
|
||||
system.cpu1.kern.mode_switch_user 519 # number of protection mode switches
|
||||
system.cpu1.kern.mode_switch_idle 3028 # number of protection mode switches
|
||||
system.cpu1.kern.mode_switch_good 0.343914 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_kernel 0.431983 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good 0.344196 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_kernel 0.432409 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_switch_good_idle 0.163474 # fraction of useful protection mode switches
|
||||
system.cpu1.kern.mode_ticks_kernel 63013938 1.59% 1.59% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_user 5102326 0.13% 1.72% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_idle 3899442912 98.28% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_kernel 63257834 1.59% 1.59% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_user 5106070 0.13% 1.72% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.mode_ticks_idle 3899443084 98.28% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu1.kern.swap_context 2278 # number of times the context was actually changed
|
||||
system.cpu1.kern.syscall 102 # number of syscalls executed
|
||||
system.cpu1.kern.syscall_2 2 1.96% 1.96% # number of syscalls executed
|
||||
|
@ -213,10 +213,10 @@ system.cpu1.kern.syscall_90 1 0.98% 95.10% # nu
|
|||
system.cpu1.kern.syscall_92 2 1.96% 97.06% # number of syscalls executed
|
||||
system.cpu1.kern.syscall_132 2 1.96% 99.02% # number of syscalls executed
|
||||
system.cpu1.kern.syscall_144 1 0.98% 100.00% # number of syscalls executed
|
||||
system.cpu1.not_idle_fraction 0.025059 # Percentage of non-idle cycles
|
||||
system.cpu1.numCycles 3968772136 # number of cpu cycles simulated
|
||||
system.cpu1.num_insts 14633336 # Number of instructions executed
|
||||
system.cpu1.num_refs 4665250 # Number of memory references
|
||||
system.cpu1.not_idle_fraction 0.025086 # Percentage of non-idle cycles
|
||||
system.cpu1.numCycles 3968772376 # number of cpu cycles simulated
|
||||
system.cpu1.num_insts 14656459 # Number of instructions executed
|
||||
system.cpu1.num_refs 4670067 # Number of memory references
|
||||
system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
|
||||
system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
|
||||
|
@ -234,7 +234,7 @@ system.tsunami.ethernet.coalescedRxIdle <err: div-0> # av
|
|||
system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal no value # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
Warning: rounding error > tolerance
|
||||
0.002000 rounded to 0
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
Listening for console connection on port 3457
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7001
|
||||
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7002
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3456
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
||||
0: system.remote_gdb.listener: listening for remote gdb #1 on port 7001
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
warn: 1082476: Trying to launch CPU number 1!
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Nov 5 2006 19:41:29
|
||||
M5 started Sun Nov 5 20:04:42 2006
|
||||
M5 executing on zizzer.eecs.umich.edu
|
||||
command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
|
||||
Exiting @ tick 3970017178 because m5_exit instruction encountered
|
||||
M5 compiled Jan 25 2007 15:05:30
|
||||
M5 started Thu Jan 25 15:09:33 2007
|
||||
M5 executing on zeep
|
||||
command line: /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/m5.opt -d /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-timing-dual
|
||||
Exiting @ tick 3970264174 because m5_exit instruction encountered
|
||||
|
|
|
@ -7,9 +7,6 @@ max_tick=0
|
|||
output_file=cout
|
||||
progress_interval=0
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[exetrace]
|
||||
intel_format=false
|
||||
legion_lockstep=false
|
||||
|
@ -89,6 +86,7 @@ max_insts_all_threads=0
|
|||
max_insts_any_thread=0
|
||||
max_loads_all_threads=0
|
||||
max_loads_any_thread=0
|
||||
phase=0
|
||||
profile=0
|
||||
progress_interval=0
|
||||
system=system
|
||||
|
@ -171,8 +169,13 @@ pio_latency=0
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.membus.default
|
||||
|
||||
[system.physmem]
|
||||
|
@ -180,6 +183,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=system.membus.port[1]
|
||||
|
||||
[system.sim_console]
|
||||
|
@ -312,8 +316,13 @@ pio_latency=2
|
|||
pio_size=393216
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[9]
|
||||
|
||||
[system.tsunami.fake_ata0]
|
||||
|
@ -323,8 +332,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[20]
|
||||
|
||||
[system.tsunami.fake_ata1]
|
||||
|
@ -334,8 +348,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[21]
|
||||
|
||||
[system.tsunami.fake_pnp_addr]
|
||||
|
@ -345,8 +364,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[10]
|
||||
|
||||
[system.tsunami.fake_pnp_read0]
|
||||
|
@ -356,8 +380,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[12]
|
||||
|
||||
[system.tsunami.fake_pnp_read1]
|
||||
|
@ -367,8 +396,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[13]
|
||||
|
||||
[system.tsunami.fake_pnp_read2]
|
||||
|
@ -378,8 +412,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[14]
|
||||
|
||||
[system.tsunami.fake_pnp_read3]
|
||||
|
@ -389,8 +428,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[15]
|
||||
|
||||
[system.tsunami.fake_pnp_read4]
|
||||
|
@ -400,8 +444,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[16]
|
||||
|
||||
[system.tsunami.fake_pnp_read5]
|
||||
|
@ -411,8 +460,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[17]
|
||||
|
||||
[system.tsunami.fake_pnp_read6]
|
||||
|
@ -422,8 +476,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[18]
|
||||
|
||||
[system.tsunami.fake_pnp_read7]
|
||||
|
@ -433,8 +492,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[19]
|
||||
|
||||
[system.tsunami.fake_pnp_write]
|
||||
|
@ -444,19 +508,29 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[11]
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[8]
|
||||
|
||||
[system.tsunami.fake_sm_chip]
|
||||
|
@ -466,8 +540,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[3]
|
||||
|
||||
[system.tsunami.fake_uart1]
|
||||
|
@ -477,8 +556,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[4]
|
||||
|
||||
[system.tsunami.fake_uart2]
|
||||
|
@ -488,8 +572,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[5]
|
||||
|
||||
[system.tsunami.fake_uart3]
|
||||
|
@ -499,8 +588,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[6]
|
||||
|
||||
[system.tsunami.fake_uart4]
|
||||
|
@ -510,8 +604,13 @@ pio_latency=2
|
|||
pio_size=8
|
||||
platform=system.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=system
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=system.iobus.port[7]
|
||||
|
||||
[system.tsunami.fb]
|
||||
|
@ -581,8 +680,9 @@ pio_addr=8804615847936
|
|||
pio_latency=2
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=system.tsunami
|
||||
year_is_bcd=false
|
||||
pio=system.iobus.port[23]
|
||||
|
||||
[system.tsunami.pchip]
|
||||
|
|
|
@ -10,6 +10,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[system]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -57,6 +58,7 @@ do_quiesce=true
|
|||
do_checkpoint_insts=true
|
||||
do_statistics_insts=true
|
||||
clock=1
|
||||
phase=0
|
||||
defer_registration=false
|
||||
// width not specified
|
||||
function_trace=false
|
||||
|
@ -78,7 +80,12 @@ pio_addr=0
|
|||
pio_latency=0
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -141,7 +148,12 @@ pio_addr=8804615848696
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -151,7 +163,12 @@ pio_addr=8804615848936
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -161,7 +178,12 @@ pio_addr=8804615848680
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -171,17 +193,27 @@ pio_addr=8804615848944
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
[system.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -200,7 +232,8 @@ pio_latency=2
|
|||
frequency=1953125
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=system.tsunami
|
||||
|
||||
[]
|
||||
|
@ -239,7 +272,12 @@ pio_addr=8804615848304
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -249,7 +287,12 @@ pio_addr=8804615848432
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -267,7 +310,12 @@ pio_addr=8804615848643
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -277,7 +325,12 @@ pio_addr=8804615848579
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -287,7 +340,12 @@ pio_addr=8804615848515
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -297,7 +355,12 @@ pio_addr=8804615848451
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -307,7 +370,12 @@ pio_addr=8804615848899
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -317,7 +385,12 @@ pio_addr=8804615848835
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -327,7 +400,12 @@ pio_addr=8804615848771
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -337,7 +415,12 @@ pio_addr=8804615848707
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -347,7 +430,12 @@ pio_addr=8804615850617
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -434,7 +522,12 @@ pio_addr=8796093677568
|
|||
pio_latency=2
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -452,7 +545,12 @@ pio_addr=8804615848816
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -462,7 +560,12 @@ pio_addr=8804615848569
|
|||
pio_latency=2
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=system.tsunami
|
||||
system=system
|
||||
|
||||
|
@ -565,9 +668,6 @@ intel_format=false
|
|||
legion_lockstep=false
|
||||
trace_system=client
|
||||
|
||||
[debug]
|
||||
break_cycles=
|
||||
|
||||
[statsreset]
|
||||
reset_cycle=0
|
||||
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
|
||||
---------- Begin Simulation Statistics ----------
|
||||
host_inst_rate 328353 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 199236 # Number of bytes of host memory used
|
||||
host_seconds 188.42 # Real time elapsed on the host
|
||||
host_tick_rate 20564913 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 469266 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 238376 # Number of bytes of host memory used
|
||||
host_seconds 131.89 # Real time elapsed on the host
|
||||
host_tick_rate 29380471 # Simulator tick rate (ticks/s)
|
||||
sim_freq 2000000000 # Frequency of simulated ticks
|
||||
sim_insts 61868161 # Number of instructions simulated
|
||||
sim_seconds 1.937422 # Number of seconds simulated
|
||||
sim_ticks 3874844018 # Number of ticks simulated
|
||||
sim_insts 61893104 # Number of instructions simulated
|
||||
sim_seconds 1.937550 # Number of seconds simulated
|
||||
sim_ticks 3875100962 # Number of ticks simulated
|
||||
system.cpu.dtb.accesses 1304554 # DTB accesses
|
||||
system.cpu.dtb.acv 367 # DTB access violations
|
||||
system.cpu.dtb.hits 16566194 # DTB hits
|
||||
system.cpu.dtb.hits 16571487 # DTB hits
|
||||
system.cpu.dtb.misses 11447 # DTB misses
|
||||
system.cpu.dtb.read_accesses 900486 # DTB read accesses
|
||||
system.cpu.dtb.read_acv 210 # DTB read access violations
|
||||
system.cpu.dtb.read_hits 10048141 # DTB read hits
|
||||
system.cpu.dtb.read_hits 10051940 # DTB read hits
|
||||
system.cpu.dtb.read_misses 10303 # DTB read misses
|
||||
system.cpu.dtb.write_accesses 404068 # DTB write accesses
|
||||
system.cpu.dtb.write_acv 157 # DTB write access violations
|
||||
system.cpu.dtb.write_hits 6518053 # DTB write hits
|
||||
system.cpu.dtb.write_hits 6519547 # DTB write hits
|
||||
system.cpu.dtb.write_misses 1144 # DTB write misses
|
||||
system.cpu.idle_fraction 0.918945 # Percentage of idle cycles
|
||||
system.cpu.itb.accesses 5663974 # ITB accesses
|
||||
system.cpu.idle_fraction 0.918919 # Percentage of idle cycles
|
||||
system.cpu.itb.accesses 5664253 # ITB accesses
|
||||
system.cpu.itb.acv 184 # ITB acv
|
||||
system.cpu.itb.hits 5658971 # ITB hits
|
||||
system.cpu.itb.hits 5659250 # ITB hits
|
||||
system.cpu.itb.misses 5003 # ITB misses
|
||||
system.cpu.kern.callpal 195242 # number of callpals executed
|
||||
system.cpu.kern.callpal 195265 # number of callpals executed
|
||||
system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrmces 1 0.00% 0.00% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrfen 1 0.00% 0.00% # number of callpals executed
|
||||
|
@ -33,51 +33,51 @@ system.cpu.kern.callpal_wrvptptr 1 0.00% 0.00% # nu
|
|||
system.cpu.kern.callpal_swpctx 4161 2.13% 2.13% # number of callpals executed
|
||||
system.cpu.kern.callpal_tbi 54 0.03% 2.16% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrent 7 0.00% 2.16% # number of callpals executed
|
||||
system.cpu.kern.callpal_swpipl 178096 91.22% 93.38% # number of callpals executed
|
||||
system.cpu.kern.callpal_rdps 6977 3.57% 96.96% # number of callpals executed
|
||||
system.cpu.kern.callpal_swpipl 178117 91.22% 93.38% # number of callpals executed
|
||||
system.cpu.kern.callpal_rdps 6978 3.57% 96.96% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrkgp 1 0.00% 96.96% # number of callpals executed
|
||||
system.cpu.kern.callpal_wrusp 7 0.00% 96.96% # number of callpals executed
|
||||
system.cpu.kern.callpal_rdusp 9 0.00% 96.96% # number of callpals executed
|
||||
system.cpu.kern.callpal_whami 2 0.00% 96.97% # number of callpals executed
|
||||
system.cpu.kern.callpal_rti 5212 2.67% 99.64% # number of callpals executed
|
||||
system.cpu.kern.callpal_rti 5213 2.67% 99.64% # number of callpals executed
|
||||
system.cpu.kern.callpal_callsys 531 0.27% 99.91% # number of callpals executed
|
||||
system.cpu.kern.callpal_imb 181 0.09% 100.00% # number of callpals executed
|
||||
system.cpu.kern.inst.arm 0 # number of arm instructions executed
|
||||
system.cpu.kern.inst.hwrei 214344 # number of hwrei instructions executed
|
||||
system.cpu.kern.inst.quiesce 6112 # number of quiesce instructions executed
|
||||
system.cpu.kern.ipl_count 185408 # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_0 75624 40.79% 40.79% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_21 143 0.08% 40.87% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_22 1956 1.05% 41.92% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_31 107685 58.08% 100.00% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_good 150613 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_0 74257 49.30% 49.30% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.inst.hwrei 214368 # number of hwrei instructions executed
|
||||
system.cpu.kern.inst.quiesce 6180 # number of quiesce instructions executed
|
||||
system.cpu.kern.ipl_count 185431 # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_0 75630 40.79% 40.79% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_21 143 0.08% 40.86% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_22 1957 1.06% 41.92% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_count_31 107701 58.08% 100.00% # number of times we switched to this ipl
|
||||
system.cpu.kern.ipl_good 150626 # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_0 74263 49.30% 49.30% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_21 143 0.09% 49.40% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_22 1956 1.30% 50.70% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_31 74257 49.30% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_ticks 3874842234 # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_0 3747190106 96.71% 96.71% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_21 122728 0.00% 96.71% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_22 915408 0.02% 96.73% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_31 126613992 3.27% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_used 0.812333 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_0 0.981924 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_good_22 1957 1.30% 50.70% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_good_31 74263 49.30% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
system.cpu.kern.ipl_ticks 3875099178 # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_0 3747191842 96.70% 96.70% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_21 122728 0.00% 96.70% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_22 915876 0.02% 96.73% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_ticks_31 126868732 3.27% 100.00% # number of cycles we spent at this ipl
|
||||
system.cpu.kern.ipl_used 0.812302 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_0 0.981925 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_21 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_22 1 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.ipl_used_31 0.689576 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.mode_good_kernel 1923
|
||||
system.cpu.kern.mode_good_user 1762
|
||||
system.cpu.kern.ipl_used_31 0.689529 # fraction of swpipl calls that actually changed the ipl
|
||||
system.cpu.kern.mode_good_kernel 1926
|
||||
system.cpu.kern.mode_good_user 1765
|
||||
system.cpu.kern.mode_good_idle 161
|
||||
system.cpu.kern.mode_switch_kernel 5967 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_user 1762 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_kernel 5968 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_user 1765 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_idle 2072 # number of protection mode switches
|
||||
system.cpu.kern.mode_switch_good 0.392409 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_kernel 0.322272 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good 0.392861 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_kernel 0.322721 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_switch_good_idle 0.077703 # fraction of useful protection mode switches
|
||||
system.cpu.kern.mode_ticks_kernel 118227580 3.05% 3.05% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_user 18744852 0.48% 3.53% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_idle 3737869794 96.47% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_kernel 118484404 3.06% 3.06% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_user 18744972 0.48% 3.54% # number of ticks spent at the given mode
|
||||
system.cpu.kern.mode_ticks_idle 3737869794 96.46% 100.00% # number of ticks spent at the given mode
|
||||
system.cpu.kern.swap_context 4162 # number of times the context was actually changed
|
||||
system.cpu.kern.syscall 329 # number of syscalls executed
|
||||
system.cpu.kern.syscall_2 8 2.43% 2.43% # number of syscalls executed
|
||||
|
@ -110,10 +110,10 @@ system.cpu.kern.syscall_98 2 0.61% 97.57% # nu
|
|||
system.cpu.kern.syscall_132 4 1.22% 98.78% # number of syscalls executed
|
||||
system.cpu.kern.syscall_144 2 0.61% 99.39% # number of syscalls executed
|
||||
system.cpu.kern.syscall_147 2 0.61% 100.00% # number of syscalls executed
|
||||
system.cpu.not_idle_fraction 0.081055 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 3874844018 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 61868161 # Number of instructions executed
|
||||
system.cpu.num_refs 16814275 # Number of memory references
|
||||
system.cpu.not_idle_fraction 0.081081 # Percentage of non-idle cycles
|
||||
system.cpu.numCycles 3875100962 # number of cpu cycles simulated
|
||||
system.cpu.num_insts 61893104 # Number of instructions executed
|
||||
system.cpu.num_refs 16819569 # Number of memory references
|
||||
system.disk0.dma_read_bytes 1024 # Number of bytes transfered via DMA reads (not PRD).
|
||||
system.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
system.disk0.dma_read_txs 1 # Number of DMA read transactions (not PRD).
|
||||
|
@ -129,9 +129,9 @@ system.disk2.dma_write_txs 1 # Nu
|
|||
system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxIdle <err: div-0> # average number of RxIdle's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOrn no value # average number of RxOrn's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTotal no value # average number of interrupts coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
|
||||
system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Warning: rounding error > tolerance
|
||||
0.002000 rounded to 0
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
0: system.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3456
|
||||
0: system.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
||||
warn: Entering event queue @ 0. Starting simulation...
|
||||
|
|
|
@ -5,8 +5,8 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Nov 5 2006 19:41:29
|
||||
M5 started Sun Nov 5 20:04:39 2006
|
||||
M5 executing on zizzer.eecs.umich.edu
|
||||
command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-timing
|
||||
Exiting @ tick 3874844018 because m5_exit instruction encountered
|
||||
M5 compiled Jan 25 2007 15:05:30
|
||||
M5 started Thu Jan 25 15:07:20 2007
|
||||
M5 executing on zeep
|
||||
command line: /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/m5.opt -d /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/tests/opt/quick/10.linux-boot/alpha/linux/tsunami-simple-timing tests/run.py quick/10.linux-boot/alpha/linux/tsunami-simple-timing
|
||||
Exiting @ tick 3875100962 because m5_exit instruction encountered
|
||||
|
|
|
@ -18,7 +18,7 @@ kernel=/dist/m5/system/binaries/vmlinux
|
|||
mem_mode=atomic
|
||||
pal=/dist/m5/system/binaries/ts_osfpal
|
||||
physmem=drivesys.physmem
|
||||
readfile=/z/hsul/work/m5/newmem/configs/boot/netperf-server.rcS
|
||||
readfile=/y/binkertn/research/m5/rtc/configs/boot/netperf-server.rcS
|
||||
symbolfile=
|
||||
system_rev=1024
|
||||
system_type=34
|
||||
|
@ -134,8 +134,13 @@ pio_latency=1
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.membus.default
|
||||
|
||||
[drivesys.physmem]
|
||||
|
@ -143,6 +148,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=drivesys.membus.port[1]
|
||||
|
||||
[drivesys.sim_console]
|
||||
|
@ -275,8 +281,13 @@ pio_latency=1000
|
|||
pio_size=393216
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[9]
|
||||
|
||||
[drivesys.tsunami.fake_ata0]
|
||||
|
@ -286,8 +297,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[20]
|
||||
|
||||
[drivesys.tsunami.fake_ata1]
|
||||
|
@ -297,8 +313,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[21]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_addr]
|
||||
|
@ -308,8 +329,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[10]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read0]
|
||||
|
@ -319,8 +345,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[12]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read1]
|
||||
|
@ -330,8 +361,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[13]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read2]
|
||||
|
@ -341,8 +377,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[14]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read3]
|
||||
|
@ -352,8 +393,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[15]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read4]
|
||||
|
@ -363,8 +409,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[16]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read5]
|
||||
|
@ -374,8 +425,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[17]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read6]
|
||||
|
@ -385,8 +441,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[18]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_read7]
|
||||
|
@ -396,8 +457,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[19]
|
||||
|
||||
[drivesys.tsunami.fake_pnp_write]
|
||||
|
@ -407,19 +473,29 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[11]
|
||||
|
||||
[drivesys.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=1000
|
||||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[8]
|
||||
|
||||
[drivesys.tsunami.fake_sm_chip]
|
||||
|
@ -429,8 +505,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[3]
|
||||
|
||||
[drivesys.tsunami.fake_uart1]
|
||||
|
@ -440,8 +521,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[4]
|
||||
|
||||
[drivesys.tsunami.fake_uart2]
|
||||
|
@ -451,8 +537,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[5]
|
||||
|
||||
[drivesys.tsunami.fake_uart3]
|
||||
|
@ -462,8 +553,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[6]
|
||||
|
||||
[drivesys.tsunami.fake_uart4]
|
||||
|
@ -473,8 +569,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=drivesys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=drivesys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=drivesys.iobus.port[7]
|
||||
|
||||
[drivesys.tsunami.fb]
|
||||
|
@ -544,8 +645,9 @@ pio_addr=8804615847936
|
|||
pio_latency=1000
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=drivesys.tsunami
|
||||
year_is_bcd=false
|
||||
pio=drivesys.iobus.port[23]
|
||||
|
||||
[drivesys.tsunami.pchip]
|
||||
|
@ -637,7 +739,7 @@ kernel=/dist/m5/system/binaries/vmlinux
|
|||
mem_mode=atomic
|
||||
pal=/dist/m5/system/binaries/ts_osfpal
|
||||
physmem=testsys.physmem
|
||||
readfile=/z/hsul/work/m5/newmem/configs/boot/netperf-stream-client.rcS
|
||||
readfile=/y/binkertn/research/m5/rtc/configs/boot/netperf-stream-client.rcS
|
||||
symbolfile=
|
||||
system_rev=1024
|
||||
system_type=34
|
||||
|
@ -753,8 +855,13 @@ pio_latency=1
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.membus.default
|
||||
|
||||
[testsys.physmem]
|
||||
|
@ -762,6 +869,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
latency=1
|
||||
range=0:134217727
|
||||
zero=false
|
||||
port=testsys.membus.port[1]
|
||||
|
||||
[testsys.sim_console]
|
||||
|
@ -894,8 +1002,13 @@ pio_latency=1000
|
|||
pio_size=393216
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[9]
|
||||
|
||||
[testsys.tsunami.fake_ata0]
|
||||
|
@ -905,8 +1018,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[20]
|
||||
|
||||
[testsys.tsunami.fake_ata1]
|
||||
|
@ -916,8 +1034,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[21]
|
||||
|
||||
[testsys.tsunami.fake_pnp_addr]
|
||||
|
@ -927,8 +1050,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[10]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read0]
|
||||
|
@ -938,8 +1066,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[12]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read1]
|
||||
|
@ -949,8 +1082,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[13]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read2]
|
||||
|
@ -960,8 +1098,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[14]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read3]
|
||||
|
@ -971,8 +1114,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[15]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read4]
|
||||
|
@ -982,8 +1130,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[16]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read5]
|
||||
|
@ -993,8 +1146,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[17]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read6]
|
||||
|
@ -1004,8 +1162,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[18]
|
||||
|
||||
[testsys.tsunami.fake_pnp_read7]
|
||||
|
@ -1015,8 +1178,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[19]
|
||||
|
||||
[testsys.tsunami.fake_pnp_write]
|
||||
|
@ -1026,19 +1194,29 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[11]
|
||||
|
||||
[testsys.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=1000
|
||||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[8]
|
||||
|
||||
[testsys.tsunami.fake_sm_chip]
|
||||
|
@ -1048,8 +1226,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[3]
|
||||
|
||||
[testsys.tsunami.fake_uart1]
|
||||
|
@ -1059,8 +1242,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[4]
|
||||
|
||||
[testsys.tsunami.fake_uart2]
|
||||
|
@ -1070,8 +1258,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[5]
|
||||
|
||||
[testsys.tsunami.fake_uart3]
|
||||
|
@ -1081,8 +1274,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[6]
|
||||
|
||||
[testsys.tsunami.fake_uart4]
|
||||
|
@ -1092,8 +1290,13 @@ pio_latency=1000
|
|||
pio_size=8
|
||||
platform=testsys.tsunami
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
ret_data8=255
|
||||
system=testsys
|
||||
update_data=false
|
||||
warn_access=
|
||||
pio=testsys.iobus.port[7]
|
||||
|
||||
[testsys.tsunami.fb]
|
||||
|
@ -1163,8 +1366,9 @@ pio_addr=8804615847936
|
|||
pio_latency=1000
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
tsunami=testsys.tsunami
|
||||
year_is_bcd=false
|
||||
pio=testsys.iobus.port[23]
|
||||
|
||||
[testsys.tsunami.pchip]
|
||||
|
|
|
@ -10,6 +10,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[testsys]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -20,7 +21,7 @@ kernel=/dist/m5/system/binaries/vmlinux
|
|||
console=/dist/m5/system/binaries/console
|
||||
pal=/dist/m5/system/binaries/ts_osfpal
|
||||
boot_osflags=root=/dev/hda1 console=ttyS0
|
||||
readfile=/z/hsul/work/m5/newmem/configs/boot/netperf-stream-client.rcS
|
||||
readfile=/y/binkertn/research/m5/rtc/configs/boot/netperf-stream-client.rcS
|
||||
symbolfile=
|
||||
init_param=0
|
||||
system_type=34
|
||||
|
@ -140,6 +141,7 @@ type=PhysicalMemory
|
|||
file=
|
||||
range=[0,134217727]
|
||||
latency=1
|
||||
zero=false
|
||||
|
||||
[drivesys]
|
||||
type=LinuxAlphaSystem
|
||||
|
@ -150,7 +152,7 @@ kernel=/dist/m5/system/binaries/vmlinux
|
|||
console=/dist/m5/system/binaries/console
|
||||
pal=/dist/m5/system/binaries/ts_osfpal
|
||||
boot_osflags=root=/dev/hda1 console=ttyS0
|
||||
readfile=/z/hsul/work/m5/newmem/configs/boot/netperf-server.rcS
|
||||
readfile=/y/binkertn/research/m5/rtc/configs/boot/netperf-server.rcS
|
||||
symbolfile=
|
||||
init_param=0
|
||||
system_type=34
|
||||
|
@ -292,7 +294,12 @@ pio_addr=0
|
|||
pio_latency=1
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -355,7 +362,12 @@ pio_addr=8804615848696
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -365,7 +377,12 @@ pio_addr=8804615848936
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -375,7 +392,12 @@ pio_addr=8804615848680
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -385,17 +407,27 @@ pio_addr=8804615848944
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
[testsys.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -414,7 +446,8 @@ pio_latency=1000
|
|||
frequency=976562500
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=testsys.tsunami
|
||||
|
||||
[]
|
||||
|
@ -453,7 +486,12 @@ pio_addr=8804615848304
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -463,7 +501,12 @@ pio_addr=8804615848432
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -481,7 +524,12 @@ pio_addr=8804615848643
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -491,7 +539,12 @@ pio_addr=8804615848579
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -501,7 +554,12 @@ pio_addr=8804615848515
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -511,7 +569,12 @@ pio_addr=8804615848451
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -521,7 +584,12 @@ pio_addr=8804615848899
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -531,7 +599,12 @@ pio_addr=8804615848835
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -541,7 +614,12 @@ pio_addr=8804615848771
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -551,7 +629,12 @@ pio_addr=8804615848707
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -561,7 +644,12 @@ pio_addr=8804615850617
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -579,7 +667,12 @@ pio_addr=8796093677568
|
|||
pio_latency=1000
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -597,7 +690,12 @@ pio_addr=8804615848816
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -607,7 +705,12 @@ pio_addr=8804615848569
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=testsys.tsunami
|
||||
system=testsys
|
||||
|
||||
|
@ -678,7 +781,12 @@ pio_addr=0
|
|||
pio_latency=1
|
||||
pio_size=8
|
||||
ret_bad_addr=true
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -741,7 +849,12 @@ pio_addr=8804615848696
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -751,7 +864,12 @@ pio_addr=8804615848936
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -761,7 +879,12 @@ pio_addr=8804615848680
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -771,17 +894,27 @@ pio_addr=8804615848944
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
[drivesys.tsunami.fake_ppc]
|
||||
type=IsaFake
|
||||
pio_addr=8804615848892
|
||||
pio_addr=8804615848891
|
||||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -800,7 +933,8 @@ pio_latency=1000
|
|||
frequency=976562500
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
time=1136073600
|
||||
time=2009 1 1 0 0 0 3 1
|
||||
year_is_bcd=false
|
||||
tsunami=drivesys.tsunami
|
||||
|
||||
[]
|
||||
|
@ -839,7 +973,12 @@ pio_addr=8804615848304
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -849,7 +988,12 @@ pio_addr=8804615848432
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -867,7 +1011,12 @@ pio_addr=8804615848643
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -877,7 +1026,12 @@ pio_addr=8804615848579
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -887,7 +1041,12 @@ pio_addr=8804615848515
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -897,7 +1056,12 @@ pio_addr=8804615848451
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -907,7 +1071,12 @@ pio_addr=8804615848899
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -917,7 +1086,12 @@ pio_addr=8804615848835
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -927,7 +1101,12 @@ pio_addr=8804615848771
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -937,7 +1116,12 @@ pio_addr=8804615848707
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -947,7 +1131,12 @@ pio_addr=8804615850617
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -965,7 +1154,12 @@ pio_addr=8796093677568
|
|||
pio_latency=1000
|
||||
pio_size=393216
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -983,7 +1177,12 @@ pio_addr=8804615848816
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
@ -993,7 +1192,12 @@ pio_addr=8804615848569
|
|||
pio_latency=1000
|
||||
pio_size=8
|
||||
ret_bad_addr=false
|
||||
ret_data=255
|
||||
update_data=false
|
||||
warn_access=
|
||||
ret_data8=255
|
||||
ret_data16=65535
|
||||
ret_data32=4294967295
|
||||
ret_data64=18446744073709551615
|
||||
platform=drivesys.tsunami
|
||||
system=drivesys
|
||||
|
||||
|
|
|
@ -39,8 +39,8 @@ drivesys.cpu.kern.ipl_good_0 1189 45.85% 45.85% # nu
|
|||
drivesys.cpu.kern.ipl_good_21 10 0.39% 46.24% # number of times we switched to this ipl from a different ipl
|
||||
drivesys.cpu.kern.ipl_good_22 205 7.91% 54.15% # number of times we switched to this ipl from a different ipl
|
||||
drivesys.cpu.kern.ipl_good_31 1189 45.85% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
drivesys.cpu.kern.ipl_ticks 199572064367 # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks_0 199571744404 100.00% 100.00% # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks 199572064521 # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks_0 199571744558 100.00% 100.00% # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks_21 1620 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks_22 17630 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
drivesys.cpu.kern.ipl_ticks_31 300713 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
|
@ -61,7 +61,7 @@ drivesys.cpu.kern.mode_switch_good_user 1 # fr
|
|||
drivesys.cpu.kern.mode_switch_good_idle 0.013761 # fraction of useful protection mode switches
|
||||
drivesys.cpu.kern.mode_ticks_kernel 263475 0.24% 0.24% # number of ticks spent at the given mode
|
||||
drivesys.cpu.kern.mode_ticks_user 1278343 1.18% 1.43% # number of ticks spent at the given mode
|
||||
drivesys.cpu.kern.mode_ticks_idle 106485234 98.57% 100.00% # number of ticks spent at the given mode
|
||||
drivesys.cpu.kern.mode_ticks_idle 106485080 98.57% 100.00% # number of ticks spent at the given mode
|
||||
drivesys.cpu.kern.swap_context 70 # number of times the context was actually changed
|
||||
drivesys.cpu.kern.syscall 22 # number of syscalls executed
|
||||
drivesys.cpu.kern.syscall_2 1 4.55% 4.55% # number of syscalls executed
|
||||
|
@ -77,8 +77,8 @@ drivesys.cpu.kern.syscall_106 1 4.55% 86.36% # nu
|
|||
drivesys.cpu.kern.syscall_118 2 9.09% 95.45% # number of syscalls executed
|
||||
drivesys.cpu.kern.syscall_150 1 4.55% 100.00% # number of syscalls executed
|
||||
drivesys.cpu.not_idle_fraction 0.000000 # Percentage of non-idle cycles
|
||||
drivesys.cpu.numCycles 1959293 # number of cpu cycles simulated
|
||||
drivesys.cpu.num_insts 1959077 # Number of instructions executed
|
||||
drivesys.cpu.numCycles 1959205 # number of cpu cycles simulated
|
||||
drivesys.cpu.num_insts 1958989 # Number of instructions executed
|
||||
drivesys.cpu.num_refs 626286 # Number of memory references
|
||||
drivesys.disk0.dma_read_bytes 0 # Number of bytes transfered via DMA reads (not PRD).
|
||||
drivesys.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
|
@ -140,12 +140,12 @@ drivesys.tsunami.ethernet.txPPS 25 # Pa
|
|||
drivesys.tsunami.ethernet.txPackets 5 # Number of Packets Transmitted
|
||||
drivesys.tsunami.ethernet.txTcpChecksums 2 # Number of tx TCP Checksums done by device
|
||||
drivesys.tsunami.ethernet.txUdpChecksums 0 # Number of tx UDP Checksums done by device
|
||||
host_inst_rate 38710250 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 411152 # Number of bytes of host memory used
|
||||
host_seconds 7.14 # Real time elapsed on the host
|
||||
host_tick_rate 28030590990 # Simulator tick rate (ticks/s)
|
||||
host_inst_rate 65873683 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 463096 # Number of bytes of host memory used
|
||||
host_seconds 4.19 # Real time elapsed on the host
|
||||
host_tick_rate 47718011872 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 276189231 # Number of instructions simulated
|
||||
sim_insts 276082930 # Number of instructions simulated
|
||||
sim_seconds 0.200001 # Number of seconds simulated
|
||||
sim_ticks 200000789468 # Number of ticks simulated
|
||||
testsys.cpu.dtb.accesses 335402 # DTB accesses
|
||||
|
@ -188,8 +188,8 @@ testsys.cpu.kern.ipl_good_0 5055 48.15% 48.15% # nu
|
|||
testsys.cpu.kern.ipl_good_21 183 1.74% 49.90% # number of times we switched to this ipl from a different ipl
|
||||
testsys.cpu.kern.ipl_good_22 205 1.95% 51.85% # number of times we switched to this ipl from a different ipl
|
||||
testsys.cpu.kern.ipl_good_31 5055 48.15% 100.00% # number of times we switched to this ipl from a different ipl
|
||||
testsys.cpu.kern.ipl_ticks 199569923603 # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks_0 199569308033 100.00% 100.00% # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks 199569923816 # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks_0 199569308246 100.00% 100.00% # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks_21 30857 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks_22 17630 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
testsys.cpu.kern.ipl_ticks_31 567083 0.00% 100.00% # number of cycles we spent at this ipl
|
||||
|
@ -208,9 +208,9 @@ testsys.cpu.kern.mode_switch_good 0.614085 # fr
|
|||
testsys.cpu.kern.mode_switch_good_kernel 0.594545 # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_user 1 # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_idle 0.013123 # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_ticks_kernel 1821232 2.16% 2.16% # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_kernel 1821166 2.16% 2.16% # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_user 1065606 1.26% 3.42% # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_idle 81403567 96.58% 100.00% # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_idle 81403516 96.58% 100.00% # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.swap_context 440 # number of times the context was actually changed
|
||||
testsys.cpu.kern.syscall 83 # number of syscalls executed
|
||||
testsys.cpu.kern.syscall_2 3 3.61% 3.61% # number of syscalls executed
|
||||
|
@ -235,8 +235,8 @@ testsys.cpu.kern.syscall_104 1 1.20% 93.98% # nu
|
|||
testsys.cpu.kern.syscall_105 3 3.61% 97.59% # number of syscalls executed
|
||||
testsys.cpu.kern.syscall_118 2 2.41% 100.00% # number of syscalls executed
|
||||
testsys.cpu.not_idle_fraction 0.000001 # Percentage of non-idle cycles
|
||||
testsys.cpu.numCycles 3566237 # number of cpu cycles simulated
|
||||
testsys.cpu.num_insts 3564671 # Number of instructions executed
|
||||
testsys.cpu.numCycles 3566149 # number of cpu cycles simulated
|
||||
testsys.cpu.num_insts 3564583 # Number of instructions executed
|
||||
testsys.cpu.num_refs 1173698 # Number of memory references
|
||||
testsys.disk0.dma_read_bytes 0 # Number of bytes transfered via DMA reads (not PRD).
|
||||
testsys.disk0.dma_read_full_pages 0 # Number of full page size DMA reads (not PRD).
|
||||
|
@ -357,10 +357,10 @@ drivesys.tsunami.ethernet.coalescedRxIdle <err: div-0> # a
|
|||
drivesys.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTotal no value # average number of interrupts coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxDesc no value # average number of TxDesc's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxIdle no value # average number of TxIdle's coalesced into each post
|
||||
drivesys.tsunami.ethernet.coalescedTxOk no value # average number of TxOk's coalesced into each post
|
||||
drivesys.tsunami.ethernet.descDMAReads 0 # Number of descriptors the device read w/ DMA
|
||||
drivesys.tsunami.ethernet.descDMAWrites 0 # Number of descriptors the device wrote w/ DMA
|
||||
drivesys.tsunami.ethernet.descDmaReadBytes 0 # number of descriptor bytes read w/ DMA
|
||||
|
@ -383,12 +383,12 @@ drivesys.tsunami.ethernet.totalSwi 0 # to
|
|||
drivesys.tsunami.ethernet.totalTxDesc 0 # total number of TxDesc written to ISR
|
||||
drivesys.tsunami.ethernet.totalTxIdle 0 # total number of TxIdle written to ISR
|
||||
drivesys.tsunami.ethernet.totalTxOk 0 # total number of TxOk written to ISR
|
||||
host_inst_rate 75502796884 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 411152 # Number of bytes of host memory used
|
||||
host_inst_rate 145844125726 # Simulator instruction rate (inst/s)
|
||||
host_mem_usage 463096 # Number of bytes of host memory used
|
||||
host_seconds 0.00 # Real time elapsed on the host
|
||||
host_tick_rate 201377914 # Simulator tick rate (ticks/s)
|
||||
host_tick_rate 385283333 # Simulator tick rate (ticks/s)
|
||||
sim_freq 1000000000000 # Frequency of simulated ticks
|
||||
sim_insts 276189231 # Number of instructions simulated
|
||||
sim_insts 276082930 # Number of instructions simulated
|
||||
sim_seconds 0.000001 # Number of seconds simulated
|
||||
sim_ticks 785978 # Number of ticks simulated
|
||||
testsys.cpu.dtb.accesses 0 # DTB accesses
|
||||
|
@ -417,10 +417,10 @@ testsys.cpu.kern.mode_good_idle 0
|
|||
testsys.cpu.kern.mode_switch_kernel 0 # number of protection mode switches
|
||||
testsys.cpu.kern.mode_switch_user 0 # number of protection mode switches
|
||||
testsys.cpu.kern.mode_switch_idle 0 # number of protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good no value # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_kernel no value # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_user no value # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_idle no value # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good <err: div-0> # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_kernel <err: div-0> # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_user <err: div-0> # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_switch_good_idle <err: div-0> # fraction of useful protection mode switches
|
||||
testsys.cpu.kern.mode_ticks_kernel 0 # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_user 0 # number of ticks spent at the given mode
|
||||
testsys.cpu.kern.mode_ticks_idle 0 # number of ticks spent at the given mode
|
||||
|
@ -446,10 +446,10 @@ testsys.tsunami.ethernet.coalescedRxIdle <err: div-0> # av
|
|||
testsys.tsunami.ethernet.coalescedRxOk <err: div-0> # average number of RxOk's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedRxOrn <err: div-0> # average number of RxOrn's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedSwi <err: div-0> # average number of Swi's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTotal <err: div-0> # average number of interrupts coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxIdle <err: div-0> # average number of TxIdle's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTotal no value # average number of interrupts coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxDesc no value # average number of TxDesc's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxIdle no value # average number of TxIdle's coalesced into each post
|
||||
testsys.tsunami.ethernet.coalescedTxOk no value # average number of TxOk's coalesced into each post
|
||||
testsys.tsunami.ethernet.descDMAReads 0 # Number of descriptors the device read w/ DMA
|
||||
testsys.tsunami.ethernet.descDMAWrites 0 # Number of descriptors the device wrote w/ DMA
|
||||
testsys.tsunami.ethernet.descDmaReadBytes 0 # number of descriptor bytes read w/ DMA
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
0: testsys.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
0: testsys.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3456
|
||||
0: drivesys.tsunami.io.rtc: Real-time clock set to Sun Jan 1 00:00:00 2006
|
||||
0: drivesys.tsunami.io.rtc: Real-time clock set to Thu Jan 1 00:00:00 2009
|
||||
Listening for console connection on port 3457
|
||||
0: testsys.remote_gdb.listener: listening for remote gdb #0 on port 7000
|
||||
0: drivesys.remote_gdb.listener: listening for remote gdb #1 on port 7001
|
||||
|
|
|
@ -5,10 +5,10 @@ The Regents of The University of Michigan
|
|||
All Rights Reserved
|
||||
|
||||
|
||||
M5 compiled Nov 29 2006 16:48:25
|
||||
M5 started Sat Dec 2 11:01:31 2006
|
||||
M5 executing on zed.eecs.umich.edu
|
||||
command line: build/ALPHA_FS/m5.opt -d build/ALPHA_FS/tests/opt/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic tests/run.py quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
|
||||
Resetting stats at cycle 4093398828306!
|
||||
Resetting stats at cycle 4293399617774!
|
||||
Exiting @ tick 4293400403752 because checkpoint
|
||||
M5 compiled Jan 25 2007 15:05:30
|
||||
M5 started Thu Jan 25 15:12:40 2007
|
||||
M5 executing on zeep
|
||||
command line: /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/m5.opt -d /n/zeep/y/binkertn/build/rtc/build/ALPHA_FS/tests/opt/quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic tests/run.py quick/80.netperf-stream/alpha/linux/twosys-tsunami-simple-atomic
|
||||
Resetting stats at cycle 4093398828093!
|
||||
Resetting stats at cycle 4293399617561!
|
||||
Exiting @ tick 4293400403539 because checkpoint
|
||||
|
|
Loading…
Reference in a new issue