2006-04-27 19:11:45 +04:00
|
|
|
/////////////////////////////////////////////////////////////////////////
|
2008-01-22 19:20:30 +03:00
|
|
|
// $Id: extdb.h,v 1.10 2008-01-22 16:20:30 sshwarts Exp $
|
2006-04-27 19:11:45 +04:00
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2005-04-18 21:28:30 +04:00
|
|
|
#ifndef EXTDB_H
|
|
|
|
#define EXTDB_H
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
Bit64u base;
|
|
|
|
Bit16u limit;
|
|
|
|
Bit16u fill[3];
|
|
|
|
} descbase;
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
Bit64u rax,rcx,rdx,rbx,rsp,rbp,rsi,rdi,
|
|
|
|
r8,r9,r10,r11,r12,r13,r14,r15,
|
|
|
|
rip,rflags;
|
|
|
|
Bit32u es,cs,ss,ds,fs,gs,tr,ldt;
|
|
|
|
Bit64u cr0,cr1,cr2,cr3,cr4,cr5,cr6,cr7;
|
|
|
|
Bit64u fsbase,gsbase;
|
|
|
|
descbase gdt,idt;
|
|
|
|
Bit32u efer;
|
|
|
|
Bit32u debug_eip,debug_cs,debug_counter;
|
|
|
|
Bit8u debug_state;
|
|
|
|
#define debug_step 0
|
|
|
|
#define debug_run 1
|
|
|
|
#define debug_count 2
|
|
|
|
#define debug_skip 3
|
|
|
|
} TRegs;
|
|
|
|
|
|
|
|
extern TRegs regs;
|
|
|
|
|
|
|
|
extern char debug_loaded;
|
|
|
|
|
|
|
|
void bx_external_debugger(BX_CPU_C *cpu);
|
2008-01-22 19:20:30 +03:00
|
|
|
void trap_debugger(bx_bool callnow, BX_CPU_C *cpu);
|
2005-04-18 21:28:30 +04:00
|
|
|
|
|
|
|
#endif
|