X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fbsd-os.c;h=eaf6e10c7f06cff1c506e4a7e9c2c309c5c08b3f;hb=94ac5b7c3ff37850210b6fc9a7593cf1c5752993;hp=722776329142518d8ef6b06297934ae1705c0816;hpb=c9bb20c4b0d1f232ec83569d3456b3f3edc4aa1c;p=sbcl.git diff --git a/src/runtime/bsd-os.c b/src/runtime/bsd-os.c index 7227763..eaf6e10 100644 --- a/src/runtime/bsd-os.c +++ b/src/runtime/bsd-os.c @@ -164,6 +164,10 @@ os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len) return addr; } +/* FIXME: If this can be a no-op on BSD/x86, then it + * deserves a more precise name. + * + * (Perhaps os_prepare_data_area_to_be_executed()?) */ void os_flush_icache(os_vm_address_t address, os_vm_size_t length) { @@ -204,7 +208,9 @@ is_valid_lisp_addr(os_vm_address_t addr) void os_install_interrupt_handlers(void) -{} +{ + SHOW("os_install_interrupt_handlers()/bsd-os/!defined(GENCGC)"); +} #else @@ -231,13 +237,17 @@ memory_fault_handler(int signal, siginfo_t *siginfo, void *void_context) void os_install_interrupt_handlers(void) { + SHOW("os_install_interrupt_handlers()/bsd-os/defined(GENCGC)"); #if defined __FreeBSD__ - interrupt_install_low_level_handler(SIGBUS, memory_fault_handler); + undoably_install_low_level_interrupt_handler(SIGBUS, + memory_fault_handler); #elif defined __OpenBSD__ - interrupt_install_low_level_handler(SIGSEGV, memory_fault_handler); + undoably_install_low_level_interrupt_handler(SIGSEGV, + memory_fault_handler); #else #error unsupported BSD variant #endif + SHOW("leaving os_install_interrupt_handlers()"); } #endif /* !defined GENCGC */