Skip to main content

boot_options/
boot_options_rs.rs

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