git-svn-id: https://www4.informatik.uni-erlangen.de/i4svn/danceos/trunk/devel/fail@1247 8c4709b5-6ec9-48aa-a5cd-a96041d1645a
28 lines
572 B
Plaintext
28 lines
572 B
Plaintext
#ifndef __TRAP_AH__
|
|
#define __TRAP_AH__
|
|
|
|
#include "config/FailConfig.hpp"
|
|
|
|
#ifdef CONFIG_EVENT_TRAP
|
|
|
|
#include "../../../bochs/bochs.h"
|
|
#include "../../../bochs/cpu/cpu.h"
|
|
|
|
#include "../SALInst.hpp"
|
|
|
|
aspect Trap
|
|
{
|
|
pointcut exception_method() = "void bx_cpu_c::exception(...)";
|
|
|
|
advice execution (exception_method()) : before ()
|
|
{
|
|
sal::simulator.onTrapEvent(*(tjp->arg<0>()));
|
|
// TODO: There are some different types of exceptions at cpu.h (line 265-281)
|
|
// Which kind of a trap are these types?
|
|
}
|
|
};
|
|
|
|
#endif // CONFIG_EVENT_TRAP
|
|
|
|
#endif /* __TRAP_AH__ */
|