X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsparc-sunos-os.c;h=634e5e15ca99645a09cc1fd0e7cd21f83fe9ce29;hb=94ac5b7c3ff37850210b6fc9a7593cf1c5752993;hp=76459f46ce5c3c5dfa3953f8a6f9026a04e7bbfc;hpb=0d669e68a1ffbea42af6216f2ae8c7d7ca12ffb6;p=sbcl.git diff --git a/src/runtime/sparc-sunos-os.c b/src/runtime/sparc-sunos-os.c index 76459f4..634e5e1 100644 --- a/src/runtime/sparc-sunos-os.c +++ b/src/runtime/sparc-sunos-os.c @@ -30,7 +30,6 @@ #include #include -/* #include */ #include #include #include @@ -63,23 +62,29 @@ os_context_register_addr(os_context_t *context, int offset) os_context_register_t * os_context_pc_addr(os_context_t *context) { - return &(context->uc_mcontext.gregs[REG_PC]); + return &(context->uc_mcontext.gregs[REG_PC]); } os_context_register_t * os_context_npc_addr(os_context_t *context) { - return &(context->uc_mcontext.gregs[REG_nPC]); + return &(context->uc_mcontext.gregs[REG_nPC]); } sigset_t * os_context_sigmask_addr(os_context_t *context) { - return &(context->uc_sigmask); + return &(context->uc_sigmask); +} + +unsigned long +os_context_fp_control(os_context_t *context) +{ + return (context->uc_mcontext.fpregs.fpu_fsr); } void os_flush_icache(os_vm_address_t address, os_vm_size_t length) { - /* FIXME. There's a bit of stuff in the CMUCL version. It may or - may not be needed */ + /* see sparc-assem.S */ + sparc_flush_icache(address, length); }