zig/lib/std/c/darwin/x86_64.zig

91 lines
2 KiB
Zig

const c = @import("../darwin.zig");
pub const mcontext_t = extern struct {
es: exception_state,
ss: thread_state,
fs: float_state,
};
pub const exception_state = extern struct {
trapno: u16,
cpu: u16,
err: u32,
faultvaddr: u64,
};
pub const thread_state = extern struct {
rax: u64,
rbx: u64,
rcx: u64,
rdx: u64,
rdi: u64,
rsi: u64,
rbp: u64,
rsp: u64,
r8: u64,
r9: u64,
r10: u64,
r11: u64,
r12: u64,
r13: u64,
r14: u64,
r15: u64,
rip: u64,
rflags: u64,
cs: u64,
fs: u64,
gs: u64,
};
const stmm_reg = [16]u8;
const xmm_reg = [16]u8;
pub const float_state = extern struct {
reserved: [2]c_int,
fcw: u16,
fsw: u16,
ftw: u8,
rsrv1: u8,
fop: u16,
ip: u32,
cs: u16,
rsrv2: u16,
dp: u32,
ds: u16,
rsrv3: u16,
mxcsr: u32,
mxcsrmask: u32,
stmm: [8]stmm_reg,
xmm: [16]xmm_reg,
rsrv4: [96]u8,
reserved1: c_int,
};
pub const THREAD_STATE = 4;
pub const THREAD_STATE_COUNT: c.mach_msg_type_number_t = @sizeOf(thread_state) / @sizeOf(c_int);
pub const EXC_TYPES_COUNT = 14;
pub const EXC_MASK_MACHINE = 0;
pub const x86_THREAD_STATE32 = 1;
pub const x86_FLOAT_STATE32 = 2;
pub const x86_EXCEPTION_STATE32 = 3;
pub const x86_THREAD_STATE64 = 4;
pub const x86_FLOAT_STATE64 = 5;
pub const x86_EXCEPTION_STATE64 = 6;
pub const x86_THREAD_STATE = 7;
pub const x86_FLOAT_STATE = 8;
pub const x86_EXCEPTION_STATE = 9;
pub const x86_DEBUG_STATE32 = 10;
pub const x86_DEBUG_STATE64 = 11;
pub const x86_DEBUG_STATE = 12;
pub const THREAD_STATE_NONE = 13;
pub const x86_AVX_STATE32 = 16;
pub const x86_AVX_STATE64 = (x86_AVX_STATE32 + 1);
pub const x86_AVX_STATE = (x86_AVX_STATE32 + 2);
pub const x86_AVX512_STATE32 = 19;
pub const x86_AVX512_STATE64 = (x86_AVX512_STATE32 + 1);
pub const x86_AVX512_STATE = (x86_AVX512_STATE32 + 2);
pub const x86_PAGEIN_STATE = 22;
pub const x86_THREAD_FULL_STATE64 = 23;
pub const x86_INSTRUCTION_STATE = 24;
pub const x86_LAST_BRANCH_STATE = 25;