1#![expect(non_camel_case_types)]
8#![expect(non_upper_case_globals)]
9#![no_std]
10use stdbind::Optional as stdbind_optional;
11
12pub type AutoOr<T> = stdbind::Optional<T>;
13
14unsafe extern "C" {
15 fn cpp_boot_options_get() -> *const BootOptions;
16 fn cpp_boot_options_set_many(opts: *mut BootOptions, ptr: *const u8, len: usize);
17 fn cpp_boot_options_show_key(opts: *const BootOptions, ptr: *const u8, len: usize) -> i32;
18 fn cpp_boot_options_show_all(opts: *const BootOptions);
19}
20
21impl BootOptions {
22 pub fn as_ptr() -> *const Self {
24 unsafe { cpp_boot_options_get() }
26 }
27 pub fn get() -> &'static Self {
29 unsafe { Self::as_ptr().as_ref_unchecked() }
31 }
32 pub unsafe fn set_many(opts: *mut Self, cmdline: &str) {
38 unsafe { cpp_boot_options_set_many(opts, cmdline.as_ptr(), cmdline.len()) };
40 }
41 pub fn show_key(&self, key: &str) -> i32 {
43 unsafe { cpp_boot_options_show_key(self, key.as_ptr(), key.len()) }
45 }
46 pub fn show(&self) {
48 unsafe { cpp_boot_options_show_all(self) };
50 }
51}
52
53#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
54#[repr(C)]
55pub struct __BindgenOpaqueArray<T>(pub T);
56impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray<[T; N]> {
57 fn default() -> Self {
58 Self([<T as Default>::default(); N])
59 }
60}
61#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
62#[repr(C, align(8))]
63pub struct __BindgenOpaqueArray8<T>(pub T);
64impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
65 fn default() -> Self {
66 Self([<T as Default>::default(); N])
67 }
68}
69#[repr(C)]
70#[derive(Debug, Copy, Clone)]
71pub struct std_optional {
72 pub _address: u8,
73}
74pub type std_optional___base = u8;
75pub type std_optional_value_type = u8;
76pub type std_optional___trivially_relocatable = u8;
77#[repr(C)]
78#[derive(Debug, Copy, Clone)]
79pub struct std_optional__CheckOptionalArgsConstructor {
80 pub _address: u8,
81}
82pub type std_optional__CheckOptionalArgsCtor = u8;
83#[repr(C)]
84#[derive(Debug, Copy, Clone)]
85pub struct std_optional__CheckOptionalLikeConstructor {
86 pub _address: u8,
87}
88pub type std_optional__CheckOptionalLikeConstructor___check_constructible_from_opt = u8;
89pub type std_optional__CheckOptionalLikeConstructor___check_assignable_from_opt = u8;
90pub type std_optional__CheckOptionalLikeCtor = u8;
91pub type std_optional__CheckOptionalLikeAssign = u8;
92#[repr(C)]
93#[derive(Debug, Copy, Clone)]
94pub struct std_char_traits {
95 pub _address: u8,
96}
97pub type std_array___trivially_relocatable = u8;
98pub type std_array___self = u8;
99pub type std_array_value_type = u8;
100pub type std_array_reference = u8;
101pub type std_array_const_reference = u8;
102pub type std_array_pointer = u8;
103pub type std_array_const_pointer = u8;
104pub type std_array_iterator = u8;
105pub type std_array_const_iterator = u8;
106pub type std_array_size_type = __BindgenOpaqueArray8<[u8; 8usize]>;
107pub type std_array_difference_type = __BindgenOpaqueArray8<[u8; 8usize]>;
108pub type std_array_reverse_iterator = u8;
109pub type std_array_const_reverse_iterator = u8;
110pub type std_string_view = __BindgenOpaqueArray8<[u8; 16usize]>;
111#[repr(C)]
112#[derive(Debug, Copy, Clone)]
113pub struct std_basic_string_view {
114 pub _address: u8,
115}
116pub type std_basic_string_view_traits_type = u8;
117pub type std_basic_string_view_value_type = u8;
118pub type std_basic_string_view_pointer = u8;
119pub type std_basic_string_view_const_pointer = u8;
120pub type std_basic_string_view_reference = u8;
121pub type std_basic_string_view_const_reference = u8;
122pub type std_basic_string_view_const_iterator = u8;
123pub type std_basic_string_view_iterator = u8;
124pub type std_basic_string_view_const_reverse_iterator = u8;
125pub type std_basic_string_view_reverse_iterator = u8;
126pub type std_basic_string_view_size_type = __BindgenOpaqueArray8<[u8; 8usize]>;
127pub type std_basic_string_view_difference_type = __BindgenOpaqueArray8<[u8; 8usize]>;
128#[repr(C)]
129#[derive(Debug, Copy, Clone)]
130pub struct std_basic_string_view___assume_valid {
131 pub _address: u8,
132}
133#[repr(C)]
134#[derive(Debug, Copy, Clone)]
135pub struct std_variant {
136 pub _address: u8,
137}
138pub type std_variant___first_type = u8;
139pub type std_variant___trivially_relocatable = u8;
140impl stdbind_optional_Tag {
141 pub const Some: stdbind_optional_Tag = stdbind_optional_Tag::None;
142}
143#[repr(i32)]
144#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
145pub enum stdbind_optional_Tag {
146 None = 0,
147}
148#[repr(C)]
149#[repr(align(1))]
150pub union stdbind_optional__bindgen_ty_1<T> {
151 pub _phantom_0: ::core::marker::PhantomData<::core::cell::UnsafeCell<T>>,
152 pub empty_: ::core::mem::ManuallyDrop<stdbind_optional__bindgen_ty_1__bindgen_ty_1>,
153 pub value_: ::core::mem::ManuallyDrop<T>,
154}
155#[repr(C)]
156#[derive(Debug, Copy, Clone)]
157pub struct stdbind_optional__bindgen_ty_1__bindgen_ty_1 {
158 pub _address: u8,
159}
160#[repr(C)]
161#[derive(Debug, Copy, Clone)]
162pub struct FILE {
163 pub write_: FILE_Callback,
164 pub ptr_: *mut ::core::ffi::c_void,
165}
166pub type FILE_Callback = ::core::option::Option<
167 unsafe extern "C" fn(
168 arg1: *mut ::core::ffi::c_void,
169 arg2: *const ::core::ffi::c_char,
170 arg3: usize,
171 ) -> ::core::ffi::c_int,
172>;
173#[allow(clippy::unnecessary_operation, clippy::identity_op)]
174const _: () = {
175 ["Size of FILE"][::core::mem::size_of::<FILE>() - 16usize];
176 ["Alignment of FILE"][::core::mem::align_of::<FILE>() - 8usize];
177 ["Offset of field: FILE::write_"][::core::mem::offset_of!(FILE, write_) - 0usize];
178 ["Offset of field: FILE::ptr_"][::core::mem::offset_of!(FILE, ptr_) - 8usize];
179};
180#[repr(C)]
181#[derive(Debug, Copy, Clone)]
182pub struct zbi_dcfg_simple_t {
183 pub mmio_phys: u64,
184 pub irq: u32,
185 pub flags: u32,
186}
187#[allow(clippy::unnecessary_operation, clippy::identity_op)]
188const _: () = {
189 ["Size of zbi_dcfg_simple_t"][::core::mem::size_of::<zbi_dcfg_simple_t>() - 16usize];
190 ["Alignment of zbi_dcfg_simple_t"][::core::mem::align_of::<zbi_dcfg_simple_t>() - 8usize];
191 ["Offset of field: zbi_dcfg_simple_t::mmio_phys"]
192 [::core::mem::offset_of!(zbi_dcfg_simple_t, mmio_phys) - 0usize];
193 ["Offset of field: zbi_dcfg_simple_t::irq"]
194 [::core::mem::offset_of!(zbi_dcfg_simple_t, irq) - 8usize];
195 ["Offset of field: zbi_dcfg_simple_t::flags"]
196 [::core::mem::offset_of!(zbi_dcfg_simple_t, flags) - 12usize];
197};
198#[repr(C)]
199#[derive(Debug, Copy, Clone)]
200pub struct zbi_dcfg_simple_pio_t {
201 pub base: u16,
202 pub reserved: u16,
203 pub irq: u32,
204}
205#[allow(clippy::unnecessary_operation, clippy::identity_op)]
206const _: () = {
207 ["Size of zbi_dcfg_simple_pio_t"][::core::mem::size_of::<zbi_dcfg_simple_pio_t>() - 8usize];
208 ["Alignment of zbi_dcfg_simple_pio_t"]
209 [::core::mem::align_of::<zbi_dcfg_simple_pio_t>() - 4usize];
210 ["Offset of field: zbi_dcfg_simple_pio_t::base"]
211 [::core::mem::offset_of!(zbi_dcfg_simple_pio_t, base) - 0usize];
212 ["Offset of field: zbi_dcfg_simple_pio_t::reserved"]
213 [::core::mem::offset_of!(zbi_dcfg_simple_pio_t, reserved) - 2usize];
214 ["Offset of field: zbi_dcfg_simple_pio_t::irq"]
215 [::core::mem::offset_of!(zbi_dcfg_simple_pio_t, irq) - 4usize];
216};
217#[repr(i32)]
218#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
219pub enum uart_IoRegisterType {
220 None = 0,
221 Mmio8 = 1,
222 Mmio32 = 2,
223 Pio = 3,
224}
225#[repr(C)]
226#[repr(align(8))]
227#[derive(Debug, Copy, Clone)]
228pub struct uart_dw8250_Driver {
229 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 48usize]>,
230}
231pub type uart_dw8250_Driver_Base = __BindgenOpaqueArray8<[u8; 16usize]>;
232#[allow(clippy::unnecessary_operation, clippy::identity_op)]
233const _: () = {
234 ["Size of uart_dw8250_Driver"][::core::mem::size_of::<uart_dw8250_Driver>() - 48usize];
235 ["Alignment of uart_dw8250_Driver"][::core::mem::align_of::<uart_dw8250_Driver>() - 8usize];
236};
237unsafe extern "C" {
238 #[link_name = "\u{1}_ZN4uart6dw82506Driver11kConfigNameE"]
239 pub static uart_dw8250_Driver_kConfigName: std_string_view;
240}
241unsafe extern "C" {
242 #[link_name = "\u{1}_ZN4uart6dw82506Driver19kDevicetreeBindingsE"]
243 pub static uart_dw8250_Driver_kDevicetreeBindings: __BindgenOpaqueArray8<[u8; 32usize]>;
244}
245pub type uart_ns8250_DriverImpl_Base = u8;
246pub type uart_ns8250_DriverImpl_FifoControlRegister = u8;
247pub type uart_ns8250_DriverImpl_InterruptEnableRegister = u8;
248#[repr(C)]
249#[repr(align(1))]
250#[derive(Debug, Copy, Clone)]
251pub struct uart_null_Driver {
252 pub _bindgen_opaque_blob: u8,
253}
254pub type uart_null_Driver_config_type = __BindgenOpaqueArray8<[u8; 8usize]>;
255#[allow(clippy::unnecessary_operation, clippy::identity_op)]
256const _: () = {
257 ["Size of uart_null_Driver"][::core::mem::size_of::<uart_null_Driver>() - 1usize];
258 ["Alignment of uart_null_Driver"][::core::mem::align_of::<uart_null_Driver>() - 1usize];
259};
260unsafe extern "C" {
261 #[link_name = "\u{1}_ZN4uart4null6Driver19kDevicetreeBindingsE"]
262 pub static uart_null_Driver_kDevicetreeBindings: __BindgenOpaqueArray8<[u8; 16usize]>;
263}
264unsafe extern "C" {
265 #[link_name = "\u{1}_ZN4uart4null6Driver11kConfigNameE"]
266 pub static uart_null_Driver_kConfigName: std_string_view;
267}
268unsafe extern "C" {
269 #[link_name = "\u{1}_ZN4uart4null6Driver7kIoTypeE"]
270 pub static uart_null_Driver_kIoType: uart_IoRegisterType;
271}
272pub const uart_null_Driver_kType: u32 = 0;
273pub const uart_null_Driver_kExtra: u32 = 0;
274#[repr(C)]
275#[repr(align(1))]
276#[derive(Debug, Copy, Clone)]
277pub struct uart_internal_DummyDriver {
278 pub _bindgen_opaque_blob: u8,
279}
280pub type uart_internal_DummyDriver_config_type = __BindgenOpaqueArray8<[u8; 8usize]>;
281#[allow(clippy::unnecessary_operation, clippy::identity_op)]
282const _: () = {
283 ["Size of uart_internal_DummyDriver"]
284 [::core::mem::size_of::<uart_internal_DummyDriver>() - 1usize];
285 ["Alignment of uart_internal_DummyDriver"]
286 [::core::mem::align_of::<uart_internal_DummyDriver>() - 1usize];
287};
288#[repr(C)]
289#[derive(Debug, Copy, Clone)]
290pub struct uart_all_Config {
291 pub _address: u8,
292}
293#[repr(C)]
294#[derive(Debug, Copy, Clone)]
295pub struct uart_all_Config_Variant {
296 pub _address: u8,
297}
298#[repr(u8)]
299#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
300pub enum IntelHwpPolicy {
301 BiosSpecified = 0,
302 Performance = 1,
303 Balanced = 2,
304 PowerSave = 3,
305 StablePerformance = 4,
306}
307pub type SmallString = [u8; 160];
308#[repr(C)]
309#[derive(Debug, Copy, Clone)]
310pub struct RedactedHex {
311 pub hex: SmallString,
312 pub len: usize,
313}
314#[allow(clippy::unnecessary_operation, clippy::identity_op)]
315const _: () = {
316 ["Size of RedactedHex"][::core::mem::size_of::<RedactedHex>() - 168usize];
317 ["Alignment of RedactedHex"][::core::mem::align_of::<RedactedHex>() - 8usize];
318 ["Offset of field: RedactedHex::hex"][::core::mem::offset_of!(RedactedHex, hex) - 0usize];
319 ["Offset of field: RedactedHex::len"][::core::mem::offset_of!(RedactedHex, len) - 160usize];
320};
321pub type AutoOr_Base<T> = stdbind_optional<T>;
322#[repr(u8)]
323#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
324pub enum OomBehavior {
325 Reboot = 0,
326 JobKill = 1,
327}
328#[repr(u8)]
329#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
330pub enum EntropyTestSource {
331 HwRng = 0,
332 JitterEntropy = 1,
333}
334#[repr(u8)]
335#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
336pub enum PageTableEvictionPolicy {
337 OnRequest = 0,
338 Never = 1,
339 Always = 2,
340}
341#[repr(u8)]
342#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
343pub enum SerialDebugSyscalls {
344 Disabled = 0,
345 Enabled = 1,
346 OutputOnly = 2,
347}
348#[repr(u8)]
349#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
350pub enum RootJobBehavior {
351 Halt = 0,
352 Reboot = 1,
353 Bootloader = 2,
354 Recovery = 3,
355 Shutdown = 4,
356}
357#[repr(u8)]
358#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
359pub enum WallclockType {
360 AutoDetect = 0,
361 Tsc = 1,
362 Pit = 2,
363 Hpet = 3,
364}
365#[repr(u8)]
366#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
367pub enum ScannerLruAction {
368 None = 0,
369 EvictOnly = 1,
370 CompressOnly = 2,
371 EvictAndCompress = 3,
372}
373#[repr(u8)]
374#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
375pub enum CompressionStrategy {
376 None = 0,
377 Lz4 = 1,
378}
379#[repr(u8)]
380#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
381pub enum CompressionStorageStrategy {
382 None = 0,
383 Slot = 1,
384}
385#[repr(C)]
386pub struct RamReservation {
387 pub paddr: stdbind_optional<u64>,
388 pub size: u64,
389}
390#[allow(clippy::unnecessary_operation, clippy::identity_op)]
391const _: () = {
392 ["Size of RamReservation"][::core::mem::size_of::<RamReservation>() - 24usize];
393 ["Alignment of RamReservation"][::core::mem::align_of::<RamReservation>() - 8usize];
394 ["Offset of field: RamReservation::paddr"]
395 [::core::mem::offset_of!(RamReservation, paddr) - 0usize];
396 ["Offset of field: RamReservation::size"]
397 [::core::mem::offset_of!(RamReservation, size) - 16usize];
398};
399#[repr(u8)]
400#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
401pub enum CheckFailAction {
402 Oops = 0,
403 Panic = 1,
404}
405#[repr(u8)]
406#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
407pub enum CheckerEnable {
408 True = 0,
409 False = 1,
410 Auto = 2,
411}
412#[repr(i32)]
413#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
414pub enum TestEnum {
415 Default = 0,
416 Value1 = 1,
417 Value2 = 2,
418}
419#[repr(C)]
420#[derive(Debug, Copy, Clone)]
421pub struct TestStruct {
422 pub present: bool,
423}
424#[allow(clippy::unnecessary_operation, clippy::identity_op)]
425const _: () = {
426 ["Size of TestStruct"][::core::mem::size_of::<TestStruct>() - 1usize];
427 ["Alignment of TestStruct"][::core::mem::align_of::<TestStruct>() - 1usize];
428 ["Offset of field: TestStruct::present"][::core::mem::offset_of!(TestStruct, present) - 0usize];
429};
430#[repr(C)]
431pub struct BootOptions {
432 pub aslr_disabled: bool,
433 pub aslr_entropy_bits: u8,
434 pub cprng_reseed_require_hw_rng: bool,
435 pub cprng_reseed_require_jitterentropy: bool,
436 pub cprng_seed_require_hw_rng: bool,
437 pub cprng_disable_jitterentropy: bool,
438 pub cprng_disable_hw_rng: bool,
439 pub cprng_seed_require_jitterentropy: bool,
440 pub cprng_seed_require_cmdline: bool,
441 pub entropy_mixin: RedactedHex,
442 pub jitterentropy_bs: u32,
443 pub jitterentropy_bc: u32,
444 pub jitterentropy_ml: u32,
445 pub jitterentropy_ll: u32,
446 pub jitterentropy_raw: bool,
447 pub jitterentropy_entropy_per_1000_bytes: u32,
448 pub lockup_detector_critical_section_threshold_ms: u64,
449 pub lockup_detector_critical_section_fatal_threshold_ms: u64,
450 pub lockup_detector_heartbeat_period_ms: u64,
451 pub lockup_detector_heartbeat_age_threshold_ms: u64,
452 pub lockup_detector_age_fatal_threshold_ms: u64,
453 pub lockup_detector_diagnostic_query_timeout_ms: u64,
454 pub oom_behavior: OomBehavior,
455 pub oom_timeout_ms: u32,
456 pub oom_enabled: bool,
457 pub oom_out_of_memory_threshold_mb: u64,
458 pub oom_critical_threshold_mb: u64,
459 pub oom_warning_threshold_mb: u64,
460 pub oom_debounce_mb: u64,
461 pub oom_evict_at_warning: bool,
462 pub oom_evict_continuous: bool,
463 pub oom_eviction_delay_ms: u64,
464 pub oom_evict_with_min_target: bool,
465 pub oom_eviction_delta_at_oom_mb: u64,
466 pub oom_hysteresis_seconds: u64,
467 pub oom_imminent_oom_delta_mb: u64,
468 pub oom_trigger_on_alloc_failure: bool,
469 pub phys_verbose: bool,
470 pub phys_backtrace_max: u32,
471 pub phys_print_stack_max: u32,
472 pub ppb_borrow_on_mru: bool,
473 pub ppb_loan: bool,
474 pub ppb_replace_on_unloan: bool,
475 pub render_dlog_to_crashlog: bool,
476 pub serial: __BindgenOpaqueArray8<[u8; 24usize]>,
477 pub always_use_next_vdso: bool,
478 pub vdso_ticks_get_force_syscall: bool,
479 pub vdso_clock_get_force_syscall: bool,
480 pub userpager_overtime_wait_seconds: u64,
481 pub userpager_overtime_timeout_seconds: u64,
482 pub userpager_overtime_printout_limit: u32,
483 pub enable_virtual_heap: bool,
484 pub heap_max_size_mb: u64,
485 pub heap_alloc_fill_threshold: u64,
486 pub bufferchain_reserve_pages: u64,
487 pub bypass_debuglog: bool,
488 pub debug_uart_poll: bool,
489 pub enable_debugging_syscalls: bool,
490 pub enable_serial_syscalls: SerialDebugSyscalls,
491 pub entropy_test_src: EntropyTestSource,
492 pub entropy_test_len: u64,
493 pub force_watchdog_disabled: bool,
494 pub halt_on_panic: bool,
495 pub ktrace_bufsize: u32,
496 pub ktrace_grpmask: u32,
497 pub memory_limit_dbg: bool,
498 pub memory_limit_mb: u64,
499 pub page_scanner_enable_eviction: bool,
500 pub page_scanner_page_table_eviction_policy: PageTableEvictionPolicy,
501 pub page_scanner_page_table_eviction_period_ms: u32,
502 pub page_scanner_min_aging_interval_ms: u32,
503 pub page_scanner_max_aging_interval_ms: u32,
504 pub page_scanner_accessed_scan_interval_ms: u32,
505 pub page_scanner_active_ratio_multiplier: u32,
506 pub page_scanner_start_at_boot: bool,
507 pub page_scanner_zero_page_scans_per_second: u64,
508 pub lru_action: ScannerLruAction,
509 pub random_debug_compress: bool,
510 pub compression_strategy: CompressionStrategy,
511 pub compression_storage_strategy: CompressionStorageStrategy,
512 pub compression_threshold: u32,
513 pub compression_lz4_acceleration: u32,
514 pub compression_at_memory_pressure: bool,
515 pub compression_reclaim_anonymous: bool,
516 pub compression_reclaim_zero_forks: bool,
517 pub pmm_checker_action: CheckFailAction,
518 pub pmm_checker_enabled: CheckerEnable,
519 pub pmm_checker_fill_size: AutoOr<u64>,
520 pub pmm_alloc_random_should_wait: bool,
521 pub stack_canary_percent_free: u64,
522 pub port_observer_reserve_pages: u64,
523 pub port_packet_reserve_pages: u64,
524 pub root_job_behavior: RootJobBehavior,
525 pub root_job_notice: SmallString,
526 pub shell: bool,
527 pub shell_script: SmallString,
528 pub smp_ht_enabled: bool,
529 pub test_ram_reserve: stdbind_optional<RamReservation>,
530 pub max_port_observers: u64,
531 pub select: SmallString,
532 pub userboot: SmallString,
533 pub power_boot_boost: bool,
534 pub power_rppm: bool,
535 pub scheduler_prefer_little_cpus: bool,
536 pub enable_new_wakeup_accounting: bool,
537 pub ubsan_action: CheckFailAction,
538 pub debug_boot_spin: bool,
539 pub experimental_expand_memory_stall: bool,
540 pub x86_disable_spec_mitigations: bool,
541 pub x86_hwp: bool,
542 pub x86_hwp_policy: IntelHwpPolicy,
543 pub x86_md_clear_on_user_return: bool,
544 pub x86_spec_store_bypass_disable: bool,
545 pub x86_turbo: bool,
546 pub x86_enable_pcid: bool,
547 pub x86_smp_max_cpus: u32,
548 pub x86_wallclock: WallclockType,
549 pub test_uint32: u32,
550 pub test_uint64: u64,
551 pub test_bool: bool,
552 pub test_smallstring: SmallString,
553 pub test_enum: TestEnum,
554 pub test_struct: TestStruct,
555 pub test_redacted_hex: RedactedHex,
556 pub test_auto_or_uint64: AutoOr<u64>,
557 pub smp_max_cpus: u32,
558}
559#[allow(clippy::unnecessary_operation, clippy::identity_op)]
560const _: () = {
561 ["Size of BootOptions"][::core::mem::size_of::<BootOptions>() - 1696usize];
562 ["Alignment of BootOptions"][::core::mem::align_of::<BootOptions>() - 8usize];
563 ["Offset of field: BootOptions::aslr_disabled"]
564 [::core::mem::offset_of!(BootOptions, aslr_disabled) - 0usize];
565 ["Offset of field: BootOptions::aslr_entropy_bits"]
566 [::core::mem::offset_of!(BootOptions, aslr_entropy_bits) - 1usize];
567 ["Offset of field: BootOptions::cprng_reseed_require_hw_rng"]
568 [::core::mem::offset_of!(BootOptions, cprng_reseed_require_hw_rng) - 2usize];
569 ["Offset of field: BootOptions::cprng_reseed_require_jitterentropy"]
570 [::core::mem::offset_of!(BootOptions, cprng_reseed_require_jitterentropy) - 3usize];
571 ["Offset of field: BootOptions::cprng_seed_require_hw_rng"]
572 [::core::mem::offset_of!(BootOptions, cprng_seed_require_hw_rng) - 4usize];
573 ["Offset of field: BootOptions::cprng_disable_jitterentropy"]
574 [::core::mem::offset_of!(BootOptions, cprng_disable_jitterentropy) - 5usize];
575 ["Offset of field: BootOptions::cprng_disable_hw_rng"]
576 [::core::mem::offset_of!(BootOptions, cprng_disable_hw_rng) - 6usize];
577 ["Offset of field: BootOptions::cprng_seed_require_jitterentropy"]
578 [::core::mem::offset_of!(BootOptions, cprng_seed_require_jitterentropy) - 7usize];
579 ["Offset of field: BootOptions::cprng_seed_require_cmdline"]
580 [::core::mem::offset_of!(BootOptions, cprng_seed_require_cmdline) - 8usize];
581 ["Offset of field: BootOptions::entropy_mixin"]
582 [::core::mem::offset_of!(BootOptions, entropy_mixin) - 16usize];
583 ["Offset of field: BootOptions::jitterentropy_bs"]
584 [::core::mem::offset_of!(BootOptions, jitterentropy_bs) - 184usize];
585 ["Offset of field: BootOptions::jitterentropy_bc"]
586 [::core::mem::offset_of!(BootOptions, jitterentropy_bc) - 188usize];
587 ["Offset of field: BootOptions::jitterentropy_ml"]
588 [::core::mem::offset_of!(BootOptions, jitterentropy_ml) - 192usize];
589 ["Offset of field: BootOptions::jitterentropy_ll"]
590 [::core::mem::offset_of!(BootOptions, jitterentropy_ll) - 196usize];
591 ["Offset of field: BootOptions::jitterentropy_raw"]
592 [::core::mem::offset_of!(BootOptions, jitterentropy_raw) - 200usize];
593 ["Offset of field: BootOptions::jitterentropy_entropy_per_1000_bytes"]
594 [::core::mem::offset_of!(BootOptions, jitterentropy_entropy_per_1000_bytes) - 204usize];
595 ["Offset of field: BootOptions::lockup_detector_critical_section_threshold_ms"][::core::mem::offset_of!(
596 BootOptions,
597 lockup_detector_critical_section_threshold_ms
598 ) - 208usize];
599 ["Offset of field: BootOptions::lockup_detector_critical_section_fatal_threshold_ms"][::core::mem::offset_of!(
600 BootOptions,
601 lockup_detector_critical_section_fatal_threshold_ms
602 )
603 - 216usize];
604 ["Offset of field: BootOptions::lockup_detector_heartbeat_period_ms"]
605 [::core::mem::offset_of!(BootOptions, lockup_detector_heartbeat_period_ms) - 224usize];
606 ["Offset of field: BootOptions::lockup_detector_heartbeat_age_threshold_ms"][::core::mem::offset_of!(
607 BootOptions,
608 lockup_detector_heartbeat_age_threshold_ms
609 ) - 232usize];
610 ["Offset of field: BootOptions::lockup_detector_age_fatal_threshold_ms"]
611 [::core::mem::offset_of!(BootOptions, lockup_detector_age_fatal_threshold_ms) - 240usize];
612 ["Offset of field: BootOptions::lockup_detector_diagnostic_query_timeout_ms"][::core::mem::offset_of!(
613 BootOptions,
614 lockup_detector_diagnostic_query_timeout_ms
615 ) - 248usize];
616 ["Offset of field: BootOptions::oom_behavior"]
617 [::core::mem::offset_of!(BootOptions, oom_behavior) - 256usize];
618 ["Offset of field: BootOptions::oom_timeout_ms"]
619 [::core::mem::offset_of!(BootOptions, oom_timeout_ms) - 260usize];
620 ["Offset of field: BootOptions::oom_enabled"]
621 [::core::mem::offset_of!(BootOptions, oom_enabled) - 264usize];
622 ["Offset of field: BootOptions::oom_out_of_memory_threshold_mb"]
623 [::core::mem::offset_of!(BootOptions, oom_out_of_memory_threshold_mb) - 272usize];
624 ["Offset of field: BootOptions::oom_critical_threshold_mb"]
625 [::core::mem::offset_of!(BootOptions, oom_critical_threshold_mb) - 280usize];
626 ["Offset of field: BootOptions::oom_warning_threshold_mb"]
627 [::core::mem::offset_of!(BootOptions, oom_warning_threshold_mb) - 288usize];
628 ["Offset of field: BootOptions::oom_debounce_mb"]
629 [::core::mem::offset_of!(BootOptions, oom_debounce_mb) - 296usize];
630 ["Offset of field: BootOptions::oom_evict_at_warning"]
631 [::core::mem::offset_of!(BootOptions, oom_evict_at_warning) - 304usize];
632 ["Offset of field: BootOptions::oom_evict_continuous"]
633 [::core::mem::offset_of!(BootOptions, oom_evict_continuous) - 305usize];
634 ["Offset of field: BootOptions::oom_eviction_delay_ms"]
635 [::core::mem::offset_of!(BootOptions, oom_eviction_delay_ms) - 312usize];
636 ["Offset of field: BootOptions::oom_evict_with_min_target"]
637 [::core::mem::offset_of!(BootOptions, oom_evict_with_min_target) - 320usize];
638 ["Offset of field: BootOptions::oom_eviction_delta_at_oom_mb"]
639 [::core::mem::offset_of!(BootOptions, oom_eviction_delta_at_oom_mb) - 328usize];
640 ["Offset of field: BootOptions::oom_hysteresis_seconds"]
641 [::core::mem::offset_of!(BootOptions, oom_hysteresis_seconds) - 336usize];
642 ["Offset of field: BootOptions::oom_imminent_oom_delta_mb"]
643 [::core::mem::offset_of!(BootOptions, oom_imminent_oom_delta_mb) - 344usize];
644 ["Offset of field: BootOptions::oom_trigger_on_alloc_failure"]
645 [::core::mem::offset_of!(BootOptions, oom_trigger_on_alloc_failure) - 352usize];
646 ["Offset of field: BootOptions::phys_verbose"]
647 [::core::mem::offset_of!(BootOptions, phys_verbose) - 353usize];
648 ["Offset of field: BootOptions::phys_backtrace_max"]
649 [::core::mem::offset_of!(BootOptions, phys_backtrace_max) - 356usize];
650 ["Offset of field: BootOptions::phys_print_stack_max"]
651 [::core::mem::offset_of!(BootOptions, phys_print_stack_max) - 360usize];
652 ["Offset of field: BootOptions::ppb_borrow_on_mru"]
653 [::core::mem::offset_of!(BootOptions, ppb_borrow_on_mru) - 364usize];
654 ["Offset of field: BootOptions::ppb_loan"]
655 [::core::mem::offset_of!(BootOptions, ppb_loan) - 365usize];
656 ["Offset of field: BootOptions::ppb_replace_on_unloan"]
657 [::core::mem::offset_of!(BootOptions, ppb_replace_on_unloan) - 366usize];
658 ["Offset of field: BootOptions::render_dlog_to_crashlog"]
659 [::core::mem::offset_of!(BootOptions, render_dlog_to_crashlog) - 367usize];
660 ["Offset of field: BootOptions::serial"]
661 [::core::mem::offset_of!(BootOptions, serial) - 368usize];
662 ["Offset of field: BootOptions::always_use_next_vdso"]
663 [::core::mem::offset_of!(BootOptions, always_use_next_vdso) - 392usize];
664 ["Offset of field: BootOptions::vdso_ticks_get_force_syscall"]
665 [::core::mem::offset_of!(BootOptions, vdso_ticks_get_force_syscall) - 393usize];
666 ["Offset of field: BootOptions::vdso_clock_get_force_syscall"]
667 [::core::mem::offset_of!(BootOptions, vdso_clock_get_force_syscall) - 394usize];
668 ["Offset of field: BootOptions::userpager_overtime_wait_seconds"]
669 [::core::mem::offset_of!(BootOptions, userpager_overtime_wait_seconds) - 400usize];
670 ["Offset of field: BootOptions::userpager_overtime_timeout_seconds"]
671 [::core::mem::offset_of!(BootOptions, userpager_overtime_timeout_seconds) - 408usize];
672 ["Offset of field: BootOptions::userpager_overtime_printout_limit"]
673 [::core::mem::offset_of!(BootOptions, userpager_overtime_printout_limit) - 416usize];
674 ["Offset of field: BootOptions::enable_virtual_heap"]
675 [::core::mem::offset_of!(BootOptions, enable_virtual_heap) - 420usize];
676 ["Offset of field: BootOptions::heap_max_size_mb"]
677 [::core::mem::offset_of!(BootOptions, heap_max_size_mb) - 424usize];
678 ["Offset of field: BootOptions::heap_alloc_fill_threshold"]
679 [::core::mem::offset_of!(BootOptions, heap_alloc_fill_threshold) - 432usize];
680 ["Offset of field: BootOptions::bufferchain_reserve_pages"]
681 [::core::mem::offset_of!(BootOptions, bufferchain_reserve_pages) - 440usize];
682 ["Offset of field: BootOptions::bypass_debuglog"]
683 [::core::mem::offset_of!(BootOptions, bypass_debuglog) - 448usize];
684 ["Offset of field: BootOptions::debug_uart_poll"]
685 [::core::mem::offset_of!(BootOptions, debug_uart_poll) - 449usize];
686 ["Offset of field: BootOptions::enable_debugging_syscalls"]
687 [::core::mem::offset_of!(BootOptions, enable_debugging_syscalls) - 450usize];
688 ["Offset of field: BootOptions::enable_serial_syscalls"]
689 [::core::mem::offset_of!(BootOptions, enable_serial_syscalls) - 451usize];
690 ["Offset of field: BootOptions::entropy_test_src"]
691 [::core::mem::offset_of!(BootOptions, entropy_test_src) - 452usize];
692 ["Offset of field: BootOptions::entropy_test_len"]
693 [::core::mem::offset_of!(BootOptions, entropy_test_len) - 456usize];
694 ["Offset of field: BootOptions::force_watchdog_disabled"]
695 [::core::mem::offset_of!(BootOptions, force_watchdog_disabled) - 464usize];
696 ["Offset of field: BootOptions::halt_on_panic"]
697 [::core::mem::offset_of!(BootOptions, halt_on_panic) - 465usize];
698 ["Offset of field: BootOptions::ktrace_bufsize"]
699 [::core::mem::offset_of!(BootOptions, ktrace_bufsize) - 468usize];
700 ["Offset of field: BootOptions::ktrace_grpmask"]
701 [::core::mem::offset_of!(BootOptions, ktrace_grpmask) - 472usize];
702 ["Offset of field: BootOptions::memory_limit_dbg"]
703 [::core::mem::offset_of!(BootOptions, memory_limit_dbg) - 476usize];
704 ["Offset of field: BootOptions::memory_limit_mb"]
705 [::core::mem::offset_of!(BootOptions, memory_limit_mb) - 480usize];
706 ["Offset of field: BootOptions::page_scanner_enable_eviction"]
707 [::core::mem::offset_of!(BootOptions, page_scanner_enable_eviction) - 488usize];
708 ["Offset of field: BootOptions::page_scanner_page_table_eviction_policy"]
709 [::core::mem::offset_of!(BootOptions, page_scanner_page_table_eviction_policy) - 489usize];
710 ["Offset of field: BootOptions::page_scanner_page_table_eviction_period_ms"][::core::mem::offset_of!(
711 BootOptions,
712 page_scanner_page_table_eviction_period_ms
713 ) - 492usize];
714 ["Offset of field: BootOptions::page_scanner_min_aging_interval_ms"]
715 [::core::mem::offset_of!(BootOptions, page_scanner_min_aging_interval_ms) - 496usize];
716 ["Offset of field: BootOptions::page_scanner_max_aging_interval_ms"]
717 [::core::mem::offset_of!(BootOptions, page_scanner_max_aging_interval_ms) - 500usize];
718 ["Offset of field: BootOptions::page_scanner_accessed_scan_interval_ms"]
719 [::core::mem::offset_of!(BootOptions, page_scanner_accessed_scan_interval_ms) - 504usize];
720 ["Offset of field: BootOptions::page_scanner_active_ratio_multiplier"]
721 [::core::mem::offset_of!(BootOptions, page_scanner_active_ratio_multiplier) - 508usize];
722 ["Offset of field: BootOptions::page_scanner_start_at_boot"]
723 [::core::mem::offset_of!(BootOptions, page_scanner_start_at_boot) - 512usize];
724 ["Offset of field: BootOptions::page_scanner_zero_page_scans_per_second"]
725 [::core::mem::offset_of!(BootOptions, page_scanner_zero_page_scans_per_second) - 520usize];
726 ["Offset of field: BootOptions::lru_action"]
727 [::core::mem::offset_of!(BootOptions, lru_action) - 528usize];
728 ["Offset of field: BootOptions::random_debug_compress"]
729 [::core::mem::offset_of!(BootOptions, random_debug_compress) - 529usize];
730 ["Offset of field: BootOptions::compression_strategy"]
731 [::core::mem::offset_of!(BootOptions, compression_strategy) - 530usize];
732 ["Offset of field: BootOptions::compression_storage_strategy"]
733 [::core::mem::offset_of!(BootOptions, compression_storage_strategy) - 531usize];
734 ["Offset of field: BootOptions::compression_threshold"]
735 [::core::mem::offset_of!(BootOptions, compression_threshold) - 532usize];
736 ["Offset of field: BootOptions::compression_lz4_acceleration"]
737 [::core::mem::offset_of!(BootOptions, compression_lz4_acceleration) - 536usize];
738 ["Offset of field: BootOptions::compression_at_memory_pressure"]
739 [::core::mem::offset_of!(BootOptions, compression_at_memory_pressure) - 540usize];
740 ["Offset of field: BootOptions::compression_reclaim_anonymous"]
741 [::core::mem::offset_of!(BootOptions, compression_reclaim_anonymous) - 541usize];
742 ["Offset of field: BootOptions::compression_reclaim_zero_forks"]
743 [::core::mem::offset_of!(BootOptions, compression_reclaim_zero_forks) - 542usize];
744 ["Offset of field: BootOptions::pmm_checker_action"]
745 [::core::mem::offset_of!(BootOptions, pmm_checker_action) - 543usize];
746 ["Offset of field: BootOptions::pmm_checker_enabled"]
747 [::core::mem::offset_of!(BootOptions, pmm_checker_enabled) - 544usize];
748 ["Offset of field: BootOptions::pmm_checker_fill_size"]
749 [::core::mem::offset_of!(BootOptions, pmm_checker_fill_size) - 552usize];
750 ["Offset of field: BootOptions::pmm_alloc_random_should_wait"]
751 [::core::mem::offset_of!(BootOptions, pmm_alloc_random_should_wait) - 568usize];
752 ["Offset of field: BootOptions::stack_canary_percent_free"]
753 [::core::mem::offset_of!(BootOptions, stack_canary_percent_free) - 576usize];
754 ["Offset of field: BootOptions::port_observer_reserve_pages"]
755 [::core::mem::offset_of!(BootOptions, port_observer_reserve_pages) - 584usize];
756 ["Offset of field: BootOptions::port_packet_reserve_pages"]
757 [::core::mem::offset_of!(BootOptions, port_packet_reserve_pages) - 592usize];
758 ["Offset of field: BootOptions::root_job_behavior"]
759 [::core::mem::offset_of!(BootOptions, root_job_behavior) - 600usize];
760 ["Offset of field: BootOptions::root_job_notice"]
761 [::core::mem::offset_of!(BootOptions, root_job_notice) - 601usize];
762 ["Offset of field: BootOptions::shell"][::core::mem::offset_of!(BootOptions, shell) - 761usize];
763 ["Offset of field: BootOptions::shell_script"]
764 [::core::mem::offset_of!(BootOptions, shell_script) - 762usize];
765 ["Offset of field: BootOptions::smp_ht_enabled"]
766 [::core::mem::offset_of!(BootOptions, smp_ht_enabled) - 922usize];
767 ["Offset of field: BootOptions::test_ram_reserve"]
768 [::core::mem::offset_of!(BootOptions, test_ram_reserve) - 928usize];
769 ["Offset of field: BootOptions::max_port_observers"]
770 [::core::mem::offset_of!(BootOptions, max_port_observers) - 960usize];
771 ["Offset of field: BootOptions::select"]
772 [::core::mem::offset_of!(BootOptions, select) - 968usize];
773 ["Offset of field: BootOptions::userboot"]
774 [::core::mem::offset_of!(BootOptions, userboot) - 1128usize];
775 ["Offset of field: BootOptions::power_boot_boost"]
776 [::core::mem::offset_of!(BootOptions, power_boot_boost) - 1288usize];
777 ["Offset of field: BootOptions::power_rppm"]
778 [::core::mem::offset_of!(BootOptions, power_rppm) - 1289usize];
779 ["Offset of field: BootOptions::scheduler_prefer_little_cpus"]
780 [::core::mem::offset_of!(BootOptions, scheduler_prefer_little_cpus) - 1290usize];
781 ["Offset of field: BootOptions::enable_new_wakeup_accounting"]
782 [::core::mem::offset_of!(BootOptions, enable_new_wakeup_accounting) - 1291usize];
783 ["Offset of field: BootOptions::ubsan_action"]
784 [::core::mem::offset_of!(BootOptions, ubsan_action) - 1292usize];
785 ["Offset of field: BootOptions::debug_boot_spin"]
786 [::core::mem::offset_of!(BootOptions, debug_boot_spin) - 1293usize];
787 ["Offset of field: BootOptions::experimental_expand_memory_stall"]
788 [::core::mem::offset_of!(BootOptions, experimental_expand_memory_stall) - 1294usize];
789 ["Offset of field: BootOptions::x86_disable_spec_mitigations"]
790 [::core::mem::offset_of!(BootOptions, x86_disable_spec_mitigations) - 1295usize];
791 ["Offset of field: BootOptions::x86_hwp"]
792 [::core::mem::offset_of!(BootOptions, x86_hwp) - 1296usize];
793 ["Offset of field: BootOptions::x86_hwp_policy"]
794 [::core::mem::offset_of!(BootOptions, x86_hwp_policy) - 1297usize];
795 ["Offset of field: BootOptions::x86_md_clear_on_user_return"]
796 [::core::mem::offset_of!(BootOptions, x86_md_clear_on_user_return) - 1298usize];
797 ["Offset of field: BootOptions::x86_spec_store_bypass_disable"]
798 [::core::mem::offset_of!(BootOptions, x86_spec_store_bypass_disable) - 1299usize];
799 ["Offset of field: BootOptions::x86_turbo"]
800 [::core::mem::offset_of!(BootOptions, x86_turbo) - 1300usize];
801 ["Offset of field: BootOptions::x86_enable_pcid"]
802 [::core::mem::offset_of!(BootOptions, x86_enable_pcid) - 1301usize];
803 ["Offset of field: BootOptions::x86_smp_max_cpus"]
804 [::core::mem::offset_of!(BootOptions, x86_smp_max_cpus) - 1304usize];
805 ["Offset of field: BootOptions::x86_wallclock"]
806 [::core::mem::offset_of!(BootOptions, x86_wallclock) - 1308usize];
807 ["Offset of field: BootOptions::test_uint32"]
808 [::core::mem::offset_of!(BootOptions, test_uint32) - 1312usize];
809 ["Offset of field: BootOptions::test_uint64"]
810 [::core::mem::offset_of!(BootOptions, test_uint64) - 1320usize];
811 ["Offset of field: BootOptions::test_bool"]
812 [::core::mem::offset_of!(BootOptions, test_bool) - 1328usize];
813 ["Offset of field: BootOptions::test_smallstring"]
814 [::core::mem::offset_of!(BootOptions, test_smallstring) - 1329usize];
815 ["Offset of field: BootOptions::test_enum"]
816 [::core::mem::offset_of!(BootOptions, test_enum) - 1492usize];
817 ["Offset of field: BootOptions::test_struct"]
818 [::core::mem::offset_of!(BootOptions, test_struct) - 1496usize];
819 ["Offset of field: BootOptions::test_redacted_hex"]
820 [::core::mem::offset_of!(BootOptions, test_redacted_hex) - 1504usize];
821 ["Offset of field: BootOptions::test_auto_or_uint64"]
822 [::core::mem::offset_of!(BootOptions, test_auto_or_uint64) - 1672usize];
823 ["Offset of field: BootOptions::smp_max_cpus"]
824 [::core::mem::offset_of!(BootOptions, smp_max_cpus) - 1688usize];
825};