Home | History | Annotate | Line # | Download | only in include
netbsd32_machdep.h revision 1.1.2.3
      1  1.1.2.3  skrll /*	$NetBSD: netbsd32_machdep.h,v 1.1.2.3 2004/09/21 13:12:14 skrll Exp $	*/
      2      1.1   fvdl 
      3      1.1   fvdl #ifndef _MACHINE_NETBSD32_H_
      4      1.1   fvdl #define _MACHINE_NETBSD32_H_
      5      1.1   fvdl 
      6  1.1.2.1  skrll #include <sys/ucontext.h>
      7  1.1.2.1  skrll 
      8      1.1   fvdl typedef	u_int32_t netbsd32_pointer_t;
      9      1.1   fvdl #define	NETBSD32PTR64(p32)	((void *)(u_long)(u_int)(p32))
     10      1.1   fvdl 
     11      1.1   fvdl typedef netbsd32_pointer_t netbsd32_sigcontextp_t;
     12      1.1   fvdl 
     13      1.1   fvdl struct netbsd32_sigcontext13 {
     14  1.1.2.1  skrll 	uint32_t	sc_gs;
     15  1.1.2.1  skrll 	uint32_t	sc_fs;
     16  1.1.2.1  skrll 	uint32_t	sc_es;
     17  1.1.2.1  skrll 	uint32_t	sc_ds;
     18  1.1.2.1  skrll 	uint32_t	sc_edi;
     19  1.1.2.1  skrll 	uint32_t	sc_esi;
     20  1.1.2.1  skrll 	uint32_t	sc_ebp;
     21  1.1.2.1  skrll 	uint32_t	sc_ebx;
     22  1.1.2.1  skrll 	uint32_t	sc_edx;
     23  1.1.2.1  skrll 	uint32_t	sc_ecx;
     24  1.1.2.1  skrll 	uint32_t	sc_eax;
     25      1.1   fvdl 	/* XXX */
     26  1.1.2.1  skrll 	uint32_t	sc_eip;
     27  1.1.2.1  skrll 	uint32_t	sc_cs;
     28  1.1.2.1  skrll 	uint32_t	sc_eflags;
     29  1.1.2.1  skrll 	uint32_t	sc_esp;
     30  1.1.2.1  skrll 	uint32_t	sc_ss;
     31      1.1   fvdl 
     32  1.1.2.1  skrll 	uint32_t	sc_onstack;	/* sigstack state to restore */
     33  1.1.2.1  skrll 	uint32_t	sc_mask;	/* signal mask to restore (old style) */
     34      1.1   fvdl 
     35  1.1.2.1  skrll 	uint32_t	sc_trapno;	/* XXX should be above */
     36  1.1.2.1  skrll 	uint32_t	sc_err;
     37      1.1   fvdl };
     38      1.1   fvdl 
     39      1.1   fvdl struct netbsd32_sigcontext {
     40  1.1.2.1  skrll 	uint32_t	sc_gs;
     41  1.1.2.1  skrll 	uint32_t	sc_fs;
     42  1.1.2.1  skrll 	uint32_t	sc_es;
     43  1.1.2.1  skrll 	uint32_t	sc_ds;
     44  1.1.2.1  skrll 	uint32_t	sc_edi;
     45  1.1.2.1  skrll 	uint32_t	sc_esi;
     46  1.1.2.1  skrll 	uint32_t	sc_ebp;
     47  1.1.2.1  skrll 	uint32_t	sc_ebx;
     48  1.1.2.1  skrll 	uint32_t	sc_edx;
     49  1.1.2.1  skrll 	uint32_t	sc_ecx;
     50  1.1.2.1  skrll 	uint32_t	sc_eax;
     51      1.1   fvdl 	/* XXX */
     52  1.1.2.1  skrll 	uint32_t	sc_eip;
     53  1.1.2.1  skrll 	uint32_t	sc_cs;
     54  1.1.2.1  skrll 	uint32_t	sc_eflags;
     55  1.1.2.1  skrll 	uint32_t	sc_esp;
     56  1.1.2.1  skrll 	uint32_t	sc_ss;
     57      1.1   fvdl 
     58  1.1.2.1  skrll 	uint32_t	sc_onstack;	/* sigstack state to restore */
     59  1.1.2.1  skrll 	uint32_t	__sc_mask13;	/* signal mask to restore (old style) */
     60      1.1   fvdl 
     61  1.1.2.1  skrll 	uint32_t	sc_trapno;	/* XXX should be above */
     62  1.1.2.1  skrll 	uint32_t	sc_err;
     63      1.1   fvdl 
     64      1.1   fvdl 	sigset_t sc_mask;		/* signal mask to restore (new style) */
     65      1.1   fvdl };
     66      1.1   fvdl 
     67      1.1   fvdl #define sc_sp sc_esp
     68      1.1   fvdl #define sc_fp sc_ebp
     69      1.1   fvdl #define sc_pc sc_eip
     70      1.1   fvdl #define sc_ps sc_eflags
     71      1.1   fvdl 
     72  1.1.2.1  skrll struct netbsd32_sigframe_sigcontext {
     73  1.1.2.1  skrll 	uint32_t	sf_ra;
     74  1.1.2.1  skrll 	int32_t		sf_signum;
     75  1.1.2.1  skrll 	int32_t		sf_code;
     76  1.1.2.1  skrll 	uint32_t	sf_scp;
     77  1.1.2.1  skrll 	struct netbsd32_sigcontext sf_sc;
     78  1.1.2.1  skrll };
     79  1.1.2.1  skrll 
     80  1.1.2.1  skrll struct netbsd32_sigframe_siginfo {
     81  1.1.2.1  skrll 	uint32_t	sf_ra;
     82  1.1.2.1  skrll 	int32_t		sf_signum;
     83  1.1.2.1  skrll 	uint32_t	sf_sip;
     84  1.1.2.1  skrll 	uint32_t	sf_ucp;
     85  1.1.2.1  skrll 	siginfo32_t	sf_si;
     86  1.1.2.1  skrll 	ucontext32_t	sf_uc;
     87      1.1   fvdl };
     88      1.1   fvdl 
     89      1.1   fvdl struct reg32 {
     90      1.1   fvdl 	int	r_eax;
     91      1.1   fvdl 	int	r_ecx;
     92      1.1   fvdl 	int	r_edx;
     93      1.1   fvdl 	int	r_ebx;
     94      1.1   fvdl 	int	r_esp;
     95      1.1   fvdl 	int	r_ebp;
     96      1.1   fvdl 	int	r_esi;
     97      1.1   fvdl 	int	r_edi;
     98      1.1   fvdl 	int	r_eip;
     99      1.1   fvdl 	int	r_eflags;
    100      1.1   fvdl 	int	r_cs;
    101      1.1   fvdl 	int	r_ss;
    102      1.1   fvdl 	int	r_ds;
    103      1.1   fvdl 	int	r_es;
    104      1.1   fvdl 	int	r_fs;
    105      1.1   fvdl 	int	r_gs;
    106      1.1   fvdl };
    107      1.1   fvdl 
    108      1.1   fvdl struct fpreg32 {
    109      1.1   fvdl 	char	__data[108];
    110      1.1   fvdl };
    111      1.1   fvdl 
    112      1.1   fvdl struct mtrr32 {
    113      1.1   fvdl 	uint64_t base;
    114      1.1   fvdl 	uint64_t len;
    115      1.1   fvdl 	uint8_t type;
    116      1.1   fvdl 	uint8_t __pad0[3];
    117      1.1   fvdl 	int flags;
    118      1.1   fvdl 	uint32_t owner;
    119      1.1   fvdl } __attribute__((packed));
    120      1.1   fvdl 
    121      1.1   fvdl struct x86_64_get_mtrr_args32 {
    122      1.1   fvdl 	uint32_t mtrrp;
    123      1.1   fvdl 	uint32_t n;
    124      1.1   fvdl };
    125      1.1   fvdl 
    126      1.1   fvdl struct x86_64_set_mtrr_args32 {
    127      1.1   fvdl 	uint32_t mtrrp;
    128      1.1   fvdl 	uint32_t n;
    129      1.1   fvdl };
    130      1.1   fvdl 
    131  1.1.2.1  skrll #define NETBSD32_MID_MACHINE MID_I386
    132      1.1   fvdl 
    133      1.1   fvdl #endif /* _MACHINE_NETBSD32_H_ */
    134