This functionality is already available for ARM, so lets add it to x86 as well. We'll want to be able to hook exceptions when running as a remote GDB target. BUG=None TEST=Booted depthcharge on link with this test code added to its main function: __asm__ __volatile__( "pushl %eax\n" "mov $0, %eax\n" "mov %eax, %ss\n" "popl %eax\n" ); Saw that the state at the point of the exception was printed, and that %eax and other registers which should have known values had those values. Modified the exception handler to change %eax in the saved state so that the above code was correct and return, and saw that depthcharge continued on to boot the kernel BRANCH=None Change-Id: I42f640b08eb9eb86a1bcab3c327f7780191a2eb5 Signed-off-by: Gabe Black <gabeblack@google.com> Reviewed-on: https://chromium-review.googlesource.com/179601 Reviewed-by: Aaron Durbin <adurbin@chromium.org> Tested-by: Gabe Black <gabeblack@chromium.org> Commit-Queue: Gabe Black <gabeblack@chromium.org> |
||
|---|---|---|
| .. | ||
| Config.in | ||
| coreboot.c | ||
| exception.c | ||
| exception_asm.S | ||
| exec.S | ||
| head.S | ||
| libpayload.ldscript | ||
| main.c | ||
| Makefile.inc | ||
| multiboot.c | ||
| rom_media.c | ||
| string.c | ||
| sysinfo.c | ||
| timer.c | ||
| util.S | ||
| virtual.c | ||