netbsd32_machdep.h revision 1.1
11.1Sryo/*	$NetBSD: netbsd32_machdep.h,v 1.1 2018/04/01 04:35:03 ryo Exp $	*/
21.1Sryo
31.1Sryo#ifndef _MACHINE_NETBSD32_H_
41.1Sryo#define _MACHINE_NETBSD32_H_
51.1Sryo
61.1Sryo#include <sys/ucontext.h>
71.1Sryo#include <compat/sys/ucontext.h>
81.1Sryo#include <compat/sys/siginfo.h>
91.1Sryo
101.1Sryo#define NETBSD32_POINTER_TYPE uint32_t
111.1Sryotypedef	struct { NETBSD32_POINTER_TYPE i32; } netbsd32_pointer_t;
121.1Sryo
131.1Sryo/* earm has 64bit aligned 64bit integers */
141.1Sryo#define NETBSD32_INT64_ALIGN __attribute__((__aligned__(8)))
151.1Sryo
161.1Sryotypedef netbsd32_pointer_t netbsd32_sigcontextp_t;
171.1Sryo
181.1Sryo#define netbsd32_syscall_intern syscall_intern
191.1Sryo
201.1Sryostruct netbsd32_sigcontext13 {
211.1Sryo	int32_t		sc_onstack;		/* sigstack state to restore */
221.1Sryo	int32_t		__sc_mask13;		/* signal mask to restore (old style) */
231.1Sryo
241.1Sryo	uint32_t	sc_spsr;
251.1Sryo	uint32_t	sc_r0;
261.1Sryo	uint32_t	sc_r1;
271.1Sryo	uint32_t	sc_r2;
281.1Sryo	uint32_t	sc_r3;
291.1Sryo	uint32_t	sc_r4;
301.1Sryo	uint32_t	sc_r5;
311.1Sryo	uint32_t	sc_r6;
321.1Sryo	uint32_t	sc_r7;
331.1Sryo	uint32_t	sc_r8;
341.1Sryo	uint32_t	sc_r9;
351.1Sryo	uint32_t	sc_r10;
361.1Sryo	uint32_t	sc_r11;
371.1Sryo	uint32_t	sc_r12;
381.1Sryo	uint32_t	sc_usr_sp;
391.1Sryo	uint32_t	sc_usr_lr;
401.1Sryo	uint32_t	sc_svc_lr;
411.1Sryo	uint32_t	sc_pc;
421.1Sryo};
431.1Sryo
441.1Sryostruct netbsd32_sigcontext {
451.1Sryo	int32_t		sc_onstack;		/* sigstack state to restore */
461.1Sryo	int32_t		__sc_mask13;		/* signal mask to restore (old style) */
471.1Sryo
481.1Sryo	uint32_t	sc_spsr;
491.1Sryo	uint32_t	sc_r0;
501.1Sryo	uint32_t	sc_r1;
511.1Sryo	uint32_t	sc_r2;
521.1Sryo	uint32_t	sc_r3;
531.1Sryo	uint32_t	sc_r4;
541.1Sryo	uint32_t	sc_r5;
551.1Sryo	uint32_t	sc_r6;
561.1Sryo	uint32_t	sc_r7;
571.1Sryo	uint32_t	sc_r8;
581.1Sryo	uint32_t	sc_r9;
591.1Sryo	uint32_t	sc_r10;
601.1Sryo	uint32_t	sc_r11;
611.1Sryo	uint32_t	sc_r12;
621.1Sryo	uint32_t	sc_usr_sp;
631.1Sryo	uint32_t	sc_usr_lr;
641.1Sryo	uint32_t	sc_svc_lr;
651.1Sryo	uint32_t	sc_pc;
661.1Sryo
671.1Sryo	sigset_t	sc_mask;		/* signal mask to restore (new style) */
681.1Sryo};
691.1Sryo
701.1Sryo#define NETBSD32_MID_MACHINE MID_ARM
711.1Sryo
721.1Sryo#endif /* _MACHINE_NETBSD32_H_ */
73