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