Backported the new stack crawl command ("sc", not "bt" like in NewOS) from

NewOS. Untested yet, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@750 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2002-08-13 21:42:53 +00:00
parent ef8d7092e8
commit 5ca8da7a4b
10 changed files with 301 additions and 90 deletions
@@ -82,6 +82,28 @@ typedef struct pdentry {
unsigned int addr:20;
} pdentry;
struct iframe {
unsigned int gs;
unsigned int fs;
unsigned int es;
unsigned int ds;
unsigned int edi;
unsigned int esi;
unsigned int ebp;
unsigned int esp;
unsigned int ebx;
unsigned int edx;
unsigned int ecx;
unsigned int eax;
unsigned int vector;
unsigned int error_code;
unsigned int eip;
unsigned int cs;
unsigned int flags;
unsigned int user_esp;
unsigned int user_ss;
};
#define nop() __asm__ ("nop"::)
void setup_system_time(unsigned int cv_factor);
@@ -93,6 +115,9 @@ void i386_swap_pgdir(addr new_pgdir);
void i386_fsave_swap(void *old_fpu_state, void *new_fpu_state);
void i386_fxsave_swap(void *old_fpu_state, void *new_fpu_state);
#define read_ebp(value) \
__asm__("movl %%ebp,%0" : "=r" (value))
#define read_dr3(value) \
__asm__("movl %%dr3,%0" : "=r" (value))