xref: /minix3/sys/arch/x86/include/db_machdep.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc /*	$NetBSD: db_machdep.h,v 1.4 2014/01/11 17:10:40 christos Exp $	*/
21cd76c75SBen Gras 
31cd76c75SBen Gras #ifndef _X86_DB_MACHDEP_H_
41cd76c75SBen Gras #define _X86_DB_MACHDEP_H_
51cd76c75SBen Gras 
61cd76c75SBen Gras #define	INKERNEL(va)	(((vaddr_t)(va)) >= VM_MIN_KERNEL_ADDRESS)
71cd76c75SBen Gras 
81cd76c75SBen Gras #define NONE		0
91cd76c75SBen Gras #define TRAP		1
101cd76c75SBen Gras #define SYSCALL		2
111cd76c75SBen Gras #define INTERRUPT	3
121cd76c75SBen Gras #define INTERRUPT_TSS	4
131cd76c75SBen Gras #define TRAP_TSS	5
14*0a6a1f1dSLionel Sambuc #define SOFTINTR	6
151cd76c75SBen Gras 
161cd76c75SBen Gras #define MAXNARG		16
171cd76c75SBen Gras 
181cd76c75SBen Gras struct db_variable;
191cd76c75SBen Gras 
201cd76c75SBen Gras #ifdef __x86_64__
211cd76c75SBen Gras #define	tf_sp		tf_rsp
221cd76c75SBen Gras #define	tf_ip		tf_rip
231cd76c75SBen Gras #define	tf_bp		tf_rbp
241cd76c75SBen Gras #define	pcb_bp		pcb_rbp
251cd76c75SBen Gras #define	pcb_sp		pcb_rsp
261cd76c75SBen Gras #define	x86_frame	x86_64_frame
271cd76c75SBen Gras #else
281cd76c75SBen Gras #define	tf_sp		tf_esp
291cd76c75SBen Gras #define	tf_ip		tf_eip
301cd76c75SBen Gras #define	tf_bp		tf_ebp
311cd76c75SBen Gras #define	pcb_bp		pcb_ebp
321cd76c75SBen Gras #define	pcb_sp		pcb_esp
331cd76c75SBen Gras #define	x86_frame	i386_frame
341cd76c75SBen Gras #endif
351cd76c75SBen Gras 
361cd76c75SBen Gras int db_x86_regop(const struct db_variable *, db_expr_t *, int);
371cd76c75SBen Gras int db_numargs(long *);
381cd76c75SBen Gras int db_nextframe(long **, long **, long **, db_addr_t *, long *, int,
391cd76c75SBen Gras 		 void (*) (const char *, ...));
401cd76c75SBen Gras db_sym_t db_frame_info(long *, db_addr_t, const char **, db_expr_t *,
411cd76c75SBen Gras                        int *, int *);
421cd76c75SBen Gras 
431cd76c75SBen Gras #endif /* _X86_DB_MACHDEP_H_ */
44