12 #include <sys/socket.h>
13 #include <sys/utsname.h>
15 #include <sys/types.h>
21 #ifdef LISP_FEATURE_SB_THREAD
22 #error "Threading is not supported for Solaris running on x86-64."
28 int arch_os_thread_init(struct thread
*thread
) {
33 int arch_os_thread_cleanup(struct thread
*thread
) {
38 os_context_register_t
*
39 os_context_register_addr(os_context_t
*context
, int offset
)
41 #define RCASE(name) case reg_ ## name: return &context->uc_mcontext.gregs[REG_ ## name];
61 return &context
->uc_mcontext
.gregs
[offset
/2+4];
64 return &context
->uc_mcontext
.gregs
[offset
];
67 os_context_register_t
*
68 os_context_pc_addr(os_context_t
*context
)
70 return &context
->uc_mcontext
.gregs
[REG_RIP
];
73 os_context_register_t
*
74 os_context_sp_addr(os_context_t
*context
)
76 return &context
->uc_mcontext
.gregs
[REG_RSP
];
80 os_context_sigmask_addr(os_context_t
*context
)
82 return &(context
->uc_sigmask
);
85 void os_flush_icache(os_vm_address_t address
, os_vm_size_t length
)
90 os_context_fp_control(os_context_t
*context
)
92 return context
->uc_mcontext
.fpregs
.fp_reg_set
.fpchip_state
.cw
;