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)
{
{
SHOW("os_install_interrupt_handlers()/bsd-os/defined(GENCGC)");
#if defined __FreeBSD__
- SHOW("__FreeBSD__ case");
- interrupt_install_low_level_handler(SIGBUS, memory_fault_handler);
+ undoably_install_low_level_interrupt_handler(SIGBUS,
+ memory_fault_handler);
#elif defined __OpenBSD__
- FSHOW((stderr, "/__OpenBSD__ case, SIGSEGV=%d\n", SIGSEGV));
- 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