| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: netbsd32_machdep.h,v 1.7 2011/06/20 06:21:45 matt Exp $ */ | | 1 | /* $NetBSD: netbsd32_machdep.h,v 1.8 2014/02/28 05:31:38 matt Exp $ */ |
2 | | | 2 | |
3 | /* | | 3 | /* |
4 | * Copyright (c) 1998, 2001 Matthew R. Green | | 4 | * Copyright (c) 1998, 2001 Matthew R. Green |
5 | * All rights reserved. | | 5 | * All rights reserved. |
6 | * | | 6 | * |
7 | * Redistribution and use in source and binary forms, with or without | | 7 | * Redistribution and use in source and binary forms, with or without |
8 | * modification, are permitted provided that the following conditions | | 8 | * modification, are permitted provided that the following conditions |
9 | * are met: | | 9 | * are met: |
10 | * 1. Redistributions of source code must retain the above copyright | | 10 | * 1. Redistributions of source code must retain the above copyright |
11 | * notice, this list of conditions and the following disclaimer. | | 11 | * notice, this list of conditions and the following disclaimer. |
12 | * 2. Redistributions in binary form must reproduce the above copyright | | 12 | * 2. Redistributions in binary form must reproduce the above copyright |
13 | * notice, this list of conditions and the following disclaimer in the | | 13 | * notice, this list of conditions and the following disclaimer in the |
14 | * documentation and/or other materials provided with the distribution. | | 14 | * documentation and/or other materials provided with the distribution. |
| @@ -22,58 +22,52 @@ | | | @@ -22,58 +22,52 @@ |
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED | | 22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
23 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | | 23 | * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
24 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | | 24 | * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
25 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | | 25 | * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
26 | * SUCH DAMAGE. | | 26 | * SUCH DAMAGE. |
27 | */ | | 27 | */ |
28 | | | 28 | |
29 | #ifndef _MACHINE_NETBSD32_H_ | | 29 | #ifndef _MACHINE_NETBSD32_H_ |
30 | #define _MACHINE_NETBSD32_H_ | | 30 | #define _MACHINE_NETBSD32_H_ |
31 | | | 31 | |
32 | #include <sys/types.h> | | 32 | #include <sys/types.h> |
33 | #include <sys/proc.h> | | 33 | #include <sys/proc.h> |
34 | | | 34 | |
35 | typedef u_int32_t netbsd32_pointer_t; | | 35 | #define NETBSD32_POINTER_TYPE uint32_t |
| | | 36 | typedef struct { NETBSD32_POINTER_TYPE i32; } netbsd32_pointer_t; |
36 | | | 37 | |
37 | /* | | 38 | /* ppc32 has normally aligned 64bit integers */ |
38 | * Convert a pointer in the 32-bit world to a valid 64-bit pointer. | | 39 | #define NETBSD32_INT64_ALIGN |
39 | */ | | | |
40 | #define NETBSD32PTR64(p32) ((void *)(u_long)(u_int)(p32)) | | | |
41 | | | | |
42 | /* ppc32 has 32bit aligned 64bit integers */ | | | |
43 | #define NETBSD32_INT64_ALIGN __attribute__((__aligned__(4))) | | | |
44 | | | 40 | |
45 | #include <compat/netbsd32/netbsd32.h> | | 41 | #include <compat/netbsd32/netbsd32.h> |
46 | #include <powerpc/frame.h> | | 42 | #include <powerpc/frame.h> |
47 | | | 43 | |
48 | /* from <sparc/include/signal.h> */ | | 44 | /* from <sparc/include/signal.h> */ |
49 | typedef u_int32_t netbsd32_sigcontextp_t; | | 45 | typedef uint32_t netbsd32_sigcontextp_t; |
50 | | | 46 | |
51 | struct netbsd32_sigcontext { | | 47 | struct netbsd32_sigcontext { |
52 | int sc_onstack; /* sigstack state to restore */ | | 48 | int sc_onstack; /* sigstack state to restore */ |
53 | int __sc_mask13; /* signal mask to restore (old style) */ | | 49 | int __sc_mask13; /* signal mask to restore (old style) */ |
54 | /* begin machine dependent portion */ | | 50 | /* begin machine dependent portion */ |
55 | struct trapframe32 sc_frame; /* saved registers */ | | 51 | struct trapframe32 sc_frame; /* saved registers */ |
56 | sigset_t sc_mask; /* signal mask to restore (new style) */ | | 52 | sigset_t sc_mask; /* signal mask to restore (new style) */ |
57 | }; | | 53 | }; |
58 | | | 54 | |
59 | struct netbsd32_sigcontext13 { | | 55 | struct netbsd32_sigcontext13 { |
60 | int sc_onstack; /* sigstack state to restore */ | | 56 | int sc_onstack; /* sigstack state to restore */ |
61 | int sc_mask; /* signal mask to restore (old style) */ | | 57 | int sc_mask; /* signal mask to restore (old style) */ |
62 | /* begin machine dependent portion */ | | 58 | /* begin machine dependent portion */ |
63 | struct trapframe32 sc_frame; /* saved registers */ | | 59 | struct trapframe32 sc_frame; /* saved registers */ |
64 | }; | | 60 | }; |
65 | | | 61 | |
66 | struct exec_package; | | 62 | struct exec_package; |
67 | void netbsd32_setregs (struct lwp *, struct exec_package *, vaddr_t); | | 63 | void netbsd32_setregs (struct lwp *, struct exec_package *, vaddr_t); |
68 | int netbsd32_sigreturn (struct lwp *, void *, register_t *); | | | |
69 | void netbsd32_sendsig (int sig, sigset_t *, u_long); | | | |
70 | | | 64 | |
71 | extern char netbsd32_esigcode[], netbsd32_sigcode[]; | | 65 | extern char netbsd32_esigcode[], netbsd32_sigcode[]; |
72 | | | 66 | |
73 | /* | | 67 | /* |
74 | * Need to plug into get sparc specific ioctl's. | | 68 | * Need to plug into get sparc specific ioctl's. |
75 | */ | | 69 | */ |
76 | #define NETBSD32_MD_IOCTL /* enable netbsd32_md_ioctl() */ | | 70 | #define NETBSD32_MD_IOCTL /* enable netbsd32_md_ioctl() */ |
77 | int netbsd32_md_ioctl(struct file *, netbsd32_u_long, void *, struct proc *); | | 71 | int netbsd32_md_ioctl(struct file *, netbsd32_u_long, void *, struct lwp *); |
78 | | | 72 | |
79 | #endif /* _MACHINE_NETBSD32_H_ */ | | 73 | #endif /* _MACHINE_NETBSD32_H_ */ |