Bugfixes for aspect headers due to architecure-related changes.

Now, each aspect calls it's corresponding event headler by providing the new CPU object pointer as well.

git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@2007 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
adrian
2013-01-17 13:41:11 +00:00
parent 214bb36b47
commit edf44aec28
7 changed files with 50 additions and 28 deletions

View File

@ -24,15 +24,8 @@ aspect Breakpoints {
bxInstruction_c* pInstr = *(tjp->arg<1>());
// Detect the CPU that triggered the change:
unsigned i = 0;
#if BX_SUPPORT_SMP
for (; i < BX_SMP_PROCESSORS; i++) {
if (BX_CPU_C[i] == pThis) // cmp this ptr with all possible CPU objects
break; // index "i" found! -> stop!
}
#endif
fail::ConcreteCPU& triggerCPU = fail::simulator.getCPU(i);
// FIXME: slice ConcreteCPU object reference into BOCHS_CPU -> simplified
fail::ConcreteCPU& triggerCPU = fail::simulator.detectCPU(pThis);
// FIXME: Slice ConcreteCPU object reference into BOCHS_CPU -> simplified
// Report this event to the Bochs controller:
fail::simulator.updateBPEventInfo(pThis, pInstr);