vmm/arch/x86_64/generated/
mpspec.rs

1// Copyright 2025 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2// SPDX-License-Identifier: Apache-2.0
3
4// automatically generated by tools/bindgen.sh
5
6#![allow(
7    non_camel_case_types,
8    non_upper_case_globals,
9    dead_code,
10    non_snake_case,
11    clippy::ptr_as_ptr,
12    clippy::undocumented_unsafe_blocks,
13    missing_debug_implementations,
14    clippy::tests_outside_test_module,
15    unsafe_op_in_unsafe_fn,
16    clippy::redundant_static_lifetimes
17)]
18
19pub const MPC_SIGNATURE: &[u8; 5] = b"PCMP\0";
20pub const MP_PROCESSOR: u32 = 0;
21pub const MP_BUS: u32 = 1;
22pub const MP_IOAPIC: u32 = 2;
23pub const MP_INTSRC: u32 = 3;
24pub const MP_LINTSRC: u32 = 4;
25pub const MP_TRANSLATION: u32 = 192;
26pub const CPU_ENABLED: u32 = 1;
27pub const CPU_BOOTPROCESSOR: u32 = 2;
28pub const CPU_STEPPING_MASK: u32 = 15;
29pub const CPU_MODEL_MASK: u32 = 240;
30pub const CPU_FAMILY_MASK: u32 = 3840;
31pub const BUSTYPE_EISA: &[u8; 5] = b"EISA\0";
32pub const BUSTYPE_ISA: &[u8; 4] = b"ISA\0";
33pub const BUSTYPE_INTERN: &[u8; 7] = b"INTERN\0";
34pub const BUSTYPE_MCA: &[u8; 4] = b"MCA\0";
35pub const BUSTYPE_VL: &[u8; 3] = b"VL\0";
36pub const BUSTYPE_PCI: &[u8; 4] = b"PCI\0";
37pub const BUSTYPE_PCMCIA: &[u8; 7] = b"PCMCIA\0";
38pub const BUSTYPE_CBUS: &[u8; 5] = b"CBUS\0";
39pub const BUSTYPE_CBUSII: &[u8; 7] = b"CBUSII\0";
40pub const BUSTYPE_FUTURE: &[u8; 7] = b"FUTURE\0";
41pub const BUSTYPE_MBI: &[u8; 4] = b"MBI\0";
42pub const BUSTYPE_MBII: &[u8; 5] = b"MBII\0";
43pub const BUSTYPE_MPI: &[u8; 4] = b"MPI\0";
44pub const BUSTYPE_MPSA: &[u8; 5] = b"MPSA\0";
45pub const BUSTYPE_NUBUS: &[u8; 6] = b"NUBUS\0";
46pub const BUSTYPE_TC: &[u8; 3] = b"TC\0";
47pub const BUSTYPE_VME: &[u8; 4] = b"VME\0";
48pub const BUSTYPE_XPRESS: &[u8; 7] = b"XPRESS\0";
49pub const MPC_APIC_USABLE: u32 = 1;
50pub const MP_IRQPOL_DEFAULT: u32 = 0;
51pub const MP_IRQPOL_ACTIVE_HIGH: u32 = 1;
52pub const MP_IRQPOL_RESERVED: u32 = 2;
53pub const MP_IRQPOL_ACTIVE_LOW: u32 = 3;
54pub const MP_IRQPOL_MASK: u32 = 3;
55pub const MP_IRQTRIG_DEFAULT: u32 = 0;
56pub const MP_IRQTRIG_EDGE: u32 = 4;
57pub const MP_IRQTRIG_RESERVED: u32 = 8;
58pub const MP_IRQTRIG_LEVEL: u32 = 12;
59pub const MP_IRQTRIG_MASK: u32 = 12;
60pub const MP_APIC_ALL: u32 = 255;
61pub const MPC_OEM_SIGNATURE: &[u8; 5] = b"_OEM\0";
62#[repr(C)]
63#[derive(Debug, Default, Copy, Clone, PartialEq)]
64pub struct mpf_intel {
65    pub signature: [::std::os::raw::c_char; 4usize],
66    pub physptr: ::std::os::raw::c_uint,
67    pub length: ::std::os::raw::c_uchar,
68    pub specification: ::std::os::raw::c_uchar,
69    pub checksum: ::std::os::raw::c_uchar,
70    pub feature1: ::std::os::raw::c_uchar,
71    pub feature2: ::std::os::raw::c_uchar,
72    pub feature3: ::std::os::raw::c_uchar,
73    pub feature4: ::std::os::raw::c_uchar,
74    pub feature5: ::std::os::raw::c_uchar,
75}
76#[allow(clippy::unnecessary_operation, clippy::identity_op)]
77const _: () = {
78    ["Size of mpf_intel"][::std::mem::size_of::<mpf_intel>() - 16usize];
79    ["Alignment of mpf_intel"][::std::mem::align_of::<mpf_intel>() - 4usize];
80    ["Offset of field: mpf_intel::signature"]
81        [::std::mem::offset_of!(mpf_intel, signature) - 0usize];
82    ["Offset of field: mpf_intel::physptr"][::std::mem::offset_of!(mpf_intel, physptr) - 4usize];
83    ["Offset of field: mpf_intel::length"][::std::mem::offset_of!(mpf_intel, length) - 8usize];
84    ["Offset of field: mpf_intel::specification"]
85        [::std::mem::offset_of!(mpf_intel, specification) - 9usize];
86    ["Offset of field: mpf_intel::checksum"][::std::mem::offset_of!(mpf_intel, checksum) - 10usize];
87    ["Offset of field: mpf_intel::feature1"][::std::mem::offset_of!(mpf_intel, feature1) - 11usize];
88    ["Offset of field: mpf_intel::feature2"][::std::mem::offset_of!(mpf_intel, feature2) - 12usize];
89    ["Offset of field: mpf_intel::feature3"][::std::mem::offset_of!(mpf_intel, feature3) - 13usize];
90    ["Offset of field: mpf_intel::feature4"][::std::mem::offset_of!(mpf_intel, feature4) - 14usize];
91    ["Offset of field: mpf_intel::feature5"][::std::mem::offset_of!(mpf_intel, feature5) - 15usize];
92};
93#[repr(C)]
94#[derive(Debug, Default, Copy, Clone, PartialEq)]
95pub struct mpc_table {
96    pub signature: [::std::os::raw::c_char; 4usize],
97    pub length: ::std::os::raw::c_ushort,
98    pub spec: ::std::os::raw::c_char,
99    pub checksum: ::std::os::raw::c_char,
100    pub oem: [::std::os::raw::c_char; 8usize],
101    pub productid: [::std::os::raw::c_char; 12usize],
102    pub oemptr: ::std::os::raw::c_uint,
103    pub oemsize: ::std::os::raw::c_ushort,
104    pub oemcount: ::std::os::raw::c_ushort,
105    pub lapic: ::std::os::raw::c_uint,
106    pub reserved: ::std::os::raw::c_uint,
107}
108#[allow(clippy::unnecessary_operation, clippy::identity_op)]
109const _: () = {
110    ["Size of mpc_table"][::std::mem::size_of::<mpc_table>() - 44usize];
111    ["Alignment of mpc_table"][::std::mem::align_of::<mpc_table>() - 4usize];
112    ["Offset of field: mpc_table::signature"]
113        [::std::mem::offset_of!(mpc_table, signature) - 0usize];
114    ["Offset of field: mpc_table::length"][::std::mem::offset_of!(mpc_table, length) - 4usize];
115    ["Offset of field: mpc_table::spec"][::std::mem::offset_of!(mpc_table, spec) - 6usize];
116    ["Offset of field: mpc_table::checksum"][::std::mem::offset_of!(mpc_table, checksum) - 7usize];
117    ["Offset of field: mpc_table::oem"][::std::mem::offset_of!(mpc_table, oem) - 8usize];
118    ["Offset of field: mpc_table::productid"]
119        [::std::mem::offset_of!(mpc_table, productid) - 16usize];
120    ["Offset of field: mpc_table::oemptr"][::std::mem::offset_of!(mpc_table, oemptr) - 28usize];
121    ["Offset of field: mpc_table::oemsize"][::std::mem::offset_of!(mpc_table, oemsize) - 32usize];
122    ["Offset of field: mpc_table::oemcount"][::std::mem::offset_of!(mpc_table, oemcount) - 34usize];
123    ["Offset of field: mpc_table::lapic"][::std::mem::offset_of!(mpc_table, lapic) - 36usize];
124    ["Offset of field: mpc_table::reserved"][::std::mem::offset_of!(mpc_table, reserved) - 40usize];
125};
126#[repr(C)]
127#[derive(Debug, Default, Copy, Clone, PartialEq)]
128pub struct mpc_cpu {
129    pub type_: ::std::os::raw::c_uchar,
130    pub apicid: ::std::os::raw::c_uchar,
131    pub apicver: ::std::os::raw::c_uchar,
132    pub cpuflag: ::std::os::raw::c_uchar,
133    pub cpufeature: ::std::os::raw::c_uint,
134    pub featureflag: ::std::os::raw::c_uint,
135    pub reserved: [::std::os::raw::c_uint; 2usize],
136}
137#[allow(clippy::unnecessary_operation, clippy::identity_op)]
138const _: () = {
139    ["Size of mpc_cpu"][::std::mem::size_of::<mpc_cpu>() - 20usize];
140    ["Alignment of mpc_cpu"][::std::mem::align_of::<mpc_cpu>() - 4usize];
141    ["Offset of field: mpc_cpu::type_"][::std::mem::offset_of!(mpc_cpu, type_) - 0usize];
142    ["Offset of field: mpc_cpu::apicid"][::std::mem::offset_of!(mpc_cpu, apicid) - 1usize];
143    ["Offset of field: mpc_cpu::apicver"][::std::mem::offset_of!(mpc_cpu, apicver) - 2usize];
144    ["Offset of field: mpc_cpu::cpuflag"][::std::mem::offset_of!(mpc_cpu, cpuflag) - 3usize];
145    ["Offset of field: mpc_cpu::cpufeature"][::std::mem::offset_of!(mpc_cpu, cpufeature) - 4usize];
146    ["Offset of field: mpc_cpu::featureflag"]
147        [::std::mem::offset_of!(mpc_cpu, featureflag) - 8usize];
148    ["Offset of field: mpc_cpu::reserved"][::std::mem::offset_of!(mpc_cpu, reserved) - 12usize];
149};
150#[repr(C)]
151#[derive(Debug, Default, Copy, Clone, PartialEq)]
152pub struct mpc_bus {
153    pub type_: ::std::os::raw::c_uchar,
154    pub busid: ::std::os::raw::c_uchar,
155    pub bustype: [::std::os::raw::c_uchar; 6usize],
156}
157#[allow(clippy::unnecessary_operation, clippy::identity_op)]
158const _: () = {
159    ["Size of mpc_bus"][::std::mem::size_of::<mpc_bus>() - 8usize];
160    ["Alignment of mpc_bus"][::std::mem::align_of::<mpc_bus>() - 1usize];
161    ["Offset of field: mpc_bus::type_"][::std::mem::offset_of!(mpc_bus, type_) - 0usize];
162    ["Offset of field: mpc_bus::busid"][::std::mem::offset_of!(mpc_bus, busid) - 1usize];
163    ["Offset of field: mpc_bus::bustype"][::std::mem::offset_of!(mpc_bus, bustype) - 2usize];
164};
165#[repr(C)]
166#[derive(Debug, Default, Copy, Clone, PartialEq)]
167pub struct mpc_ioapic {
168    pub type_: ::std::os::raw::c_uchar,
169    pub apicid: ::std::os::raw::c_uchar,
170    pub apicver: ::std::os::raw::c_uchar,
171    pub flags: ::std::os::raw::c_uchar,
172    pub apicaddr: ::std::os::raw::c_uint,
173}
174#[allow(clippy::unnecessary_operation, clippy::identity_op)]
175const _: () = {
176    ["Size of mpc_ioapic"][::std::mem::size_of::<mpc_ioapic>() - 8usize];
177    ["Alignment of mpc_ioapic"][::std::mem::align_of::<mpc_ioapic>() - 4usize];
178    ["Offset of field: mpc_ioapic::type_"][::std::mem::offset_of!(mpc_ioapic, type_) - 0usize];
179    ["Offset of field: mpc_ioapic::apicid"][::std::mem::offset_of!(mpc_ioapic, apicid) - 1usize];
180    ["Offset of field: mpc_ioapic::apicver"][::std::mem::offset_of!(mpc_ioapic, apicver) - 2usize];
181    ["Offset of field: mpc_ioapic::flags"][::std::mem::offset_of!(mpc_ioapic, flags) - 3usize];
182    ["Offset of field: mpc_ioapic::apicaddr"]
183        [::std::mem::offset_of!(mpc_ioapic, apicaddr) - 4usize];
184};
185#[repr(C)]
186#[derive(Debug, Default, Copy, Clone, PartialEq)]
187pub struct mpc_intsrc {
188    pub type_: ::std::os::raw::c_uchar,
189    pub irqtype: ::std::os::raw::c_uchar,
190    pub irqflag: ::std::os::raw::c_ushort,
191    pub srcbus: ::std::os::raw::c_uchar,
192    pub srcbusirq: ::std::os::raw::c_uchar,
193    pub dstapic: ::std::os::raw::c_uchar,
194    pub dstirq: ::std::os::raw::c_uchar,
195}
196#[allow(clippy::unnecessary_operation, clippy::identity_op)]
197const _: () = {
198    ["Size of mpc_intsrc"][::std::mem::size_of::<mpc_intsrc>() - 8usize];
199    ["Alignment of mpc_intsrc"][::std::mem::align_of::<mpc_intsrc>() - 2usize];
200    ["Offset of field: mpc_intsrc::type_"][::std::mem::offset_of!(mpc_intsrc, type_) - 0usize];
201    ["Offset of field: mpc_intsrc::irqtype"][::std::mem::offset_of!(mpc_intsrc, irqtype) - 1usize];
202    ["Offset of field: mpc_intsrc::irqflag"][::std::mem::offset_of!(mpc_intsrc, irqflag) - 2usize];
203    ["Offset of field: mpc_intsrc::srcbus"][::std::mem::offset_of!(mpc_intsrc, srcbus) - 4usize];
204    ["Offset of field: mpc_intsrc::srcbusirq"]
205        [::std::mem::offset_of!(mpc_intsrc, srcbusirq) - 5usize];
206    ["Offset of field: mpc_intsrc::dstapic"][::std::mem::offset_of!(mpc_intsrc, dstapic) - 6usize];
207    ["Offset of field: mpc_intsrc::dstirq"][::std::mem::offset_of!(mpc_intsrc, dstirq) - 7usize];
208};
209pub mod mp_irq_source_types {
210    pub type Type = ::std::os::raw::c_uint;
211    pub const mp_INT: Type = 0;
212    pub const mp_NMI: Type = 1;
213    pub const mp_SMI: Type = 2;
214    pub const mp_ExtINT: Type = 3;
215}
216#[repr(C)]
217#[derive(Debug, Default, Copy, Clone, PartialEq)]
218pub struct mpc_lintsrc {
219    pub type_: ::std::os::raw::c_uchar,
220    pub irqtype: ::std::os::raw::c_uchar,
221    pub irqflag: ::std::os::raw::c_ushort,
222    pub srcbusid: ::std::os::raw::c_uchar,
223    pub srcbusirq: ::std::os::raw::c_uchar,
224    pub destapic: ::std::os::raw::c_uchar,
225    pub destapiclint: ::std::os::raw::c_uchar,
226}
227#[allow(clippy::unnecessary_operation, clippy::identity_op)]
228const _: () = {
229    ["Size of mpc_lintsrc"][::std::mem::size_of::<mpc_lintsrc>() - 8usize];
230    ["Alignment of mpc_lintsrc"][::std::mem::align_of::<mpc_lintsrc>() - 2usize];
231    ["Offset of field: mpc_lintsrc::type_"][::std::mem::offset_of!(mpc_lintsrc, type_) - 0usize];
232    ["Offset of field: mpc_lintsrc::irqtype"]
233        [::std::mem::offset_of!(mpc_lintsrc, irqtype) - 1usize];
234    ["Offset of field: mpc_lintsrc::irqflag"]
235        [::std::mem::offset_of!(mpc_lintsrc, irqflag) - 2usize];
236    ["Offset of field: mpc_lintsrc::srcbusid"]
237        [::std::mem::offset_of!(mpc_lintsrc, srcbusid) - 4usize];
238    ["Offset of field: mpc_lintsrc::srcbusirq"]
239        [::std::mem::offset_of!(mpc_lintsrc, srcbusirq) - 5usize];
240    ["Offset of field: mpc_lintsrc::destapic"]
241        [::std::mem::offset_of!(mpc_lintsrc, destapic) - 6usize];
242    ["Offset of field: mpc_lintsrc::destapiclint"]
243        [::std::mem::offset_of!(mpc_lintsrc, destapiclint) - 7usize];
244};
245#[repr(C)]
246#[derive(Debug, Default, Copy, Clone, PartialEq)]
247pub struct mpc_oemtable {
248    pub signature: [::std::os::raw::c_char; 4usize],
249    pub length: ::std::os::raw::c_ushort,
250    pub rev: ::std::os::raw::c_char,
251    pub checksum: ::std::os::raw::c_char,
252    pub mpc: [::std::os::raw::c_char; 8usize],
253}
254#[allow(clippy::unnecessary_operation, clippy::identity_op)]
255const _: () = {
256    ["Size of mpc_oemtable"][::std::mem::size_of::<mpc_oemtable>() - 16usize];
257    ["Alignment of mpc_oemtable"][::std::mem::align_of::<mpc_oemtable>() - 2usize];
258    ["Offset of field: mpc_oemtable::signature"]
259        [::std::mem::offset_of!(mpc_oemtable, signature) - 0usize];
260    ["Offset of field: mpc_oemtable::length"]
261        [::std::mem::offset_of!(mpc_oemtable, length) - 4usize];
262    ["Offset of field: mpc_oemtable::rev"][::std::mem::offset_of!(mpc_oemtable, rev) - 6usize];
263    ["Offset of field: mpc_oemtable::checksum"]
264        [::std::mem::offset_of!(mpc_oemtable, checksum) - 7usize];
265    ["Offset of field: mpc_oemtable::mpc"][::std::mem::offset_of!(mpc_oemtable, mpc) - 8usize];
266};
267pub mod mp_bustype {
268    pub type Type = ::std::os::raw::c_uint;
269    pub const MP_BUS_ISA: Type = 1;
270    pub const MP_BUS_EISA: Type = 2;
271    pub const MP_BUS_PCI: Type = 3;
272}