projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
0.9.4.23:
[sbcl.git]
/
src
/
runtime
/
sparc-linux-os.c
diff --git
a/src/runtime/sparc-linux-os.c
b/src/runtime/sparc-linux-os.c
index
9d4d683
..
45b076e
100644
(file)
--- a/
src/runtime/sparc-linux-os.c
+++ b/
src/runtime/sparc-linux-os.c
@@
-17,6
+17,7
@@
#include <stdio.h>
#include <sys/param.h>
#include <sys/file.h>
#include <stdio.h>
#include <sys/param.h>
#include <sys/file.h>
+#include "sbcl.h"
#include "./signal.h"
#include "os.h"
#include "arch.h"
#include "./signal.h"
#include "os.h"
#include "arch.h"
@@
-24,7
+25,6
@@
#include "interrupt.h"
#include "interr.h"
#include "lispregs.h"
#include "interrupt.h"
#include "interr.h"
#include "lispregs.h"
-#include "sbcl.h"
#include <sys/socket.h>
#include <sys/utsname.h>
#include <sys/socket.h>
#include <sys/utsname.h>
@@
-37,24
+37,31
@@
#include "validate.h"
size_t os_vm_page_size;
#include "validate.h"
size_t os_vm_page_size;
-#if defined GENCGC /* unlikely ... */
-#include "gencgc.h"
+#ifdef LISP_FEATURE_SB_THREAD
+#error "Define threading support functions"
+#else
+int arch_os_thread_init(struct thread *thread) {
+ return 1; /* success */
+}
+int arch_os_thread_cleanup(struct thread *thread) {
+ return 1; /* success */
+}
#endif
os_context_register_t *
os_context_register_addr(os_context_t *context, int offset)
{
if (offset == 0) {
#endif
os_context_register_t *
os_context_register_addr(os_context_t *context, int offset)
{
if (offset == 0) {
- static int zero;
- zero = 0;
- return &zero;
+ static int zero;
+ zero = 0;
+ return &zero;
} else if (offset < 16) {
} else if (offset < 16) {
- return &context->si_regs.u_regs[offset];
+ return &context->si_regs.u_regs[offset];
} else if (offset < 32) {
} else if (offset < 32) {
- int *sp = (int*) context->si_regs.u_regs[14]; /* Stack Pointer */
- return &(sp[offset-16]);
+ int *sp = (int*) context->si_regs.u_regs[14]; /* Stack Pointer */
+ return &(sp[offset-16]);
} else
} else
- return 0;
+ return 0;
}
os_context_register_t *
}
os_context_register_t *
@@
-75,7
+82,7
@@
os_context_sigmask_addr(os_context_t *context)
return &(context->si_mask);
}
return &(context->si_mask);
}
-void
+void
os_restore_fp_control(os_context_t *context)
{
/* Included here, for reference, is an attempt at the PPC
os_restore_fp_control(os_context_t *context)
{
/* Included here, for reference, is an attempt at the PPC
@@
-83,13
+90,13
@@
os_restore_fp_control(os_context_t *context)
Error on floating point exceptions, something like this would
have to be done. -- CSR, 2002-07-13
Error on floating point exceptions, something like this would
have to be done. -- CSR, 2002-07-13
- asm ("msfsf $255, %0" : : "m"
- (os_context_fp_control(context) &
- ~ (FLOAT_STICKY_BITS_MASK | FLOAT_EXCEPTIONS_BYTE_MASK)));
+ asm ("msfsf $255, %0" : : "m"
+ (os_context_fp_control(context) &
+ ~ (FLOAT_STICKY_BITS_MASK | FLOAT_EXCEPTIONS_BYTE_MASK)));
*/
}
*/
}
-void
+void
os_flush_icache(os_vm_address_t address, os_vm_size_t length)
{
/* This is the same for linux and solaris, so see sparc-assem.S */
os_flush_icache(os_vm_address_t address, os_vm_size_t length)
{
/* This is the same for linux and solaris, so see sparc-assem.S */