db_machdep.h revision 1.3.2.2 1 1.3.2.2 jym /* $NetBSD: db_machdep.h,v 1.3.2.2 2011/05/02 22:49:57 jym Exp $ */
2 1.3.2.2 jym
3 1.3.2.2 jym #ifndef _X86_DB_MACHDEP_H_
4 1.3.2.2 jym #define _X86_DB_MACHDEP_H_
5 1.3.2.2 jym
6 1.3.2.2 jym #define INKERNEL(va) (((vaddr_t)(va)) >= VM_MIN_KERNEL_ADDRESS)
7 1.3.2.2 jym
8 1.3.2.2 jym #define NONE 0
9 1.3.2.2 jym #define TRAP 1
10 1.3.2.2 jym #define SYSCALL 2
11 1.3.2.2 jym #define INTERRUPT 3
12 1.3.2.2 jym #define INTERRUPT_TSS 4
13 1.3.2.2 jym #define TRAP_TSS 5
14 1.3.2.2 jym
15 1.3.2.2 jym #define MAXNARG 16
16 1.3.2.2 jym
17 1.3.2.2 jym struct db_variable;
18 1.3.2.2 jym
19 1.3.2.2 jym #ifdef __x86_64__
20 1.3.2.2 jym #define tf_sp tf_rsp
21 1.3.2.2 jym #define tf_ip tf_rip
22 1.3.2.2 jym #define tf_bp tf_rbp
23 1.3.2.2 jym #define pcb_bp pcb_rbp
24 1.3.2.2 jym #define pcb_sp pcb_rsp
25 1.3.2.2 jym #define x86_frame x86_64_frame
26 1.3.2.2 jym #else
27 1.3.2.2 jym #define tf_sp tf_esp
28 1.3.2.2 jym #define tf_ip tf_eip
29 1.3.2.2 jym #define tf_bp tf_ebp
30 1.3.2.2 jym #define pcb_bp pcb_ebp
31 1.3.2.2 jym #define pcb_sp pcb_esp
32 1.3.2.2 jym #define x86_frame i386_frame
33 1.3.2.2 jym #endif
34 1.3.2.2 jym
35 1.3.2.2 jym int db_x86_regop(const struct db_variable *, db_expr_t *, int);
36 1.3.2.2 jym int db_numargs(long *);
37 1.3.2.2 jym int db_nextframe(long **, long **, long **, db_addr_t *, long *, int,
38 1.3.2.2 jym void (*) (const char *, ...));
39 1.3.2.2 jym db_sym_t db_frame_info(long *, db_addr_t, const char **, db_expr_t *,
40 1.3.2.2 jym int *, int *);
41 1.3.2.2 jym
42 1.3.2.2 jym #endif /* _X86_DB_MACHDEP_H_ */
43