proper naming for Breakpoints aspect
git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@977 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
This commit is contained in:
35
core/SAL/bochs/Breakpoints.ah
Normal file
35
core/SAL/bochs/Breakpoints.ah
Normal file
@ -0,0 +1,35 @@
|
||||
#ifndef __BREAKPOINTS_AH__
|
||||
#define __BREAKPOINTS_AH__
|
||||
|
||||
#include "config/AspectConfig.hpp"
|
||||
|
||||
#ifdef CONFIG_EVENT_BREAKPOINTS
|
||||
|
||||
#include "../../../bochs/bochs.h" // for "BX_CPU_C"
|
||||
#include "../../../bochs/cpu/cpu.h" // for "bxInstruction_c"
|
||||
#include "../SALInst.hpp"
|
||||
|
||||
aspect Breakpoints
|
||||
{
|
||||
pointcut cpuLoop() = "void defineCPULoopJoinPoint(...)";
|
||||
|
||||
//
|
||||
// Event source: "instruction pointer"
|
||||
//
|
||||
advice execution (cpuLoop()) : after ()
|
||||
{
|
||||
// Points to the cpu class: "this" if BX_USE_CPU_SMF == 0,
|
||||
// BX_CPU(0) otherwise
|
||||
BX_CPU_C* pThis = *(tjp->arg<0>());
|
||||
// Points to the *current* bxInstruction-object
|
||||
bxInstruction_c* pInstr = *(tjp->arg<1>());
|
||||
|
||||
// report this event to the Bochs controller:
|
||||
sal::simulator.onInstrPtrChanged(pThis->get_instruction_pointer());
|
||||
// Note: get_bx_opcode_name(pInstr->getIaOpcode()) retrieves the mnemonics.
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user