Hi, We've built an interface through which the kernel can poll miscRegs to access some gem5 statistics. To ensure that multiple runs of the same benchmark across different frequencies are doing the same work (in userspace), I need to filter out the stat changes caused by hdlcd. This is because the benchmark takes longer to execute at lower frequencies which leads to more hdlcd accesses and higher stat values.
I fully understand that this is something that should be accounted for in a real system, but for the purposes of creating comparable points across simulations, we're opting to ignore hdlcd for now. I've been trying to filter out the stat changes caused by the hdlcd component but I notice that when i execute system()->getThreadContext(0)->setMiscReg(register, value) from DRAMCtrl::doDRAMAccess() I break checkpointing. Upon restoring from a checkpoint with arm_detailed, I get the following message. gem5.opt: build/ARM/cpu/o3/inst_queue_impl.hh:1259: void InstructionQueue<Impl>::doSquash(ThreadID) [with Impl = O3CPUImpl; ThreadID = short int]: Assertion `squashed_inst->getFault() != NoFault || squashed_inst->isMemRef()' failed. Program aborted at cycle 6087803509000 Aborted (core dumped) Is there an easier way to separate hdlcd memory statistics? Regards Guru _______________________________________________ gem5-users mailing list [email protected] http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
