L4Sys: termination shortcuts

Add two new breakpoints to L4Sys experiment that allow detecting that
execution terminated with an error: vga_console_blink() is called by the
kernel if JDB was entered (meaning we are hanging, e.g., due to an
assertion); also longjmp() is only used by PF handling code after no
valid page fault handling could be performed

Change-Id: Ice61039c4bd07815a316bbc0bdb39f3483d9a1da
This commit is contained in:
Bjoern Doebel
2013-11-06 17:34:42 +01:00
parent d4f22a38ff
commit 443b3e4919
2 changed files with 21 additions and 12 deletions

View File

@ -7,22 +7,22 @@
// the bounds of the program (space, instructions and time)
// client
#define L4SYS_ADDRESS_SPACE 0x1fd4c000
// master
// server
#define L4SYS_ADDRESS_SPACE_TRACE L4SYS_ADDRESS_SPACE
//#define L4SYS_ADDRESS_SPACE_TRACE 0x1fd4c000
// vcpu task
#define L4SYS_ADDRESS_SPACE_TRACE 0x1fd5a000
//#define L4SYS_ADDRESS_SPACE_TRACE L4SYS_ADDRESS_SPACE
// FUNC_{ENTRY,EXIT} specifies the range that needs to
// be captured to log program output properly
#define L4SYS_FUNC_ENTRY 0x60002052
//#define L4SYS_FUNC_ENTRY 0x10000
#define L4SYS_FUNC_EXIT 0x600020ae
#define L4SYS_FUNC_ENTRY 0x20000220
#define L4SYS_FUNC_EXIT 0x20000216
// FILTER_{ENTRY,EXIT} specifies the range that injections
// should be carried out on (should be a subset of the above)
// and only works with FILTER_INSTRUCTIONS turned on
#define L4SYS_FILTER_ENTRY 0x60002067
#define L4SYS_FILTER_EXIT 0x60002075
#define L4SYS_FILTER_ENTRY 0x200002ba
#define L4SYS_FILTER_EXIT 0x20000444
#define L4SYS_BREAK_BLINK 0xf004b800
#define L4SYS_BREAK_LONGJMP 0xf004c88e
// select instruction filtering
// XXX: this should be always on and the code should be
@ -31,8 +31,8 @@
#define L4SYS_FILTER_INSTRUCTIONS 1
// kernel: 2377547, userland: 79405472
#define L4SYS_NUMINSTR 141
#define L4SYS_TOTINSTR 154205
#define L4SYS_NUMINSTR 27025
#define L4SYS_TOTINSTR 189122
#define L4SYS_BOCHS_IPS 5000000
// several file names used