projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.6.12.49:
[sbcl.git]
/
src
/
runtime
/
bsd-os.c
diff --git
a/src/runtime/bsd-os.c
b/src/runtime/bsd-os.c
index
dbb97a3
..
eaf6e10
100644
(file)
--- a/
src/runtime/bsd-os.c
+++ b/
src/runtime/bsd-os.c
@@
-26,6
+26,7
@@
#include "arch.h"
#include "globals.h"
#include "interrupt.h"
#include "arch.h"
#include "globals.h"
#include "interrupt.h"
+#include "interr.h"
#include "lispregs.h"
#include "sbcl.h"
#include "lispregs.h"
#include "sbcl.h"
@@
-163,6
+164,10
@@
os_map(int fd, int offset, os_vm_address_t addr, os_vm_size_t len)
return addr;
}
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)
{
void
os_flush_icache(os_vm_address_t address, os_vm_size_t length)
{
@@
-203,7
+208,9
@@
is_valid_lisp_addr(os_vm_address_t addr)
void
os_install_interrupt_handlers(void)
void
os_install_interrupt_handlers(void)
-{}
+{
+ SHOW("os_install_interrupt_handlers()/bsd-os/!defined(GENCGC)");
+}
#else
#else
@@
-230,13
+237,17
@@
memory_fault_handler(int signal, siginfo_t *siginfo, void *void_context)
void
os_install_interrupt_handlers(void)
{
void
os_install_interrupt_handlers(void)
{
+ SHOW("os_install_interrupt_handlers()/bsd-os/defined(GENCGC)");
#if defined __FreeBSD__
#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__
#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
#else
#error unsupported BSD variant
#endif
+ SHOW("leaving os_install_interrupt_handlers()");
}
#endif /* !defined GENCGC */
}
#endif /* !defined GENCGC */