x86-64: Allow choice of 0xCC or 0xCE as the interrupt instruction
commit9cca9773c6dd9a3623fe1a201e0f4cee89faf8e5
authorDouglas Katzman <dougk@google.com>
Fri, 13 Oct 2017 18:56:05 +0000 (13 14:56 -0400)
committerDouglas Katzman <dougk@google.com>
Fri, 13 Oct 2017 19:19:50 +0000 (13 15:19 -0400)
treed2dd045b35f167c22b1b8a6fbbf63b58070689b4
parent9a290256cba38b6bd1cfc9f862d4dd4277e262b9
x86-64: Allow choice of 0xCC or 0xCE as the interrupt instruction

If you've ever needed to run under 'gdb' and have it pass Lisp interrupts to
Lisp while still being able to set debugger breakpoints, you can change our
interrupt opcode to INTO (0xCE) which is illegal in 64-bit mode.

The feature is named :INT4-BREAKPOINTS, because :into-breakpoints sounds weird.
At the CPU level, it's interrupt vector number 4 that is taken.
src/code/early-fasl.lisp
src/compiler/x86-64/insts.lisp
src/compiler/x86-64/macros.lisp
src/runtime/x86-64-arch.c
src/runtime/x86-64-assem.S