diff options
| author | Stefan Hajnoczi | 2008-06-12 17:56:20 +0200 |
|---|---|---|
| committer | Michael Brown | 2008-06-30 20:19:48 +0200 |
| commit | 19386ec2c8c9f266425453673ba051cdb550d0c3 (patch) | |
| tree | 3b159c2ad6bcb40241b82279c98742c9dca6ff65 /src/tests | |
| parent | [GDB] Remote debugging over UDP (diff) | |
| download | ipxe-19386ec2c8c9f266425453673ba051cdb550d0c3.tar.gz ipxe-19386ec2c8c9f266425453673ba051cdb550d0c3.tar.xz ipxe-19386ec2c8c9f266425453673ba051cdb550d0c3.zip | |
[GDB] Add watch and rwatch hardware watchpoints
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/gdbstub_test.S | 21 | ||||
| -rwxr-xr-x | src/tests/gdbstub_test.gdb | 30 |
2 files changed, 51 insertions, 0 deletions
diff --git a/src/tests/gdbstub_test.S b/src/tests/gdbstub_test.S index 647830898..bd293836b 100644 --- a/src/tests/gdbstub_test.S +++ b/src/tests/gdbstub_test.S @@ -1,4 +1,9 @@ .arch i386 + + .section ".data" +watch_me: + .long 0xfeedbeef + .section ".text" .code32 gdbstub_test: @@ -29,5 +34,21 @@ gdbstub_test: int $3 nop + /* 6. Access watch test */ + movl $0x600d0000, %ecx + movl watch_me, %eax + movl $0xbad00000, %ecx + int $3 + movl $0x600d0001, %ecx + movl %eax, watch_me + movl $0xbad00001, %ecx + int $3 + + /* 7. Write watch test */ + movl $0x600d0002, %ecx + movl %eax, watch_me + movl $0xbad00002, %ecx + int $3 + 1: jmp 1b diff --git a/src/tests/gdbstub_test.gdb b/src/tests/gdbstub_test.gdb index c86d4f2aa..191799af5 100755 --- a/src/tests/gdbstub_test.gdb +++ b/src/tests/gdbstub_test.gdb @@ -77,6 +77,34 @@ define gpxe_test_step gpxe_assert ({char}($eip-1)) (char)0x90 "gpxe_test_step" # nop = 0x90 end +define gpxe_test_awatch + awatch watch_me + + c + gpxe_assert $ecx 0x600d0000 "gpxe_test_awatch" + if $ecx == 0x600d0000 + c + end + + c + gpxe_assert $ecx 0x600d0001 "gpxe_test_awatch" + if $ecx == 0x600d0001 + c + end + + delete +end + +define gpxe_test_watch + watch watch_me + c + gpxe_assert $ecx 0x600d0002 "gpxe_test_watch" + if $ecx == 0x600d0002 + c + end + delete +end + gpxe_load_symbols gpxe_start_tests gpxe_test_regs_read @@ -84,3 +112,5 @@ gpxe_test_regs_write gpxe_test_mem_read gpxe_test_mem_write gpxe_test_step +gpxe_test_awatch +gpxe_test_watch |
