X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsparc-linux-os.h;h=5c02fc663de142d997e0926741260a45ad234160;hb=ed1910efb36f71b5ebe33b5ffffd7195e15644de;hp=a8305f36f7f61bcc1c8eefa8ec8ab72d01cacfac;hpb=68fd2d2dd6f265669a8957accd8a33e62786a97e;p=sbcl.git diff --git a/src/runtime/sparc-linux-os.h b/src/runtime/sparc-linux-os.h index a8305f3..5c02fc6 100644 --- a/src/runtime/sparc-linux-os.h +++ b/src/runtime/sparc-linux-os.h @@ -2,10 +2,15 @@ #define _SPARC_LINUX_OS_H typedef struct sigcontext os_context_t; +typedef unsigned long os_context_register_t; -static inline os_context_t *arch_os_get_context(void **void_context) { - asm volatile ("ta 0x03"); /* ta ST_FLUSH_WINDOWS */ - return (os_context_t *) (void_context + 37); +static inline os_context_t *arch_os_get_context(void **void_context) +{ + asm volatile ("ta 0x03"); /* ta ST_FLUSH_WINDOWS */ + return (os_context_t *) (*void_context); } +unsigned long os_context_fp_control(os_context_t *context); +void os_restore_fp_control(os_context_t *context); + #endif /* _SPARC_LINUX_OS_H */