Merge 141.212.106.238:/home/gblack/m5/newmemmemops

into  zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem

--HG--
extra : convert_revision : 753831a9f6f79d07e6ee122ab894e24161d2e722
This commit is contained in:
Gabe Black 2006-11-14 01:23:59 -05:00
commit 8d234a4bc5
64 changed files with 818 additions and 8726 deletions

View file

@ -175,6 +175,14 @@ env = Environment(ENV = os.environ, # inherit user's environment vars
ROOT = ROOT, ROOT = ROOT,
SRCDIR = SRCDIR) SRCDIR = SRCDIR)
#Parse CC/CXX early so that we use the correct compiler for
# to test for dependencies/versions/libraries/includes
if ARGUMENTS.get('CC', None):
env['CC'] = ARGUMENTS.get('CC')
if ARGUMENTS.get('CXX', None):
env['CXX'] = ARGUMENTS.get('CXX')
env.SConsignFile(os.path.join(build_root,"sconsign")) env.SConsignFile(os.path.join(build_root,"sconsign"))
# Default duplicate option is to use hard links, but this messes up # Default duplicate option is to use hard links, but this messes up

View file

@ -85,10 +85,6 @@ def run(options, root, testsys, cpu_class):
if not m5.build_env['FULL_SYSTEM']: if not m5.build_env['FULL_SYSTEM']:
switch_cpus[i].workload = testsys.cpu[i].workload switch_cpus[i].workload = testsys.cpu[i].workload
switch_cpus[i].clock = testsys.cpu[0].clock switch_cpus[i].clock = testsys.cpu[0].clock
if options.caches:
switch_cpus[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB'))
switch_cpus[i].connectMemPorts(testsys.membus)
root.switch_cpus = switch_cpus root.switch_cpus = switch_cpus
switch_cpu_list = [(testsys.cpu[i], switch_cpus[i]) for i in xrange(np)] switch_cpu_list = [(testsys.cpu[i], switch_cpus[i]) for i in xrange(np)]
@ -108,19 +104,15 @@ def run(options, root, testsys, cpu_class):
switch_cpus[i].clock = testsys.cpu[0].clock switch_cpus[i].clock = testsys.cpu[0].clock
switch_cpus_1[i].clock = testsys.cpu[0].clock switch_cpus_1[i].clock = testsys.cpu[0].clock
if options.caches: if not options.caches:
switch_cpus[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB'))
switch_cpus[i].connectMemPorts(testsys.membus)
else:
# O3 CPU must have a cache to work. # O3 CPU must have a cache to work.
switch_cpus_1[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'), switch_cpus_1[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB')) L1Cache(size = '64kB'))
switch_cpus_1[i].connectMemPorts(testsys.membus) switch_cpus_1[i].connectMemPorts(testsys.membus)
root.switch_cpus = switch_cpus testsys.switch_cpus = switch_cpus
root.switch_cpus_1 = switch_cpus_1 testsys.switch_cpus_1 = switch_cpus_1
switch_cpu_list = [(testsys.cpu[i], switch_cpus[i]) for i in xrange(np)] switch_cpu_list = [(testsys.cpu[i], switch_cpus[i]) for i in xrange(np)]
switch_cpu_list1 = [(switch_cpus[i], switch_cpus_1[i]) for i in xrange(np)] switch_cpu_list1 = [(switch_cpus[i], switch_cpus_1[i]) for i in xrange(np)]
@ -219,5 +211,5 @@ def run(options, root, testsys, cpu_class):
if exit_cause == '': if exit_cause == '':
exit_cause = exit_event.getCause() exit_cause = exit_event.getCause()
print 'Exiting @ cycle', m5.curTick(), 'because ', exit_cause print 'Exiting @ cycle %i because %s' % (m5.curTick(), exit_cause)

View file

@ -95,7 +95,7 @@ test_sys = makeLinuxAlphaSystem(test_mem_mode, bm[0])
np = options.num_cpus np = options.num_cpus
test_sys.cpu = [TestCPUClass(cpu_id=i) for i in xrange(np)] test_sys.cpu = [TestCPUClass(cpu_id=i) for i in xrange(np)]
for i in xrange(np): for i in xrange(np):
if options.caches and not options.standard_switch and not FutureClass: if options.caches:
test_sys.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'), test_sys.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB')) L1Cache(size = '64kB'))
test_sys.cpu[i].connectMemPorts(test_sys.membus) test_sys.cpu[i].connectMemPorts(test_sys.membus)

View file

@ -101,7 +101,7 @@ system = System(cpu = [CPUClass(cpu_id=i) for i in xrange(np)],
system.physmem.port = system.membus.port system.physmem.port = system.membus.port
for i in xrange(np): for i in xrange(np):
if options.caches and not options.standard_switch and not FutureClass: if options.caches:
system.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'), system.cpu[i].addPrivateSplitL1Caches(L1Cache(size = '32kB'),
L1Cache(size = '64kB')) L1Cache(size = '64kB'))
system.cpu[i].connectMemPorts(system.membus) system.cpu[i].connectMemPorts(system.membus)

View file

@ -129,6 +129,7 @@ base_sources = Split('''
mem/cache/cache_builder.cc mem/cache/cache_builder.cc
python/swig/debug_wrap.cc
python/swig/main_wrap.cc python/swig/main_wrap.cc
sim/builder.cc sim/builder.cc

View file

@ -49,6 +49,7 @@ namespace AlphaISA
{ {
memset(interrupts, 0, sizeof(interrupts)); memset(interrupts, 0, sizeof(interrupts));
intstatus = 0; intstatus = 0;
newInfoSet = false;
} }
void post(int int_num, int index) void post(int int_num, int index)
@ -137,18 +138,10 @@ namespace AlphaISA
} }
if (ipl && ipl > tc->readMiscReg(IPR_IPLR)) { if (ipl && ipl > tc->readMiscReg(IPR_IPLR)) {
tc->setMiscReg(IPR_ISR, summary); // assert(!newInfoSet);
tc->setMiscReg(IPR_INTID, ipl); newIpl = ipl;
newSummary = newSummary;
/* The following needs to be added back in somehow */ newInfoSet = true;
// Checker needs to know these two registers were updated.
/*#if USE_CHECKER
if (this->checker) {
this->checker->threadBase()->setMiscReg(IPR_ISR, summary);
this->checker->threadBase()->setMiscReg(IPR_INTID, ipl);
}
#endif*/
DPRINTF(Flow, "Interrupt! IPLR=%d ipl=%d summary=%x\n", DPRINTF(Flow, "Interrupt! IPLR=%d ipl=%d summary=%x\n",
tc->readMiscReg(IPR_IPLR), ipl, summary); tc->readMiscReg(IPR_IPLR), ipl, summary);
@ -158,7 +151,18 @@ namespace AlphaISA
} }
} }
void updateIntrInfo(ThreadContext *tc)
{
assert(newInfoSet);
tc->setMiscReg(IPR_ISR, newSummary);
tc->setMiscReg(IPR_INTID, newIpl);
newInfoSet = false;
}
private: private:
bool newInfoSet;
int newIpl;
int newSummary;
}; };
} }

View file

@ -132,7 +132,6 @@ namespace AlphaISA
MiscRegFile::setRegWithEffect(int misc_reg, const MiscReg &val, MiscRegFile::setRegWithEffect(int misc_reg, const MiscReg &val,
ThreadContext *tc) ThreadContext *tc)
{ {
#if FULL_SYSTEM
switch(misc_reg) { switch(misc_reg) {
case MISCREG_FPCR: case MISCREG_FPCR:
fpcr = val; fpcr = val;
@ -150,12 +149,13 @@ namespace AlphaISA
intr_flag = val; intr_flag = val;
return; return;
default: default:
return setIpr(misc_reg, val, tc); #if FULL_SYSTEM
} setIpr(misc_reg, val, tc);
#else #else
//panic("No registers with side effects in SE mode!"); panic("No registers with side effects in SE mode!");
return;
#endif #endif
return;
}
} }
} }

View file

@ -292,7 +292,7 @@ namespace AlphaISA
Fault Fault
ITB::translate(RequestPtr &req, ThreadContext *tc) const ITB::translate(RequestPtr &req, ThreadContext *tc) const
{ {
if (PcPAL(req->getVaddr())) { if (PcPAL(req->getPC())) {
// strip off PAL PC marker (lsb is 1) // strip off PAL PC marker (lsb is 1)
req->setPaddr((req->getVaddr() & ~3) & PAddrImplMask); req->setPaddr((req->getVaddr() & ~3) & PAddrImplMask);
hits++; hits++;

View file

@ -156,8 +156,11 @@ class AlphaO3CPU : public FullO3CPU<Impl>
bool simPalCheck(int palFunc, unsigned tid); bool simPalCheck(int palFunc, unsigned tid);
/** Processes any interrupts. */ /** Returns the Fault for any valid interrupt. */
void processInterrupts(); Fault getInterrupts();
/** Processes any an interrupt fault. */
void processInterrupts(Fault interrupt);
/** Halts the CPU. */ /** Halts the CPU. */
void halt() { panic("Halt not implemented!\n"); } void halt() { panic("Halt not implemented!\n"); }

View file

@ -266,9 +266,17 @@ AlphaO3CPU<Impl>::simPalCheck(int palFunc, unsigned tid)
return true; return true;
} }
template <class Impl>
Fault
AlphaO3CPU<Impl>::getInterrupts()
{
// Check if there are any outstanding interrupts
return this->interrupts.getInterrupt(this->threadContexts[0]);
}
template <class Impl> template <class Impl>
void void
AlphaO3CPU<Impl>::processInterrupts() AlphaO3CPU<Impl>::processInterrupts(Fault interrupt)
{ {
// Check for interrupts here. For now can copy the code that // Check for interrupts here. For now can copy the code that
// exists within isa_fullsys_traits.hh. Also assume that thread 0 // exists within isa_fullsys_traits.hh. Also assume that thread 0
@ -276,14 +284,12 @@ AlphaO3CPU<Impl>::processInterrupts()
// @todo: Possibly consolidate the interrupt checking code. // @todo: Possibly consolidate the interrupt checking code.
// @todo: Allow other threads to handle interrupts. // @todo: Allow other threads to handle interrupts.
// Check if there are any outstanding interrupts assert(interrupt != NoFault);
//Handle the interrupts this->interrupts.updateIntrInfo(this->threadContexts[0]);
Fault interrupt = this->interrupts.getInterrupt(this->tcBase(0));
if (interrupt != NoFault) { DPRINTF(O3CPU, "Interrupt %s being handled\n", interrupt->name());
this->checkInterrupts = false; this->checkInterrupts = false;
this->trap(interrupt, 0); this->trap(interrupt, 0);
}
} }
#endif // FULL_SYSTEM #endif // FULL_SYSTEM

View file

@ -392,6 +392,9 @@ class DefaultCommit
*/ */
Tick trapLatency; Tick trapLatency;
/** The interrupt fault. */
Fault interrupt;
/** The commit PC of each thread. Refers to the instruction that /** The commit PC of each thread. Refers to the instruction that
* is currently being processed/committed. * is currently being processed/committed.
*/ */

View file

@ -122,6 +122,9 @@ DefaultCommit<Impl>::DefaultCommit(Params *params)
tcSquash[i] = false; tcSquash[i] = false;
PC[i] = nextPC[i] = nextNPC[i] = 0; PC[i] = nextPC[i] = nextNPC[i] = 0;
} }
#if FULL_SYSTEM
interrupt = NoFault;
#endif
} }
template <class Impl> template <class Impl>
@ -635,51 +638,59 @@ DefaultCommit<Impl>::commit()
////////////////////////////////////// //////////////////////////////////////
#if FULL_SYSTEM #if FULL_SYSTEM
// Process interrupts if interrupts are enabled, not in PAL mode, if (interrupt != NoFault) {
// and no other traps or external squashes are currently pending.
// @todo: Allow other threads to handle interrupts.
if (cpu->checkInterrupts &&
cpu->check_interrupts(cpu->tcBase(0)) &&
!trapSquash[0] &&
!tcSquash[0]) {
// Tell fetch that there is an interrupt pending. This will
// make fetch wait until it sees a non PAL-mode PC, at which
// point it stops fetching instructions.
toIEW->commitInfo[0].interruptPending = true;
// Wait until the ROB is empty and all stores have drained in // Wait until the ROB is empty and all stores have drained in
// order to enter the interrupt. // order to enter the interrupt.
if (rob->isEmpty() && !iewStage->hasStoresToWB()) { if (rob->isEmpty() && !iewStage->hasStoresToWB()) {
// Not sure which thread should be the one to interrupt. For now // Squash or record that I need to squash this cycle if
// always do thread 0. // an interrupt needed to be handled.
DPRINTF(Commit, "Interrupt detected.\n");
assert(!thread[0]->inSyscall); assert(!thread[0]->inSyscall);
thread[0]->inSyscall = true; thread[0]->inSyscall = true;
// CPU will handle implementation of the interrupt. // CPU will handle interrupt.
cpu->processInterrupts(); cpu->processInterrupts(interrupt);
// Now squash or record that I need to squash this cycle.
commitStatus[0] = TrapPending;
// Exit state update mode to avoid accidental updating.
thread[0]->inSyscall = false; thread[0]->inSyscall = false;
commitStatus[0] = TrapPending;
// Generate trap squash event. // Generate trap squash event.
generateTrapEvent(0); generateTrapEvent(0);
// Clear the interrupt now that it's been handled
toIEW->commitInfo[0].clearInterrupt = true; toIEW->commitInfo[0].clearInterrupt = true;
interrupt = NoFault;
DPRINTF(Commit, "Interrupt detected.\n");
} else { } else {
DPRINTF(Commit, "Interrupt pending, waiting for ROB to empty.\n"); DPRINTF(Commit, "Interrupt pending, waiting for ROB to empty.\n");
} }
} else if (cpu->checkInterrupts &&
cpu->check_interrupts(cpu->tcBase(0)) &&
commitStatus[0] != TrapPending &&
!trapSquash[0] &&
!tcSquash[0]) {
// Process interrupts if interrupts are enabled, not in PAL
// mode, and no other traps or external squashes are currently
// pending.
// @todo: Allow other threads to handle interrupts.
// Get any interrupt that happened
interrupt = cpu->getInterrupts();
if (interrupt != NoFault) {
// Tell fetch that there is an interrupt pending. This
// will make fetch wait until it sees a non PAL-mode PC,
// at which point it stops fetching instructions.
toIEW->commitInfo[0].interruptPending = true;
}
} }
#endif // FULL_SYSTEM #endif // FULL_SYSTEM
//////////////////////////////////// ////////////////////////////////////
// Check for any possible squashes, handle them first // Check for any possible squashes, handle them first
//////////////////////////////////// ////////////////////////////////////
std::list<unsigned>::iterator threads = (*activeThreads).begin(); std::list<unsigned>::iterator threads = (*activeThreads).begin();
while (threads != (*activeThreads).end()) { while (threads != (*activeThreads).end()) {

View file

@ -819,6 +819,12 @@ unsigned int
FullO3CPU<Impl>::drain(Event *drain_event) FullO3CPU<Impl>::drain(Event *drain_event)
{ {
DPRINTF(O3CPU, "Switching out\n"); DPRINTF(O3CPU, "Switching out\n");
// If the CPU isn't doing anything, then return immediately.
if (_status == Idle || _status == SwitchedOut) {
return 0;
}
drainCount = 0; drainCount = 0;
fetch.drain(); fetch.drain();
decode.drain(); decode.drain();

View file

@ -561,27 +561,36 @@ DefaultFetch<Impl>::fetchCacheLine(Addr fetch_PC, Fault &ret_fault, unsigned tid
Fault fault = NoFault; Fault fault = NoFault;
//AlphaDep //AlphaDep
if (cacheBlocked || isSwitchedOut() || if (cacheBlocked) {
(interruptPending && (fetch_PC & 0x3))) { DPRINTF(Fetch, "[tid:%i] Can't fetch cache line, cache blocked\n",
tid);
return false;
} else if (isSwitchedOut()) {
DPRINTF(Fetch, "[tid:%i] Can't fetch cache line, switched out\n",
tid);
return false;
} else if (interruptPending && !(fetch_PC & 0x3)) {
// Hold off fetch from getting new instructions when: // Hold off fetch from getting new instructions when:
// Cache is blocked, or // Cache is blocked, or
// while an interrupt is pending and we're not in PAL mode, or // while an interrupt is pending and we're not in PAL mode, or
// fetch is switched out. // fetch is switched out.
DPRINTF(Fetch, "[tid:%i] Can't fetch cache line, interrupt pending\n",
tid);
return false; return false;
} }
// Align the fetch PC so it's at the start of a cache block. // Align the fetch PC so it's at the start of a cache block.
fetch_PC = icacheBlockAlignPC(fetch_PC); Addr block_PC = icacheBlockAlignPC(fetch_PC);
// If we've already got the block, no need to try to fetch it again. // If we've already got the block, no need to try to fetch it again.
if (cacheDataValid[tid] && fetch_PC == cacheDataPC[tid]) { if (cacheDataValid[tid] && block_PC == cacheDataPC[tid]) {
return true; return true;
} }
// Setup the memReq to do a read of the first instruction's address. // Setup the memReq to do a read of the first instruction's address.
// Set the appropriate read size and flags as well. // Set the appropriate read size and flags as well.
// Build request here. // Build request here.
RequestPtr mem_req = new Request(tid, fetch_PC, cacheBlkSize, 0, RequestPtr mem_req = new Request(tid, block_PC, cacheBlkSize, 0,
fetch_PC, cpu->readCpuId(), tid); fetch_PC, cpu->readCpuId(), tid);
memReq[tid] = mem_req; memReq[tid] = mem_req;
@ -611,7 +620,7 @@ DefaultFetch<Impl>::fetchCacheLine(Addr fetch_PC, Fault &ret_fault, unsigned tid
Packet::ReadReq, Packet::Broadcast); Packet::ReadReq, Packet::Broadcast);
data_pkt->dataDynamicArray(new uint8_t[cacheBlkSize]); data_pkt->dataDynamicArray(new uint8_t[cacheBlkSize]);
cacheDataPC[tid] = fetch_PC; cacheDataPC[tid] = block_PC;
cacheDataValid[tid] = false; cacheDataValid[tid] = false;
DPRINTF(Fetch, "Fetch: Doing instruction read.\n"); DPRINTF(Fetch, "Fetch: Doing instruction read.\n");
@ -976,7 +985,9 @@ DefaultFetch<Impl>::checkSignalsAndUpdate(unsigned tid)
} }
} }
if (checkStall(tid) && fetchStatus[tid] != IcacheWaitResponse) { if (checkStall(tid) &&
fetchStatus[tid] != IcacheWaitResponse &&
fetchStatus[tid] != IcacheWaitRetry) {
DPRINTF(Fetch, "[tid:%i]: Setting to blocked\n",tid); DPRINTF(Fetch, "[tid:%i]: Setting to blocked\n",tid);
fetchStatus[tid] = Blocked; fetchStatus[tid] = Blocked;
@ -1052,12 +1063,16 @@ DefaultFetch<Impl>::fetch(bool &status_change)
} else { } else {
if (fetchStatus[tid] == Idle) { if (fetchStatus[tid] == Idle) {
++fetchIdleCycles; ++fetchIdleCycles;
DPRINTF(Fetch, "[tid:%i]: Fetch is idle!\n", tid);
} else if (fetchStatus[tid] == Blocked) { } else if (fetchStatus[tid] == Blocked) {
++fetchBlockedCycles; ++fetchBlockedCycles;
DPRINTF(Fetch, "[tid:%i]: Fetch is blocked!\n", tid);
} else if (fetchStatus[tid] == Squashing) { } else if (fetchStatus[tid] == Squashing) {
++fetchSquashCycles; ++fetchSquashCycles;
DPRINTF(Fetch, "[tid:%i]: Fetch is squashing!\n", tid);
} else if (fetchStatus[tid] == IcacheWaitResponse) { } else if (fetchStatus[tid] == IcacheWaitResponse) {
++icacheStallCycles; ++icacheStallCycles;
DPRINTF(Fetch, "[tid:%i]: Fetch is waiting cache response!\n", tid);
} }
// Status is Idle, Squashing, Blocked, or IcacheWaitResponse, so // Status is Idle, Squashing, Blocked, or IcacheWaitResponse, so

View file

@ -46,7 +46,7 @@ template <class Impl>
void void
LSQ<Impl>::DcachePort::recvFunctional(PacketPtr pkt) LSQ<Impl>::DcachePort::recvFunctional(PacketPtr pkt)
{ {
warn("O3CPU doesn't update things on a recvFunctional."); DPRINTF(LSQ, "LSQ doesn't update things on a recvFunctional.");
} }
template <class Impl> template <class Impl>

View file

@ -67,7 +67,7 @@ Param<Tick> profile;
Param<bool> do_quiesce; Param<bool> do_quiesce;
Param<bool> do_checkpoint_insts; Param<bool> do_checkpoint_insts;
Param<bool> do_statistics_insts Param<bool> do_statistics_insts;
#else #else
SimObjectVectorParam<Process *> workload; SimObjectVectorParam<Process *> workload;
//SimObjectParam<PageTable *> page_table; //SimObjectParam<PageTable *> page_table;

View file

@ -700,52 +700,12 @@ OzoneCPU<Impl>::processInterrupts()
// Check if there are any outstanding interrupts // Check if there are any outstanding interrupts
//Handle the interrupts //Handle the interrupts
int ipl = 0; Fault interrupt = this->interrupts.getInterrupt(thread.getTC());
int summary = 0;
checkInterrupts = false; if (interrupt != NoFault) {
this->interrupts.updateIntrInfo(thread.getTC());
if (thread.readMiscReg(IPR_ASTRR)) this->checkInterrupts = false;
panic("asynchronous traps not implemented\n"); interrupt->invoke(thread.getTC());
if (thread.readMiscReg(IPR_SIRR)) {
for (int i = INTLEVEL_SOFTWARE_MIN;
i < INTLEVEL_SOFTWARE_MAX; i++) {
if (thread.readMiscReg(IPR_SIRR) & (ULL(1) << i)) {
// See table 4-19 of the 21164 hardware reference
ipl = (i - INTLEVEL_SOFTWARE_MIN) + 1;
summary |= (ULL(1) << i);
}
}
}
uint64_t interrupts = intr_status();
if (interrupts) {
for (int i = INTLEVEL_EXTERNAL_MIN;
i < INTLEVEL_EXTERNAL_MAX; i++) {
if (interrupts & (ULL(1) << i)) {
// See table 4-19 of the 21164 hardware reference
ipl = i;
summary |= (ULL(1) << i);
}
}
}
if (ipl && ipl > thread.readMiscReg(IPR_IPLR)) {
thread.setMiscReg(IPR_ISR, summary);
thread.setMiscReg(IPR_INTID, ipl);
#if USE_CHECKER
// @todo: Make this more transparent
if (checker) {
checker->threadBase()->setMiscReg(IPR_ISR, summary);
checker->threadBase()->setMiscReg(IPR_INTID, ipl);
}
#endif
Fault fault = new InterruptFault;
fault->invoke(thread.getTC());
DPRINTF(Flow, "Interrupt! IPLR=%d ipl=%d summary=%x\n",
thread.readMiscReg(IPR_IPLR), ipl, summary);
} }
} }

View file

@ -476,8 +476,8 @@ FrontEnd<Impl>::fetchCacheLine()
// Setup the memReq to do a read of the first isntruction's address. // Setup the memReq to do a read of the first isntruction's address.
// Set the appropriate read size and flags as well. // Set the appropriate read size and flags as well.
memReq = new Request(0, fetch_PC, cacheBlkSize, flags, memReq = new Request(0, fetch_PC, cacheBlkSize, 0,
fetch_PC, cpu->readCpuId(), 0); PC, cpu->readCpuId(), 0);
// Translate the instruction request. // Translate the instruction request.
fault = cpu->translateInstReq(memReq, thread); fault = cpu->translateInstReq(memReq, thread);

View file

@ -213,6 +213,9 @@ AtomicSimpleCPU::takeOverFrom(BaseCPU *oldCPU)
break; break;
} }
} }
if (_status != Running) {
_status = Idle;
}
} }

View file

@ -315,6 +315,7 @@ BaseSimpleCPU::checkForInterrupts()
Fault interrupt = interrupts.getInterrupt(tc); Fault interrupt = interrupts.getInterrupt(tc);
if (interrupt != NoFault) { if (interrupt != NoFault) {
interrupts.updateIntrInfo(tc);
checkInterrupts = false; checkInterrupts = false;
interrupt->invoke(tc); interrupt->invoke(tc);
} }

View file

@ -242,8 +242,11 @@ Bus::recvRetry(int id)
} }
} }
//If we weren't able to drain before, we might be able to now. //If we weren't able to drain before, we might be able to now.
if (drainEvent && retryList.size() == 0 && curTick >= tickNextIdle) if (drainEvent && retryList.size() == 0 && curTick >= tickNextIdle) {
drainEvent->process(); drainEvent->process();
// Clear the drain event once we're done with it.
drainEvent = NULL;
}
} }
Port * Port *
@ -367,6 +370,10 @@ Bus::recvAtomic(PacketPtr pkt)
DPRINTF(Bus, "recvAtomic: packet src %d dest %d addr 0x%x cmd %s\n", DPRINTF(Bus, "recvAtomic: packet src %d dest %d addr 0x%x cmd %s\n",
pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString()); pkt->getSrc(), pkt->getDest(), pkt->getAddr(), pkt->cmdString());
assert(pkt->getDest() == Packet::Broadcast); assert(pkt->getDest() == Packet::Broadcast);
// Assume one bus cycle in order to get through. This may have
// some clock skew issues yet again...
pkt->finishTime = curTick + clock;
Tick snoopTime = atomicSnoop(pkt); Tick snoopTime = atomicSnoop(pkt);
if (snoopTime) if (snoopTime)
return snoopTime; //Snoop satisfies it return snoopTime; //Snoop satisfies it

View file

@ -98,11 +98,17 @@ pyzip_files.append('m5/defines.py')
pyzip_files.append('m5/info.py') pyzip_files.append('m5/info.py')
pyzip_files.append(join(env['ROOT'], 'util/pbs/jobfile.py')) pyzip_files.append(join(env['ROOT'], 'util/pbs/jobfile.py'))
env.Command(['swig/debug_wrap.cc', 'm5/internal/debug.py'],
'swig/debug.i',
'$SWIG $SWIGFLAGS -outdir ${TARGETS[1].dir} '
'-o ${TARGETS[0]} $SOURCES')
env.Command(['swig/main_wrap.cc', 'm5/internal/main.py'], env.Command(['swig/main_wrap.cc', 'm5/internal/main.py'],
'swig/main.i', 'swig/main.i',
'$SWIG $SWIGFLAGS -outdir ${TARGETS[1].dir} ' '$SWIG $SWIGFLAGS -outdir ${TARGETS[1].dir} '
'-o ${TARGETS[0]} $SOURCES') '-o ${TARGETS[0]} $SOURCES')
pyzip_dep_files.append('m5/internal/debug.py')
pyzip_dep_files.append('m5/internal/main.py') pyzip_dep_files.append('m5/internal/main.py')
# Action function to build the zip archive. Uses the PyZipFile module # Action function to build the zip archive. Uses the PyZipFile module

View file

@ -275,7 +275,8 @@ def main():
objects.Statistics.text_file = options.stats_file objects.Statistics.text_file = options.stats_file
# set debugging options # set debugging options
objects.Debug.break_cycles = options.debug_break for when in options.debug_break:
internal.debug.schedBreakCycle(int(when))
# set tracing options # set tracing options
objects.Trace.flags = options.trace_flags objects.Trace.flags = options.trace_flags

View file

@ -5,7 +5,6 @@ from Serialize import Statreset
from Statistics import Statistics from Statistics import Statistics
from Trace import Trace from Trace import Trace
from ExeTrace import ExecutionTrace from ExeTrace import ExecutionTrace
from Debug import Debug
class Root(SimObject): class Root(SimObject):
type = 'Root' type = 'Root'
@ -22,4 +21,3 @@ class Root(SimObject):
trace = Trace() trace = Trace()
exetrace = ExecutionTrace() exetrace = ExecutionTrace()
serialize = Serialize() serialize = Serialize()
debug = Debug()

19
src/python/swig/debug.i Normal file
View file

@ -0,0 +1,19 @@
%module debug
%{
// include these files when compiling debug_wrap.cc
#include "sim/host.hh"
%}
%include "stdint.i"
%include "sim/host.hh"
%inline %{
extern void schedBreakCycle(Tick when);
%}
%wrapper %{
// fix up module name to reflect the fact that it's inside the m5 package
#undef SWIG_name
#define SWIG_name "m5.internal._debug"
%}

View file

@ -93,46 +93,18 @@ DebugBreakEvent::description()
return "debug break"; return "debug break";
} }
//
// Parameter context for global debug options
//
class DebugContext : public ParamContext
{
public:
DebugContext(const string &_iniSection)
: ParamContext(_iniSection) {}
void checkParams();
};
DebugContext debugParams("debug");
VectorParam<Tick> break_cycles(&debugParams, "break_cycles",
"cycle(s) to create breakpoint events");
void
DebugContext::checkParams()
{
if (break_cycles.isValid()) {
vector<Tick> &cycles = break_cycles;
vector<Tick>::iterator i = cycles.begin();
vector<Tick>::iterator end = cycles.end();
for (; i < end; ++i)
new DebugBreakEvent(&mainEventQueue, *i);
}
}
// //
// handy function to schedule DebugBreakEvent on main event queue // handy function to schedule DebugBreakEvent on main event queue
// (callable from debugger) // (callable from debugger)
// //
void sched_break_cycle(Tick when) void
schedBreakCycle(Tick when)
{ {
new DebugBreakEvent(&mainEventQueue, when); new DebugBreakEvent(&mainEventQueue, when);
} }
void eventq_dump() void
eventqDump()
{ {
mainEventQueue.dump(); mainEventQueue.dump();
} }

View file

@ -119,6 +119,7 @@ abortHandler(int sigtype)
extern "C" { extern "C" {
void init_main(); void init_main();
void init_debug();
} }
int int
@ -157,8 +158,9 @@ main(int argc, char **argv)
Py_Initialize(); Py_Initialize();
PySys_SetArgv(argc, argv); PySys_SetArgv(argc, argv);
// initialize SWIG 'm5.internal.main' module // initialize SWIG modules
init_main(); init_main();
init_debug();
PyRun_SimpleString("import m5.main"); PyRun_SimpleString("import m5.main");
PyRun_SimpleString("m5.main.main()"); PyRun_SimpleString("m5.main.main()");

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -406,6 +406,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

File diff suppressed because it is too large Load diff

View file

@ -6,8 +6,8 @@ The Regents of The University of Michigan
All Rights Reserved All Rights Reserved
M5 compiled Nov 3 2006 17:10:27 M5 compiled Nov 12 2006 23:25:38
M5 started Fri Nov 3 17:10:43 2006 M5 started Sun Nov 12 23:25:46 2006
M5 executing on zizzer.eecs.umich.edu M5 executing on zizzer.eecs.umich.edu
command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing tests/run.py quick/00.hello/alpha/linux/o3-timing command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/linux/o3-timing tests/run.py quick/00.hello/alpha/linux/o3-timing
Exiting @ tick 1408131 because target called exit() Exiting @ tick 1400135 because target called exit()

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -97,6 +97,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -218,6 +218,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -406,6 +406,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -1,21 +1,2 @@
warn: Entering event queue @ 0. Starting simulation... warn: Entering event queue @ 0. Starting simulation...
warn: cycle 0: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109049: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109050: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109051: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109052: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109053: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109054: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109055: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109056: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109057: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109062: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109063: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109064: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109065: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109066: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109067: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109068: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109069: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 109070: fault (page_table_fault) detected @ PC 0x000000
warn: ignoring syscall sigprocmask(1, 18446744073709547831, ...) warn: ignoring syscall sigprocmask(1, 18446744073709547831, ...)

View file

@ -6,8 +6,8 @@ The Regents of The University of Michigan
All Rights Reserved All Rights Reserved
M5 compiled Nov 3 2006 17:10:27 M5 compiled Nov 12 2006 23:25:38
M5 started Fri Nov 3 17:10:50 2006 M5 started Sun Nov 12 23:25:54 2006
M5 executing on zizzer.eecs.umich.edu M5 executing on zizzer.eecs.umich.edu
command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing tests/run.py quick/00.hello/alpha/tru64/o3-timing command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/00.hello/alpha/tru64/o3-timing tests/run.py quick/00.hello/alpha/tru64/o3-timing
Exiting @ tick 752027 because target called exit() Exiting @ tick 752028 because target called exit()

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -97,6 +97,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -218,6 +218,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -421,6 +421,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -1,29 +1 @@
warn: Entering event queue @ 0. Starting simulation... warn: Entering event queue @ 0. Starting simulation...
warn: cycle 0: fault (page_table_fault) detected @ PC 0x000000
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: cycle 1311113: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311114: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311115: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311124: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311125: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311126: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311127: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311128: fault (page_table_fault) detected @ PC 0x000000
warn: cycle 1311129: fault (page_table_fault) detected @ PC 0x000000
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.
warn: Default fetch doesn't update it's state from a functional call.

View file

@ -7,8 +7,8 @@ The Regents of The University of Michigan
All Rights Reserved All Rights Reserved
M5 compiled Nov 3 2006 17:10:27 M5 compiled Nov 12 2006 23:25:38
M5 started Fri Nov 3 17:10:57 2006 M5 started Sun Nov 12 23:26:01 2006
M5 executing on zizzer.eecs.umich.edu M5 executing on zizzer.eecs.umich.edu
command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/01.hello-2T-smt/alpha/linux/o3-timing tests/run.py quick/01.hello-2T-smt/alpha/linux/o3-timing command line: build/ALPHA_SE/m5.opt -d build/ALPHA_SE/tests/opt/quick/01.hello-2T-smt/alpha/linux/o3-timing tests/run.py quick/01.hello-2T-smt/alpha/linux/o3-timing
Exiting @ tick 2239163 because target called exit() Exiting @ tick 2237162 because target called exit()

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true
@ -77,6 +78,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=0 cpu_id=0
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu0.dtb dtb=system.cpu0.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0
@ -107,6 +111,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=1 cpu_id=1
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu1.dtb dtb=system.cpu1.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0

View file

@ -53,6 +53,9 @@ cpu_id=0
itb=system.cpu0.itb itb=system.cpu0.itb
dtb=system.cpu0.dtb dtb=system.cpu0.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
width=1 width=1
@ -142,6 +145,9 @@ cpu_id=1
itb=system.cpu1.itb itb=system.cpu1.itb
dtb=system.cpu1.dtb dtb=system.cpu1.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
width=1 width=1
@ -586,6 +592,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]
@ -594,8 +601,3 @@ break_cycles=
[statsreset] [statsreset]
reset_cycle=0 reset_cycle=0
[pseudo_inst]
quiesce=true
statistics=true
checkpoint=true

View file

@ -1,9 +1,9 @@
---------- Begin Simulation Statistics ---------- ---------- Begin Simulation Statistics ----------
host_inst_rate 1289947 # Simulator instruction rate (inst/s) host_inst_rate 1285205 # Simulator instruction rate (inst/s)
host_mem_usage 199348 # Number of bytes of host memory used host_mem_usage 200148 # Number of bytes of host memory used
host_seconds 50.32 # Real time elapsed on the host host_seconds 50.51 # Real time elapsed on the host
host_tick_rate 73890229 # Simulator tick rate (ticks/s) host_tick_rate 73618621 # Simulator tick rate (ticks/s)
sim_freq 2000000000 # Frequency of simulated ticks sim_freq 2000000000 # Frequency of simulated ticks
sim_insts 64909600 # Number of instructions simulated sim_insts 64909600 # Number of instructions simulated
sim_seconds 1.859078 # Number of seconds simulated sim_seconds 1.859078 # Number of seconds simulated
@ -21,9 +21,9 @@ system.cpu0.dtb.write_acv 125 # DT
system.cpu0.dtb.write_hits 5871355 # DTB write hits system.cpu0.dtb.write_hits 5871355 # DTB write hits
system.cpu0.dtb.write_misses 775 # DTB write misses system.cpu0.dtb.write_misses 775 # DTB write misses
system.cpu0.idle_fraction 0.984943 # Percentage of idle cycles system.cpu0.idle_fraction 0.984943 # Percentage of idle cycles
system.cpu0.itb.accesses 1436270 # ITB accesses system.cpu0.itb.accesses 3586919 # ITB accesses
system.cpu0.itb.acv 184 # ITB acv system.cpu0.itb.acv 184 # ITB acv
system.cpu0.itb.hits 1432801 # ITB hits system.cpu0.itb.hits 3583450 # ITB hits
system.cpu0.itb.misses 3469 # ITB misses system.cpu0.itb.misses 3469 # ITB misses
system.cpu0.kern.callpal 182754 # number of callpals executed system.cpu0.kern.callpal 182754 # number of callpals executed
system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -45,8 +45,6 @@ system.cpu0.kern.callpal_callsys 344 0.19% 99.93% # nu
system.cpu0.kern.callpal_imb 122 0.07% 100.00% # number of callpals executed system.cpu0.kern.callpal_imb 122 0.07% 100.00% # number of callpals executed
system.cpu0.kern.inst.arm 0 # number of arm instructions executed system.cpu0.kern.inst.arm 0 # number of arm instructions executed
system.cpu0.kern.inst.hwrei 196249 # number of hwrei instructions executed system.cpu0.kern.inst.hwrei 196249 # number of hwrei instructions executed
system.cpu0.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu0.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu0.kern.inst.quiesce 6184 # number of quiesce instructions executed system.cpu0.kern.inst.quiesce 6184 # number of quiesce instructions executed
system.cpu0.kern.ipl_count 174678 # number of times we switched to this ipl system.cpu0.kern.ipl_count 174678 # number of times we switched to this ipl
system.cpu0.kern.ipl_count_0 70736 40.50% 40.50% # number of times we switched to this ipl system.cpu0.kern.ipl_count_0 70736 40.50% 40.50% # number of times we switched to this ipl
@ -87,34 +85,34 @@ system.cpu0.kern.mode_ticks_user 1642961 0.04% 100.00% # nu
system.cpu0.kern.mode_ticks_idle 0 0.00% 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 system.cpu0.kern.swap_context 3792 # number of times the context was actually changed
system.cpu0.kern.syscall 199 # number of syscalls executed system.cpu0.kern.syscall 199 # number of syscalls executed
system.cpu0.kern.syscall_fork 8 4.02% 4.02% # number of syscalls executed system.cpu0.kern.syscall_2 8 4.02% 4.02% # number of syscalls executed
system.cpu0.kern.syscall_read 17 8.54% 12.56% # number of syscalls executed system.cpu0.kern.syscall_3 17 8.54% 12.56% # number of syscalls executed
system.cpu0.kern.syscall_write 4 2.01% 14.57% # number of syscalls executed system.cpu0.kern.syscall_4 4 2.01% 14.57% # number of syscalls executed
system.cpu0.kern.syscall_close 29 14.57% 29.15% # number of syscalls executed system.cpu0.kern.syscall_6 29 14.57% 29.15% # number of syscalls executed
system.cpu0.kern.syscall_chdir 1 0.50% 29.65% # number of syscalls executed system.cpu0.kern.syscall_12 1 0.50% 29.65% # number of syscalls executed
system.cpu0.kern.syscall_obreak 4 2.01% 31.66% # number of syscalls executed system.cpu0.kern.syscall_17 4 2.01% 31.66% # number of syscalls executed
system.cpu0.kern.syscall_lseek 10 5.03% 36.68% # number of syscalls executed system.cpu0.kern.syscall_19 10 5.03% 36.68% # number of syscalls executed
system.cpu0.kern.syscall_getpid 6 3.02% 39.70% # number of syscalls executed system.cpu0.kern.syscall_20 6 3.02% 39.70% # number of syscalls executed
system.cpu0.kern.syscall_setuid 1 0.50% 40.20% # number of syscalls executed system.cpu0.kern.syscall_23 1 0.50% 40.20% # number of syscalls executed
system.cpu0.kern.syscall_getuid 3 1.51% 41.71% # number of syscalls executed system.cpu0.kern.syscall_24 3 1.51% 41.71% # number of syscalls executed
system.cpu0.kern.syscall_access 6 3.02% 44.72% # number of syscalls executed system.cpu0.kern.syscall_33 6 3.02% 44.72% # number of syscalls executed
system.cpu0.kern.syscall_dup 2 1.01% 45.73% # number of syscalls executed system.cpu0.kern.syscall_41 2 1.01% 45.73% # number of syscalls executed
system.cpu0.kern.syscall_open 31 15.58% 61.31% # number of syscalls executed system.cpu0.kern.syscall_45 31 15.58% 61.31% # number of syscalls executed
system.cpu0.kern.syscall_getgid 3 1.51% 62.81% # number of syscalls executed system.cpu0.kern.syscall_47 3 1.51% 62.81% # number of syscalls executed
system.cpu0.kern.syscall_sigprocmask 10 5.03% 67.84% # number of syscalls executed system.cpu0.kern.syscall_48 10 5.03% 67.84% # number of syscalls executed
system.cpu0.kern.syscall_ioctl 9 4.52% 72.36% # number of syscalls executed system.cpu0.kern.syscall_54 9 4.52% 72.36% # number of syscalls executed
system.cpu0.kern.syscall_execve 6 3.02% 75.38% # number of syscalls executed system.cpu0.kern.syscall_59 6 3.02% 75.38% # number of syscalls executed
system.cpu0.kern.syscall_mmap 20 10.05% 85.43% # number of syscalls executed system.cpu0.kern.syscall_71 20 10.05% 85.43% # number of syscalls executed
system.cpu0.kern.syscall_munmap 3 1.51% 86.93% # number of syscalls executed system.cpu0.kern.syscall_73 3 1.51% 86.93% # number of syscalls executed
system.cpu0.kern.syscall_mprotect 5 2.51% 89.45% # number of syscalls executed system.cpu0.kern.syscall_74 5 2.51% 89.45% # number of syscalls executed
system.cpu0.kern.syscall_gethostname 1 0.50% 89.95% # number of syscalls executed system.cpu0.kern.syscall_87 1 0.50% 89.95% # number of syscalls executed
system.cpu0.kern.syscall_dup2 3 1.51% 91.46% # number of syscalls executed system.cpu0.kern.syscall_90 3 1.51% 91.46% # number of syscalls executed
system.cpu0.kern.syscall_fcntl 8 4.02% 95.48% # number of syscalls executed system.cpu0.kern.syscall_92 8 4.02% 95.48% # number of syscalls executed
system.cpu0.kern.syscall_socket 2 1.01% 96.48% # number of syscalls executed system.cpu0.kern.syscall_97 2 1.01% 96.48% # number of syscalls executed
system.cpu0.kern.syscall_connect 2 1.01% 97.49% # number of syscalls executed system.cpu0.kern.syscall_98 2 1.01% 97.49% # number of syscalls executed
system.cpu0.kern.syscall_setgid 1 0.50% 97.99% # number of syscalls executed system.cpu0.kern.syscall_132 1 0.50% 97.99% # number of syscalls executed
system.cpu0.kern.syscall_getrlimit 2 1.01% 98.99% # number of syscalls executed system.cpu0.kern.syscall_144 2 1.01% 98.99% # number of syscalls executed
system.cpu0.kern.syscall_setsid 2 1.01% 100.00% # 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.015057 # Percentage of non-idle cycles
system.cpu0.numCycles 55984201 # number of cpu cycles simulated system.cpu0.numCycles 55984201 # number of cpu cycles simulated
system.cpu0.num_insts 55980548 # Number of instructions executed system.cpu0.num_insts 55980548 # Number of instructions executed
@ -132,9 +130,9 @@ system.cpu1.dtb.write_acv 32 # DT
system.cpu1.dtb.write_hits 977524 # DTB write hits system.cpu1.dtb.write_hits 977524 # DTB write hits
system.cpu1.dtb.write_misses 375 # DTB write misses system.cpu1.dtb.write_misses 375 # DTB write misses
system.cpu1.idle_fraction 0.997598 # Percentage of idle cycles system.cpu1.idle_fraction 0.997598 # Percentage of idle cycles
system.cpu1.itb.accesses 1845187 # ITB accesses system.cpu1.itb.accesses 2420372 # ITB accesses
system.cpu1.itb.acv 0 # ITB acv system.cpu1.itb.acv 0 # ITB acv
system.cpu1.itb.hits 1843600 # ITB hits system.cpu1.itb.hits 2418785 # ITB hits
system.cpu1.itb.misses 1587 # ITB misses system.cpu1.itb.misses 1587 # ITB misses
system.cpu1.kern.callpal 34405 # number of callpals executed system.cpu1.kern.callpal 34405 # number of callpals executed
system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -155,8 +153,6 @@ system.cpu1.kern.callpal_imb 59 0.17% 100.00% # nu
system.cpu1.kern.callpal_rdunique 1 0.00% 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.arm 0 # number of arm instructions executed
system.cpu1.kern.inst.hwrei 42209 # number of hwrei instructions executed system.cpu1.kern.inst.hwrei 42209 # number of hwrei instructions executed
system.cpu1.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu1.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu1.kern.inst.quiesce 2146 # number of quiesce 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 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.ipl_count_0 11165 34.22% 34.22% # number of times we switched to this ipl
@ -193,22 +189,22 @@ system.cpu1.kern.mode_ticks_user 1950903 0.05% 0.18% # nu
system.cpu1.kern.mode_ticks_idle 3710606044 99.82% 100.00% # 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 system.cpu1.kern.swap_context 469 # number of times the context was actually changed
system.cpu1.kern.syscall 130 # number of syscalls executed system.cpu1.kern.syscall 130 # number of syscalls executed
system.cpu1.kern.syscall_read 13 10.00% 10.00% # number of syscalls executed system.cpu1.kern.syscall_3 13 10.00% 10.00% # number of syscalls executed
system.cpu1.kern.syscall_close 14 10.77% 20.77% # number of syscalls executed system.cpu1.kern.syscall_6 14 10.77% 20.77% # number of syscalls executed
system.cpu1.kern.syscall_chmod 1 0.77% 21.54% # number of syscalls executed system.cpu1.kern.syscall_15 1 0.77% 21.54% # number of syscalls executed
system.cpu1.kern.syscall_obreak 11 8.46% 30.00% # number of syscalls executed system.cpu1.kern.syscall_17 11 8.46% 30.00% # number of syscalls executed
system.cpu1.kern.syscall_setuid 3 2.31% 32.31% # number of syscalls executed system.cpu1.kern.syscall_23 3 2.31% 32.31% # number of syscalls executed
system.cpu1.kern.syscall_getuid 3 2.31% 34.62% # number of syscalls executed system.cpu1.kern.syscall_24 3 2.31% 34.62% # number of syscalls executed
system.cpu1.kern.syscall_access 5 3.85% 38.46% # number of syscalls executed system.cpu1.kern.syscall_33 5 3.85% 38.46% # number of syscalls executed
system.cpu1.kern.syscall_open 24 18.46% 56.92% # number of syscalls executed system.cpu1.kern.syscall_45 24 18.46% 56.92% # number of syscalls executed
system.cpu1.kern.syscall_getgid 3 2.31% 59.23% # number of syscalls executed system.cpu1.kern.syscall_47 3 2.31% 59.23% # number of syscalls executed
system.cpu1.kern.syscall_ioctl 1 0.77% 60.00% # number of syscalls executed system.cpu1.kern.syscall_54 1 0.77% 60.00% # number of syscalls executed
system.cpu1.kern.syscall_readlink 1 0.77% 60.77% # number of syscalls executed system.cpu1.kern.syscall_58 1 0.77% 60.77% # number of syscalls executed
system.cpu1.kern.syscall_execve 1 0.77% 61.54% # number of syscalls executed system.cpu1.kern.syscall_59 1 0.77% 61.54% # number of syscalls executed
system.cpu1.kern.syscall_mmap 34 26.15% 87.69% # number of syscalls executed system.cpu1.kern.syscall_71 34 26.15% 87.69% # number of syscalls executed
system.cpu1.kern.syscall_mprotect 11 8.46% 96.15% # number of syscalls executed system.cpu1.kern.syscall_74 11 8.46% 96.15% # number of syscalls executed
system.cpu1.kern.syscall_fcntl 2 1.54% 97.69% # number of syscalls executed system.cpu1.kern.syscall_92 2 1.54% 97.69% # number of syscalls executed
system.cpu1.kern.syscall_setgid 3 2.31% 100.00% # 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.not_idle_fraction 0.002402 # Percentage of non-idle cycles
system.cpu1.numCycles 8930639 # number of cpu cycles simulated system.cpu1.numCycles 8930639 # number of cpu cycles simulated
system.cpu1.num_insts 8929052 # Number of instructions executed system.cpu1.num_insts 8929052 # Number of instructions executed
@ -225,12 +221,12 @@ system.disk2.dma_read_txs 0 # Nu
system.disk2.dma_write_bytes 8192 # Number of bytes transfered via DMA writes. 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_full_pages 1 # Number of full page size DMA writes.
system.disk2.dma_write_txs 1 # Number of DMA write transactions. system.disk2.dma_write_txs 1 # Number of DMA write transactions.
system.tsunami.ethernet.coalescedRxDesc <err: div-0> # average number of RxDesc's coalesced into each post system.tsunami.ethernet.coalescedRxDesc no value # 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.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.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.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.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.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.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 system.tsunami.ethernet.coalescedTxOk <err: div-0> # average number of TxOk's coalesced into each post

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true
@ -77,6 +78,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=0 cpu_id=0
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu.dtb dtb=system.cpu.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0

View file

@ -53,6 +53,9 @@ cpu_id=0
itb=system.cpu.itb itb=system.cpu.itb
dtb=system.cpu.dtb dtb=system.cpu.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
width=1 width=1
@ -559,6 +562,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]
@ -567,8 +571,3 @@ break_cycles=
[statsreset] [statsreset]
reset_cycle=0 reset_cycle=0
[pseudo_inst]
quiesce=true
statistics=true
checkpoint=true

View file

@ -1,9 +1,9 @@
---------- Begin Simulation Statistics ---------- ---------- Begin Simulation Statistics ----------
host_inst_rate 1313531 # Simulator instruction rate (inst/s) host_inst_rate 1254169 # Simulator instruction rate (inst/s)
host_mem_usage 199136 # Number of bytes of host memory used host_mem_usage 199988 # Number of bytes of host memory used
host_seconds 47.04 # Real time elapsed on the host host_seconds 49.27 # Real time elapsed on the host
host_tick_rate 77256650 # Simulator tick rate (ticks/s) host_tick_rate 73765213 # Simulator tick rate (ticks/s)
sim_freq 2000000000 # Frequency of simulated ticks sim_freq 2000000000 # Frequency of simulated ticks
sim_insts 61788439 # Number of instructions simulated sim_insts 61788439 # Number of instructions simulated
sim_seconds 1.817090 # Number of seconds simulated sim_seconds 1.817090 # Number of seconds simulated
@ -21,9 +21,9 @@ system.cpu.dtb.write_acv 157 # DT
system.cpu.dtb.write_hits 6513710 # DTB write hits system.cpu.dtb.write_hits 6513710 # DTB write hits
system.cpu.dtb.write_misses 1145 # DTB write misses system.cpu.dtb.write_misses 1145 # DTB write misses
system.cpu.idle_fraction 0.982997 # Percentage of idle cycles system.cpu.idle_fraction 0.982997 # Percentage of idle cycles
system.cpu.itb.accesses 3281310 # ITB accesses system.cpu.itb.accesses 5655311 # ITB accesses
system.cpu.itb.acv 184 # ITB acv system.cpu.itb.acv 184 # ITB acv
system.cpu.itb.hits 3276320 # ITB hits system.cpu.itb.hits 5650321 # ITB hits
system.cpu.itb.misses 4990 # ITB misses system.cpu.itb.misses 4990 # ITB misses
system.cpu.kern.callpal 193842 # number of callpals executed system.cpu.kern.callpal 193842 # number of callpals executed
system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -44,8 +44,6 @@ system.cpu.kern.callpal_callsys 531 0.27% 99.91% # nu
system.cpu.kern.callpal_imb 181 0.09% 100.00% # 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.arm 0 # number of arm instructions executed
system.cpu.kern.inst.hwrei 212908 # number of hwrei instructions executed system.cpu.kern.inst.hwrei 212908 # number of hwrei instructions executed
system.cpu.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu.kern.inst.quiesce 6207 # number of quiesce 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 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.ipl_count_0 75348 40.94% 40.94% # number of times we switched to this ipl
@ -82,36 +80,36 @@ system.cpu.kern.mode_ticks_user 3591244 0.10% 1.60% # nu
system.cpu.kern.mode_ticks_idle 3575905080 98.40% 100.00% # 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.swap_context 4204 # number of times the context was actually changed 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 329 # number of syscalls executed
system.cpu.kern.syscall_fork 8 2.43% 2.43% # number of syscalls executed system.cpu.kern.syscall_2 8 2.43% 2.43% # number of syscalls executed
system.cpu.kern.syscall_read 30 9.12% 11.55% # number of syscalls executed system.cpu.kern.syscall_3 30 9.12% 11.55% # number of syscalls executed
system.cpu.kern.syscall_write 4 1.22% 12.77% # number of syscalls executed system.cpu.kern.syscall_4 4 1.22% 12.77% # number of syscalls executed
system.cpu.kern.syscall_close 43 13.07% 25.84% # number of syscalls executed system.cpu.kern.syscall_6 43 13.07% 25.84% # number of syscalls executed
system.cpu.kern.syscall_chdir 1 0.30% 26.14% # number of syscalls executed system.cpu.kern.syscall_12 1 0.30% 26.14% # number of syscalls executed
system.cpu.kern.syscall_chmod 1 0.30% 26.44% # number of syscalls executed system.cpu.kern.syscall_15 1 0.30% 26.44% # number of syscalls executed
system.cpu.kern.syscall_obreak 15 4.56% 31.00% # number of syscalls executed system.cpu.kern.syscall_17 15 4.56% 31.00% # number of syscalls executed
system.cpu.kern.syscall_lseek 10 3.04% 34.04% # number of syscalls executed system.cpu.kern.syscall_19 10 3.04% 34.04% # number of syscalls executed
system.cpu.kern.syscall_getpid 6 1.82% 35.87% # number of syscalls executed system.cpu.kern.syscall_20 6 1.82% 35.87% # number of syscalls executed
system.cpu.kern.syscall_setuid 4 1.22% 37.08% # number of syscalls executed system.cpu.kern.syscall_23 4 1.22% 37.08% # number of syscalls executed
system.cpu.kern.syscall_getuid 6 1.82% 38.91% # number of syscalls executed system.cpu.kern.syscall_24 6 1.82% 38.91% # number of syscalls executed
system.cpu.kern.syscall_access 11 3.34% 42.25% # number of syscalls executed system.cpu.kern.syscall_33 11 3.34% 42.25% # number of syscalls executed
system.cpu.kern.syscall_dup 2 0.61% 42.86% # number of syscalls executed system.cpu.kern.syscall_41 2 0.61% 42.86% # number of syscalls executed
system.cpu.kern.syscall_open 55 16.72% 59.57% # number of syscalls executed system.cpu.kern.syscall_45 55 16.72% 59.57% # number of syscalls executed
system.cpu.kern.syscall_getgid 6 1.82% 61.40% # number of syscalls executed system.cpu.kern.syscall_47 6 1.82% 61.40% # number of syscalls executed
system.cpu.kern.syscall_sigprocmask 10 3.04% 64.44% # number of syscalls executed system.cpu.kern.syscall_48 10 3.04% 64.44% # number of syscalls executed
system.cpu.kern.syscall_ioctl 10 3.04% 67.48% # number of syscalls executed system.cpu.kern.syscall_54 10 3.04% 67.48% # number of syscalls executed
system.cpu.kern.syscall_readlink 1 0.30% 67.78% # number of syscalls executed system.cpu.kern.syscall_58 1 0.30% 67.78% # number of syscalls executed
system.cpu.kern.syscall_execve 7 2.13% 69.91% # number of syscalls executed system.cpu.kern.syscall_59 7 2.13% 69.91% # number of syscalls executed
system.cpu.kern.syscall_mmap 54 16.41% 86.32% # number of syscalls executed system.cpu.kern.syscall_71 54 16.41% 86.32% # number of syscalls executed
system.cpu.kern.syscall_munmap 3 0.91% 87.23% # number of syscalls executed system.cpu.kern.syscall_73 3 0.91% 87.23% # number of syscalls executed
system.cpu.kern.syscall_mprotect 16 4.86% 92.10% # number of syscalls executed system.cpu.kern.syscall_74 16 4.86% 92.10% # number of syscalls executed
system.cpu.kern.syscall_gethostname 1 0.30% 92.40% # number of syscalls executed system.cpu.kern.syscall_87 1 0.30% 92.40% # number of syscalls executed
system.cpu.kern.syscall_dup2 3 0.91% 93.31% # number of syscalls executed system.cpu.kern.syscall_90 3 0.91% 93.31% # number of syscalls executed
system.cpu.kern.syscall_fcntl 10 3.04% 96.35% # number of syscalls executed system.cpu.kern.syscall_92 10 3.04% 96.35% # number of syscalls executed
system.cpu.kern.syscall_socket 2 0.61% 96.96% # number of syscalls executed system.cpu.kern.syscall_97 2 0.61% 96.96% # number of syscalls executed
system.cpu.kern.syscall_connect 2 0.61% 97.57% # number of syscalls executed system.cpu.kern.syscall_98 2 0.61% 97.57% # number of syscalls executed
system.cpu.kern.syscall_setgid 4 1.22% 98.78% # number of syscalls executed system.cpu.kern.syscall_132 4 1.22% 98.78% # number of syscalls executed
system.cpu.kern.syscall_getrlimit 2 0.61% 99.39% # number of syscalls executed system.cpu.kern.syscall_144 2 0.61% 99.39% # number of syscalls executed
system.cpu.kern.syscall_setsid 2 0.61% 100.00% # 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.not_idle_fraction 0.017003 # Percentage of non-idle cycles
system.cpu.numCycles 61793613 # number of cpu cycles simulated system.cpu.numCycles 61793613 # number of cpu cycles simulated
system.cpu.num_insts 61788439 # Number of instructions executed system.cpu.num_insts 61788439 # Number of instructions executed

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true
@ -77,6 +78,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=0 cpu_id=0
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu0.dtb dtb=system.cpu0.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0
@ -105,6 +109,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=1 cpu_id=1
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu1.dtb dtb=system.cpu1.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0

View file

@ -53,6 +53,9 @@ cpu_id=0
itb=system.cpu0.itb itb=system.cpu0.itb
dtb=system.cpu0.dtb dtb=system.cpu0.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
// width not specified // width not specified
@ -142,6 +145,9 @@ cpu_id=1
itb=system.cpu1.itb itb=system.cpu1.itb
dtb=system.cpu1.dtb dtb=system.cpu1.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
// width not specified // width not specified
@ -586,6 +592,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]
@ -594,8 +601,3 @@ break_cycles=
[statsreset] [statsreset]
reset_cycle=0 reset_cycle=0
[pseudo_inst]
quiesce=true
statistics=true
checkpoint=true

View file

@ -1,9 +1,9 @@
---------- Begin Simulation Statistics ---------- ---------- Begin Simulation Statistics ----------
host_inst_rate 341883 # Simulator instruction rate (inst/s) host_inst_rate 321604 # Simulator instruction rate (inst/s)
host_mem_usage 198856 # Number of bytes of host memory used host_mem_usage 199700 # Number of bytes of host memory used
host_seconds 195.81 # Real time elapsed on the host host_seconds 208.16 # Real time elapsed on the host
host_tick_rate 20274403 # Simulator tick rate (ticks/s) host_tick_rate 19071805 # Simulator tick rate (ticks/s)
sim_freq 2000000000 # Frequency of simulated ticks sim_freq 2000000000 # Frequency of simulated ticks
sim_insts 66945470 # Number of instructions simulated sim_insts 66945470 # Number of instructions simulated
sim_seconds 1.985009 # Number of seconds simulated sim_seconds 1.985009 # Number of seconds simulated
@ -21,9 +21,9 @@ system.cpu0.dtb.write_acv 115 # DT
system.cpu0.dtb.write_hits 5046884 # DTB write hits system.cpu0.dtb.write_hits 5046884 # DTB write hits
system.cpu0.dtb.write_misses 797 # DTB write misses system.cpu0.dtb.write_misses 797 # DTB write misses
system.cpu0.idle_fraction 0.928150 # Percentage of idle cycles system.cpu0.idle_fraction 0.928150 # Percentage of idle cycles
system.cpu0.itb.accesses 2398201 # ITB accesses system.cpu0.itb.accesses 4220935 # ITB accesses
system.cpu0.itb.acv 143 # ITB acv system.cpu0.itb.acv 143 # ITB acv
system.cpu0.itb.hits 2394377 # ITB hits system.cpu0.itb.hits 4217111 # ITB hits
system.cpu0.itb.misses 3824 # ITB misses system.cpu0.itb.misses 3824 # ITB misses
system.cpu0.kern.callpal 144637 # number of callpals executed system.cpu0.kern.callpal 144637 # number of callpals executed
system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu0.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -45,8 +45,6 @@ system.cpu0.kern.callpal_callsys 372 0.26% 99.90% # nu
system.cpu0.kern.callpal_imb 149 0.10% 100.00% # number of callpals executed system.cpu0.kern.callpal_imb 149 0.10% 100.00% # number of callpals executed
system.cpu0.kern.inst.arm 0 # number of arm instructions executed system.cpu0.kern.inst.arm 0 # number of arm instructions executed
system.cpu0.kern.inst.hwrei 159963 # number of hwrei instructions executed system.cpu0.kern.inst.hwrei 159963 # number of hwrei instructions executed
system.cpu0.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu0.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu0.kern.inst.quiesce 6648 # number of quiesce instructions executed system.cpu0.kern.inst.quiesce 6648 # number of quiesce instructions executed
system.cpu0.kern.ipl_count 136551 # number of times we switched to this ipl system.cpu0.kern.ipl_count 136551 # number of times we switched to this ipl
system.cpu0.kern.ipl_count_0 54497 39.91% 39.91% # number of times we switched to this ipl system.cpu0.kern.ipl_count_0 54497 39.91% 39.91% # number of times we switched to this ipl
@ -87,36 +85,36 @@ system.cpu0.kern.mode_ticks_user 13754954 0.35% 100.00% # nu
system.cpu0.kern.mode_ticks_idle 0 0.00% 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.swap_context 2908 # number of times the context was actually changed
system.cpu0.kern.syscall 227 # number of syscalls executed system.cpu0.kern.syscall 227 # number of syscalls executed
system.cpu0.kern.syscall_fork 6 2.64% 2.64% # number of syscalls executed system.cpu0.kern.syscall_2 6 2.64% 2.64% # number of syscalls executed
system.cpu0.kern.syscall_read 19 8.37% 11.01% # number of syscalls executed system.cpu0.kern.syscall_3 19 8.37% 11.01% # number of syscalls executed
system.cpu0.kern.syscall_write 3 1.32% 12.33% # number of syscalls executed system.cpu0.kern.syscall_4 3 1.32% 12.33% # number of syscalls executed
system.cpu0.kern.syscall_close 31 13.66% 25.99% # number of syscalls executed system.cpu0.kern.syscall_6 31 13.66% 25.99% # number of syscalls executed
system.cpu0.kern.syscall_chdir 1 0.44% 26.43% # number of syscalls executed system.cpu0.kern.syscall_12 1 0.44% 26.43% # number of syscalls executed
system.cpu0.kern.syscall_chmod 1 0.44% 26.87% # number of syscalls executed system.cpu0.kern.syscall_15 1 0.44% 26.87% # number of syscalls executed
system.cpu0.kern.syscall_obreak 10 4.41% 31.28% # number of syscalls executed system.cpu0.kern.syscall_17 10 4.41% 31.28% # number of syscalls executed
system.cpu0.kern.syscall_lseek 6 2.64% 33.92% # number of syscalls executed system.cpu0.kern.syscall_19 6 2.64% 33.92% # number of syscalls executed
system.cpu0.kern.syscall_getpid 4 1.76% 35.68% # number of syscalls executed system.cpu0.kern.syscall_20 4 1.76% 35.68% # number of syscalls executed
system.cpu0.kern.syscall_setuid 2 0.88% 36.56% # number of syscalls executed system.cpu0.kern.syscall_23 2 0.88% 36.56% # number of syscalls executed
system.cpu0.kern.syscall_getuid 4 1.76% 38.33% # number of syscalls executed system.cpu0.kern.syscall_24 4 1.76% 38.33% # number of syscalls executed
system.cpu0.kern.syscall_access 8 3.52% 41.85% # number of syscalls executed system.cpu0.kern.syscall_33 8 3.52% 41.85% # number of syscalls executed
system.cpu0.kern.syscall_dup 2 0.88% 42.73% # number of syscalls executed system.cpu0.kern.syscall_41 2 0.88% 42.73% # number of syscalls executed
system.cpu0.kern.syscall_open 40 17.62% 60.35% # number of syscalls executed system.cpu0.kern.syscall_45 40 17.62% 60.35% # number of syscalls executed
system.cpu0.kern.syscall_getgid 4 1.76% 62.11% # number of syscalls executed system.cpu0.kern.syscall_47 4 1.76% 62.11% # number of syscalls executed
system.cpu0.kern.syscall_sigprocmask 7 3.08% 65.20% # number of syscalls executed system.cpu0.kern.syscall_48 7 3.08% 65.20% # number of syscalls executed
system.cpu0.kern.syscall_ioctl 9 3.96% 69.16% # number of syscalls executed system.cpu0.kern.syscall_54 9 3.96% 69.16% # number of syscalls executed
system.cpu0.kern.syscall_readlink 1 0.44% 69.60% # number of syscalls executed system.cpu0.kern.syscall_58 1 0.44% 69.60% # number of syscalls executed
system.cpu0.kern.syscall_execve 5 2.20% 71.81% # number of syscalls executed system.cpu0.kern.syscall_59 5 2.20% 71.81% # number of syscalls executed
system.cpu0.kern.syscall_mmap 32 14.10% 85.90% # number of syscalls executed system.cpu0.kern.syscall_71 32 14.10% 85.90% # number of syscalls executed
system.cpu0.kern.syscall_munmap 3 1.32% 87.22% # number of syscalls executed system.cpu0.kern.syscall_73 3 1.32% 87.22% # number of syscalls executed
system.cpu0.kern.syscall_mprotect 9 3.96% 91.19% # number of syscalls executed system.cpu0.kern.syscall_74 9 3.96% 91.19% # number of syscalls executed
system.cpu0.kern.syscall_gethostname 1 0.44% 91.63% # number of syscalls executed system.cpu0.kern.syscall_87 1 0.44% 91.63% # number of syscalls executed
system.cpu0.kern.syscall_dup2 2 0.88% 92.51% # number of syscalls executed system.cpu0.kern.syscall_90 2 0.88% 92.51% # number of syscalls executed
system.cpu0.kern.syscall_fcntl 8 3.52% 96.04% # number of syscalls executed system.cpu0.kern.syscall_92 8 3.52% 96.04% # number of syscalls executed
system.cpu0.kern.syscall_socket 2 0.88% 96.92% # number of syscalls executed system.cpu0.kern.syscall_97 2 0.88% 96.92% # number of syscalls executed
system.cpu0.kern.syscall_connect 2 0.88% 97.80% # number of syscalls executed system.cpu0.kern.syscall_98 2 0.88% 97.80% # number of syscalls executed
system.cpu0.kern.syscall_setgid 2 0.88% 98.68% # number of syscalls executed system.cpu0.kern.syscall_132 2 0.88% 98.68% # number of syscalls executed
system.cpu0.kern.syscall_getrlimit 1 0.44% 99.12% # number of syscalls executed system.cpu0.kern.syscall_144 1 0.44% 99.12% # number of syscalls executed
system.cpu0.kern.syscall_setsid 2 0.88% 100.00% # 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.not_idle_fraction 0.071850 # Percentage of non-idle cycles
system.cpu0.numCycles 3970017178 # number of cpu cycles simulated system.cpu0.numCycles 3970017178 # number of cpu cycles simulated
system.cpu0.num_insts 52312134 # Number of instructions executed system.cpu0.num_insts 52312134 # Number of instructions executed
@ -134,9 +132,9 @@ system.cpu1.dtb.write_acv 48 # DT
system.cpu1.dtb.write_hits 1970756 # DTB write hits system.cpu1.dtb.write_hits 1970756 # DTB write hits
system.cpu1.dtb.write_misses 360 # DTB write misses system.cpu1.dtb.write_misses 360 # DTB write misses
system.cpu1.idle_fraction 0.974941 # Percentage of idle cycles system.cpu1.idle_fraction 0.974941 # Percentage of idle cycles
system.cpu1.itb.accesses 885878 # ITB accesses system.cpu1.itb.accesses 1965693 # ITB accesses
system.cpu1.itb.acv 41 # ITB acv system.cpu1.itb.acv 41 # ITB acv
system.cpu1.itb.hits 884631 # ITB hits system.cpu1.itb.hits 1964446 # ITB hits
system.cpu1.itb.misses 1247 # ITB misses system.cpu1.itb.misses 1247 # ITB misses
system.cpu1.kern.callpal 80664 # number of callpals executed system.cpu1.kern.callpal 80664 # number of callpals executed
system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu1.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -158,8 +156,6 @@ system.cpu1.kern.callpal_imb 31 0.04% 100.00% # nu
system.cpu1.kern.callpal_rdunique 1 0.00% 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.arm 0 # number of arm instructions executed
system.cpu1.kern.inst.hwrei 87713 # number of hwrei instructions executed system.cpu1.kern.inst.hwrei 87713 # number of hwrei instructions executed
system.cpu1.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu1.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu1.kern.inst.quiesce 2740 # number of quiesce 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 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.ipl_count_0 30259 38.86% 38.86% # number of times we switched to this ipl
@ -196,27 +192,27 @@ system.cpu1.kern.mode_ticks_user 5102326 0.13% 1.72% # nu
system.cpu1.kern.mode_ticks_idle 3899442912 98.28% 100.00% # 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.swap_context 2278 # number of times the context was actually changed 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 102 # number of syscalls executed
system.cpu1.kern.syscall_fork 2 1.96% 1.96% # number of syscalls executed system.cpu1.kern.syscall_2 2 1.96% 1.96% # number of syscalls executed
system.cpu1.kern.syscall_read 11 10.78% 12.75% # number of syscalls executed system.cpu1.kern.syscall_3 11 10.78% 12.75% # number of syscalls executed
system.cpu1.kern.syscall_write 1 0.98% 13.73% # number of syscalls executed system.cpu1.kern.syscall_4 1 0.98% 13.73% # number of syscalls executed
system.cpu1.kern.syscall_close 12 11.76% 25.49% # number of syscalls executed system.cpu1.kern.syscall_6 12 11.76% 25.49% # number of syscalls executed
system.cpu1.kern.syscall_obreak 5 4.90% 30.39% # number of syscalls executed system.cpu1.kern.syscall_17 5 4.90% 30.39% # number of syscalls executed
system.cpu1.kern.syscall_lseek 4 3.92% 34.31% # number of syscalls executed system.cpu1.kern.syscall_19 4 3.92% 34.31% # number of syscalls executed
system.cpu1.kern.syscall_getpid 2 1.96% 36.27% # number of syscalls executed system.cpu1.kern.syscall_20 2 1.96% 36.27% # number of syscalls executed
system.cpu1.kern.syscall_setuid 2 1.96% 38.24% # number of syscalls executed system.cpu1.kern.syscall_23 2 1.96% 38.24% # number of syscalls executed
system.cpu1.kern.syscall_getuid 2 1.96% 40.20% # number of syscalls executed system.cpu1.kern.syscall_24 2 1.96% 40.20% # number of syscalls executed
system.cpu1.kern.syscall_access 3 2.94% 43.14% # number of syscalls executed system.cpu1.kern.syscall_33 3 2.94% 43.14% # number of syscalls executed
system.cpu1.kern.syscall_open 15 14.71% 57.84% # number of syscalls executed system.cpu1.kern.syscall_45 15 14.71% 57.84% # number of syscalls executed
system.cpu1.kern.syscall_getgid 2 1.96% 59.80% # number of syscalls executed system.cpu1.kern.syscall_47 2 1.96% 59.80% # number of syscalls executed
system.cpu1.kern.syscall_sigprocmask 3 2.94% 62.75% # number of syscalls executed system.cpu1.kern.syscall_48 3 2.94% 62.75% # number of syscalls executed
system.cpu1.kern.syscall_ioctl 1 0.98% 63.73% # number of syscalls executed system.cpu1.kern.syscall_54 1 0.98% 63.73% # number of syscalls executed
system.cpu1.kern.syscall_execve 2 1.96% 65.69% # number of syscalls executed system.cpu1.kern.syscall_59 2 1.96% 65.69% # number of syscalls executed
system.cpu1.kern.syscall_mmap 22 21.57% 87.25% # number of syscalls executed system.cpu1.kern.syscall_71 22 21.57% 87.25% # number of syscalls executed
system.cpu1.kern.syscall_mprotect 7 6.86% 94.12% # number of syscalls executed system.cpu1.kern.syscall_74 7 6.86% 94.12% # number of syscalls executed
system.cpu1.kern.syscall_dup2 1 0.98% 95.10% # number of syscalls executed system.cpu1.kern.syscall_90 1 0.98% 95.10% # number of syscalls executed
system.cpu1.kern.syscall_fcntl 2 1.96% 97.06% # number of syscalls executed system.cpu1.kern.syscall_92 2 1.96% 97.06% # number of syscalls executed
system.cpu1.kern.syscall_setgid 2 1.96% 99.02% # number of syscalls executed system.cpu1.kern.syscall_132 2 1.96% 99.02% # number of syscalls executed
system.cpu1.kern.syscall_getrlimit 1 0.98% 100.00% # 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.not_idle_fraction 0.025059 # Percentage of non-idle cycles
system.cpu1.numCycles 3968772136 # number of cpu cycles simulated system.cpu1.numCycles 3968772136 # number of cpu cycles simulated
system.cpu1.num_insts 14633336 # Number of instructions executed system.cpu1.num_insts 14633336 # Number of instructions executed

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true
@ -77,6 +78,9 @@ children=dtb itb
clock=1 clock=1
cpu_id=0 cpu_id=0
defer_registration=false defer_registration=false
do_checkpoint_insts=true
do_quiesce=true
do_statistics_insts=true
dtb=system.cpu.dtb dtb=system.cpu.dtb
function_trace=false function_trace=false
function_trace_start=0 function_trace_start=0

View file

@ -53,6 +53,9 @@ cpu_id=0
itb=system.cpu.itb itb=system.cpu.itb
dtb=system.cpu.dtb dtb=system.cpu.dtb
profile=0 profile=0
do_quiesce=true
do_checkpoint_insts=true
do_statistics_insts=true
clock=1 clock=1
defer_registration=false defer_registration=false
// width not specified // width not specified
@ -559,6 +562,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]
@ -567,8 +571,3 @@ break_cycles=
[statsreset] [statsreset]
reset_cycle=0 reset_cycle=0
[pseudo_inst]
quiesce=true
statistics=true
checkpoint=true

View file

@ -1,9 +1,9 @@
---------- Begin Simulation Statistics ---------- ---------- Begin Simulation Statistics ----------
host_inst_rate 351787 # Simulator instruction rate (inst/s) host_inst_rate 328353 # Simulator instruction rate (inst/s)
host_mem_usage 198432 # Number of bytes of host memory used host_mem_usage 199236 # Number of bytes of host memory used
host_seconds 175.87 # Real time elapsed on the host host_seconds 188.42 # Real time elapsed on the host
host_tick_rate 22032614 # Simulator tick rate (ticks/s) host_tick_rate 20564913 # Simulator tick rate (ticks/s)
sim_freq 2000000000 # Frequency of simulated ticks sim_freq 2000000000 # Frequency of simulated ticks
sim_insts 61868161 # Number of instructions simulated sim_insts 61868161 # Number of instructions simulated
sim_seconds 1.937422 # Number of seconds simulated sim_seconds 1.937422 # Number of seconds simulated
@ -21,9 +21,9 @@ system.cpu.dtb.write_acv 157 # DT
system.cpu.dtb.write_hits 6518053 # DTB write hits system.cpu.dtb.write_hits 6518053 # DTB write hits
system.cpu.dtb.write_misses 1144 # DTB write misses system.cpu.dtb.write_misses 1144 # DTB write misses
system.cpu.idle_fraction 0.918945 # Percentage of idle cycles system.cpu.idle_fraction 0.918945 # Percentage of idle cycles
system.cpu.itb.accesses 3281349 # ITB accesses system.cpu.itb.accesses 5663974 # ITB accesses
system.cpu.itb.acv 184 # ITB acv system.cpu.itb.acv 184 # ITB acv
system.cpu.itb.hits 3276346 # ITB hits system.cpu.itb.hits 5658971 # ITB hits
system.cpu.itb.misses 5003 # ITB misses system.cpu.itb.misses 5003 # ITB misses
system.cpu.kern.callpal 195242 # number of callpals executed system.cpu.kern.callpal 195242 # number of callpals executed
system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed system.cpu.kern.callpal_cserve 1 0.00% 0.00% # number of callpals executed
@ -44,8 +44,6 @@ system.cpu.kern.callpal_callsys 531 0.27% 99.91% # nu
system.cpu.kern.callpal_imb 181 0.09% 100.00% # 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.arm 0 # number of arm instructions executed
system.cpu.kern.inst.hwrei 214344 # number of hwrei instructions executed system.cpu.kern.inst.hwrei 214344 # number of hwrei instructions executed
system.cpu.kern.inst.ivlb 0 # number of ivlb instructions executed
system.cpu.kern.inst.ivle 0 # number of ivle instructions executed
system.cpu.kern.inst.quiesce 6112 # number of quiesce 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 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_0 75624 40.79% 40.79% # number of times we switched to this ipl
@ -82,36 +80,36 @@ system.cpu.kern.mode_ticks_user 18744852 0.48% 3.53% # nu
system.cpu.kern.mode_ticks_idle 3737869794 96.47% 100.00% # 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.swap_context 4162 # number of times the context was actually changed 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 329 # number of syscalls executed
system.cpu.kern.syscall_fork 8 2.43% 2.43% # number of syscalls executed system.cpu.kern.syscall_2 8 2.43% 2.43% # number of syscalls executed
system.cpu.kern.syscall_read 30 9.12% 11.55% # number of syscalls executed system.cpu.kern.syscall_3 30 9.12% 11.55% # number of syscalls executed
system.cpu.kern.syscall_write 4 1.22% 12.77% # number of syscalls executed system.cpu.kern.syscall_4 4 1.22% 12.77% # number of syscalls executed
system.cpu.kern.syscall_close 43 13.07% 25.84% # number of syscalls executed system.cpu.kern.syscall_6 43 13.07% 25.84% # number of syscalls executed
system.cpu.kern.syscall_chdir 1 0.30% 26.14% # number of syscalls executed system.cpu.kern.syscall_12 1 0.30% 26.14% # number of syscalls executed
system.cpu.kern.syscall_chmod 1 0.30% 26.44% # number of syscalls executed system.cpu.kern.syscall_15 1 0.30% 26.44% # number of syscalls executed
system.cpu.kern.syscall_obreak 15 4.56% 31.00% # number of syscalls executed system.cpu.kern.syscall_17 15 4.56% 31.00% # number of syscalls executed
system.cpu.kern.syscall_lseek 10 3.04% 34.04% # number of syscalls executed system.cpu.kern.syscall_19 10 3.04% 34.04% # number of syscalls executed
system.cpu.kern.syscall_getpid 6 1.82% 35.87% # number of syscalls executed system.cpu.kern.syscall_20 6 1.82% 35.87% # number of syscalls executed
system.cpu.kern.syscall_setuid 4 1.22% 37.08% # number of syscalls executed system.cpu.kern.syscall_23 4 1.22% 37.08% # number of syscalls executed
system.cpu.kern.syscall_getuid 6 1.82% 38.91% # number of syscalls executed system.cpu.kern.syscall_24 6 1.82% 38.91% # number of syscalls executed
system.cpu.kern.syscall_access 11 3.34% 42.25% # number of syscalls executed system.cpu.kern.syscall_33 11 3.34% 42.25% # number of syscalls executed
system.cpu.kern.syscall_dup 2 0.61% 42.86% # number of syscalls executed system.cpu.kern.syscall_41 2 0.61% 42.86% # number of syscalls executed
system.cpu.kern.syscall_open 55 16.72% 59.57% # number of syscalls executed system.cpu.kern.syscall_45 55 16.72% 59.57% # number of syscalls executed
system.cpu.kern.syscall_getgid 6 1.82% 61.40% # number of syscalls executed system.cpu.kern.syscall_47 6 1.82% 61.40% # number of syscalls executed
system.cpu.kern.syscall_sigprocmask 10 3.04% 64.44% # number of syscalls executed system.cpu.kern.syscall_48 10 3.04% 64.44% # number of syscalls executed
system.cpu.kern.syscall_ioctl 10 3.04% 67.48% # number of syscalls executed system.cpu.kern.syscall_54 10 3.04% 67.48% # number of syscalls executed
system.cpu.kern.syscall_readlink 1 0.30% 67.78% # number of syscalls executed system.cpu.kern.syscall_58 1 0.30% 67.78% # number of syscalls executed
system.cpu.kern.syscall_execve 7 2.13% 69.91% # number of syscalls executed system.cpu.kern.syscall_59 7 2.13% 69.91% # number of syscalls executed
system.cpu.kern.syscall_mmap 54 16.41% 86.32% # number of syscalls executed system.cpu.kern.syscall_71 54 16.41% 86.32% # number of syscalls executed
system.cpu.kern.syscall_munmap 3 0.91% 87.23% # number of syscalls executed system.cpu.kern.syscall_73 3 0.91% 87.23% # number of syscalls executed
system.cpu.kern.syscall_mprotect 16 4.86% 92.10% # number of syscalls executed system.cpu.kern.syscall_74 16 4.86% 92.10% # number of syscalls executed
system.cpu.kern.syscall_gethostname 1 0.30% 92.40% # number of syscalls executed system.cpu.kern.syscall_87 1 0.30% 92.40% # number of syscalls executed
system.cpu.kern.syscall_dup2 3 0.91% 93.31% # number of syscalls executed system.cpu.kern.syscall_90 3 0.91% 93.31% # number of syscalls executed
system.cpu.kern.syscall_fcntl 10 3.04% 96.35% # number of syscalls executed system.cpu.kern.syscall_92 10 3.04% 96.35% # number of syscalls executed
system.cpu.kern.syscall_socket 2 0.61% 96.96% # number of syscalls executed system.cpu.kern.syscall_97 2 0.61% 96.96% # number of syscalls executed
system.cpu.kern.syscall_connect 2 0.61% 97.57% # number of syscalls executed system.cpu.kern.syscall_98 2 0.61% 97.57% # number of syscalls executed
system.cpu.kern.syscall_setgid 4 1.22% 98.78% # number of syscalls executed system.cpu.kern.syscall_132 4 1.22% 98.78% # number of syscalls executed
system.cpu.kern.syscall_getrlimit 2 0.61% 99.39% # number of syscalls executed system.cpu.kern.syscall_144 2 0.61% 99.39% # number of syscalls executed
system.cpu.kern.syscall_setsid 2 0.61% 100.00% # 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.not_idle_fraction 0.081055 # Percentage of non-idle cycles
system.cpu.numCycles 3874844018 # number of cpu cycles simulated system.cpu.numCycles 3874844018 # number of cpu cycles simulated
system.cpu.num_insts 61868161 # Number of instructions executed system.cpu.num_insts 61868161 # Number of instructions executed
@ -131,7 +129,7 @@ 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.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.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.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.coalescedRxOrn no value # 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.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 <err: div-0> # 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.coalescedTxDesc <err: div-0> # average number of TxDesc's coalesced into each post

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -89,6 +89,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]

View file

@ -12,6 +12,7 @@ break_cycles=
[exetrace] [exetrace]
intel_format=false intel_format=false
legion_lockstep=false
pc_symbol=true pc_symbol=true
print_cpseq=false print_cpseq=false
print_cycle=true print_cycle=true

View file

@ -210,6 +210,7 @@ print_cpseq=false
print_reg_delta=false print_reg_delta=false
pc_symbol=true pc_symbol=true
intel_format=false intel_format=false
legion_lockstep=false
trace_system=client trace_system=client
[debug] [debug]