History log of /haiku/headers/os/arch/x86_64/arch_debugger.h
Revision Date Author Comments
# acdafb57 29-Jan-2021 Jérôme Duval <jerome.duval@gmail.com>

Debugger: fix build after hrev54931


# 6f3a5c9a 16-Jul-2020 Adrien Destugues <pulkomandy@pulkomandy.tk>

Debugger: add AVX support

- Unify storage of "FPU" registers between debugger and signal handler
to use xsave format on both sides
- Handle YMM registers in Debugger (they are the same as XMM, but wider)

Tested:
- The system still boots with and without AVX
- The hello_avx test program can be debugged and the full value of YMM is visible

This changes the API of vregs in signal.h but not the ABI (structure are
declared differently but memory layout is the same). This changes the
API and ABI of arch_debugger.h for x86_64, but I don't think anything
outside Haiku uses it (did we ever have a 64bit compatible gdb?)

Change-Id: If93680ffa0339c19bab517876b4e029f5d66b240
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3038
Reviewed-by: Rene Gollent <rene@gollent.com>


# 271b27d5 25-Jul-2013 Alex Smith <alex@alex-smith.me.uk>

x86_64: Set vector in iframe/debug state to 99 for syscalls.

Although syscalls are done through SYSCALL and therefore don't actually
have an interrupt number, set it to 99 (the syscall vector on 32-bit)
in the iframe so that a syscall frame can be identified. Also added
vector/error_code to x86_64_debug_cpu_state for Debugger to use, not
sure why I didn't put them there in the first place.


# 8a190335 07-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Implemented user debugging support for x86_64.

Reused x86 arch_user_debugger.cpp, with a few minor changes to make
the code work for both 32 and 64 bit. Something isn't quite working
right, if a breakpoint is hit the kernel will hang. Other than that
everything appears to work correctly.


# f76bc433 13-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Added some x86_64 system/kernel headers and kernel Jamfiles.

* Not all of these headers are correct yet, just adding what's necessary
to get things to compile for the time being.


# 271b27d5a3003bac4e3fdd0c5a170ee33a197566 25-Jul-2013 Alex Smith <alex@alex-smith.me.uk>

x86_64: Set vector in iframe/debug state to 99 for syscalls.

Although syscalls are done through SYSCALL and therefore don't actually
have an interrupt number, set it to 99 (the syscall vector on 32-bit)
in the iframe so that a syscall frame can be identified. Also added
vector/error_code to x86_64_debug_cpu_state for Debugger to use, not
sure why I didn't put them there in the first place.


# 8a1903353eedd95266c7241aada3a314c5d35a55 07-Aug-2012 Alex Smith <alex@alex-smith.me.uk>

Implemented user debugging support for x86_64.

Reused x86 arch_user_debugger.cpp, with a few minor changes to make
the code work for both 32 and 64 bit. Something isn't quite working
right, if a breakpoint is hit the kernel will hang. Other than that
everything appears to work correctly.


# f76bc433e1582f4f5424cd5c95613cb247e15a98 13-Jun-2012 Alex Smith <alex@alex-smith.me.uk>

Added some x86_64 system/kernel headers and kernel Jamfiles.

* Not all of these headers are correct yet, just adding what's necessary
to get things to compile for the time being.