X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Flinux-os.h;h=6f1003cf8dd7270e2ebee82d64280343db588f9b;hb=35ab27e7aab71c94aa6be12da15603c7fd87fca8;hp=d01070431240b62ae825a276251a0770f288e758;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/runtime/linux-os.h b/src/runtime/linux-os.h index d010704..6f1003c 100644 --- a/src/runtime/linux-os.h +++ b/src/runtime/linux-os.h @@ -9,10 +9,6 @@ * files for more information. */ -/* - * $Header$ - */ - #include #include #include @@ -27,19 +23,24 @@ #include #include -#define linuxversion(a, b, c) (((a)<<16)+((b)<<8)+(c)) - +// Needs to be defined before including target-arch.h typedef caddr_t os_vm_address_t; typedef size_t os_vm_size_t; typedef off_t os_vm_offset_t; typedef int os_vm_prot_t; -typedef struct ucontext os_context_t; +#include "target-arch-os.h" +#include "target-arch.h" +#define linuxversion(a, b, c) (((a)<<16)+((b)<<8)+(c)) #define OS_VM_PROT_READ PROT_READ #define OS_VM_PROT_WRITE PROT_WRITE #define OS_VM_PROT_EXECUTE PROT_EXEC -#define OS_VM_DEFAULT_PAGESIZE 4096 +#define SIG_MEMORY_FAULT SIGSEGV -#define SET_FPU_CONTROL_WORD(cw) asm("fldcw %0" : : "m" (cw)) +/* Note that this must be higher than the highest numbered + * synchronously generated signal that we handle (that is SIGSEGV), + * due to Linux signal handling pecularities. See thread "Signal + * delivery order" from 2009-03-14 on kernel-devel@vger.kernel.org. */ +#define SIG_STOP_FOR_GC (SIGUSR2)