lib/sys/src/kvm/state.zig
daab053ee43316e1809a84551d573ddd1e5bf3d2
1 const abi = @import("abi.zig");
2
3 pub const Parts = struct {
4 registers: bool = true,
5 special_registers: bool = true,
6 fpu: bool = false,
7 events: bool = false,
8 debug_registers: bool = false,
9 xsave: bool = false,
10 xcrs: bool = false,
11 multiprocessor: bool = false,
12
13 pub const basic: Parts = .{};
14 pub const all: Parts = .{
15 .fpu = true,
16 .events = true,
17 .debug_registers = true,
18 .xsave = true,
19 .xcrs = true,
20 .multiprocessor = true,
21 };
22 };
23
24 pub const Fixed = struct {
25 valid: Parts,
26 registers: abi.Registers,
27 special_registers: abi.SpecialRegisters,
28 fpu: abi.Fpu,
29 events: abi.VcpuEvents,
30 debug_registers: abi.DebugRegisters,
31 xsave: abi.Xsave,
32 xcrs: abi.Xcrs,
33 multiprocessor: abi.MpState,
34 };