* Always include the public arch_debugger.h headers. The structures defined

there are prefixed with the respective architecture name. Useful for remote
  debugging a different architecture.
* <x86/arch_debugger.h>: Introduced a structure for the FPU state, so that it
  isn't left to the debugger.
* Removed the _kern_get_thread_cpu_state() syscall. Was originally intended for
  bdb compatiblity, but isn't really needed.
* Kernel x86 arch_get_debug_cpu_state(): The use of fnsave was broken, since
  it reinits the FPU after saving the state. This resulted in weird results
  when debugging functions using the FPU. We now use fxsave, if available.
  Otherwise fnsave + frstor should be used -- not fully implemented yet.
  Same for arch_set_debug_cpu_state().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31682 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-07-21 22:18:39 +00:00
parent d0c0ee9dd1
commit 0b11ecb18c
13 changed files with 118 additions and 122 deletions
+10 -6
View File
@@ -11,19 +11,23 @@
#include <OS.h>
// include architecture specific definitions
#include <arch/x86/arch_debugger.h>
#include <arch/ppc/arch_debugger.h>
#include <arch/m68k/arch_debugger.h>
#include <arch/mipsel/arch_debugger.h>
#ifdef __INTEL__
#include <arch/x86/arch_debugger.h>
typedef struct x86_debug_cpu_state debug_cpu_state;
#elif __POWERPC__
#include <arch/ppc/arch_debugger.h>
typedef struct ppc_debug_cpu_state debug_cpu_state;
#elif __M68K__
#include <arch/m68k/arch_debugger.h>
typedef struct m68k_debug_cpu_state debug_cpu_state;
#elif __MIPSEL__
#include <arch/mipsel/arch_debugger.h>
typedef struct mipsel_debug_cpu_state debug_cpu_state;
#else
#error you need to write a <arch/<cpu>/arch_debugger.h>
#error unsupported architecture
#endif
typedef struct debug_cpu_state debug_cpu_state;
#ifdef __cplusplus
extern "C" {