1.0.5.14: make PURIFY a no-op on gencgc
[sbcl.git] / src / runtime / sunos-os.h
1 /*
2  * This software is part of the SBCL system. See the README file for
3  * more information.
4  *
5  * This software is derived from the CMU CL system, which was
6  * written at Carnegie Mellon University and released into the
7  * public domain. The software is in the public domain and is
8  * provided with absolutely no warranty. See the COPYING and CREDITS
9  * files for more information.
10  */
11
12 #include <signal.h>
13 #include <unistd.h>
14 #include <sys/fcntl.h>
15 #include <sys/mman.h>
16 #include <ucontext.h>
17
18 #include "target-arch-os.h"
19 #include "target-arch.h"
20
21 /* FIXME: Stolen from CMUCL. Investigate. */
22 typedef unsigned long os_vm_address_t;
23 typedef long os_vm_size_t;
24 typedef off_t os_vm_offset_t;
25 typedef int os_vm_prot_t;
26
27 /* typedef struct ucontext os_context_t;*/
28
29 #define OS_VM_PROT_READ    PROT_READ
30 #define OS_VM_PROT_WRITE   PROT_WRITE
31 #define OS_VM_PROT_EXECUTE PROT_EXEC
32
33 #define SIG_MEMORY_FAULT SIGSEGV
34
35 #define SIG_INTERRUPT_THREAD (SIGRTMIN)
36 #define SIG_STOP_FOR_GC (SIGRTMIN+1)
37 #define SIG_RESUME_FROM_GC (SIGRTMIN+2)
38
39 /* Yaargh?! */
40 typedef int os_context_register_t ;
41