1#![expect(non_camel_case_types)]
8#![no_std]
9pub use zx_types::{zx_duration_mono_t, zx_instant_mono_t};
10pub type ulong = ::core::ffi::c_ulong;
11
12#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
13#[repr(C, align(8))]
14pub struct __BindgenOpaqueArray8<T>(pub T);
15impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray8<[T; N]> {
16 fn default() -> Self {
17 Self([<T as Default>::default(); N])
18 }
19}
20#[derive(PartialEq, Eq, Copy, Clone, Debug, Hash)]
21#[repr(C, align(64))]
22pub struct __BindgenOpaqueArray64<T>(pub T);
23impl<T: Copy + Default, const N: usize> Default for __BindgenOpaqueArray64<[T; N]> {
24 fn default() -> Self {
25 Self([<T as Default>::default(); N])
26 }
27}
28#[repr(C)]
29#[derive(Debug, Copy, Clone)]
30pub struct std_atomic<_Tp> {
31 pub _phantom_0: ::core::marker::PhantomData<::core::cell::UnsafeCell<_Tp>>,
32 pub _address: u8,
33}
34pub type std_atomic___base = u8;
35#[repr(C)]
36#[repr(align(8))]
37#[derive(Debug, Copy, Clone)]
38pub struct ChainLockTransaction {
39 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 40usize]>,
40}
41#[repr(C)]
42#[repr(align(8))]
43#[derive(Debug, Copy, Clone)]
44pub struct lockdep_ThreadLockState {
45 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 16usize]>,
46}
47#[repr(C)]
48#[repr(align(1))]
49#[derive(Debug, Copy, Clone)]
50pub struct PlatformCpuResumeState {
51 pub _bindgen_opaque_blob: u8,
52}
53#[repr(C)]
54#[repr(align(8))]
55#[derive(Debug, Copy, Clone)]
56pub struct Timer {
57 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 72usize]>,
58}
59#[repr(C)]
60#[repr(align(8))]
61#[derive(Debug, Copy, Clone)]
62pub struct TimerQueue {
63 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 32usize]>,
64}
65#[repr(C)]
66#[repr(align(8))]
67#[derive(Debug, Copy, Clone)]
68pub struct StallAccumulator {
69 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 56usize]>,
70}
71#[repr(C)]
72#[repr(align(8))]
73#[derive(Debug, Copy, Clone)]
74pub struct CpuSearchSet {
75 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 528usize]>,
76}
77#[repr(C)]
78#[repr(align(8))]
79#[derive(Debug, Copy, Clone)]
80pub struct DpcRunner {
81 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 200usize]>,
82}
83#[repr(C)]
84#[repr(align(64))]
85#[derive(Debug, Copy, Clone)]
86pub struct IdlePowerThread {
87 pub _bindgen_opaque_blob: __BindgenOpaqueArray64<[u8; 2368usize]>,
88}
89#[repr(C)]
90#[repr(align(8))]
91#[derive(Debug, Copy, Clone)]
92pub struct Scheduler {
93 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 704usize]>,
94}
95#[repr(C)]
96pub struct guest_stats {
97 pub vm_entries: ulong,
98 pub vm_exits: ulong,
99 pub interrupts: ulong,
100 pub interrupt_windows: ulong,
101 pub cpuid_instructions: ulong,
102 pub hlt_instructions: ulong,
103 pub control_register_accesses: ulong,
104 pub io_instructions: ulong,
105 pub rdmsr_instructions: ulong,
106 pub wrmsr_instructions: ulong,
107 pub ept_violations: ulong,
108 pub xsetbv_instructions: ulong,
109 pub pause_instructions: ulong,
110 pub vmcall_instructions: ulong,
111}
112#[repr(C)]
113pub struct cpu_stats {
114 pub last_updated_instant: zx_instant_mono_t,
115 pub normalized_busy_time: zx_duration_mono_t,
116 pub idle_time: zx_duration_mono_t,
117 pub reschedules: ulong,
118 pub context_switches: ulong,
119 pub preempts: ulong,
120 pub yields: ulong,
121 pub interrupts: ulong,
122 pub timer_ints: ulong,
123 pub timers: ulong,
124 pub perf_ints: ulong,
125 pub syscalls: ulong,
126 pub page_faults: ulong,
127 pub reschedule_ipis: ulong,
128 pub generic_ipis: ulong,
129 pub active_energy_consumption_nj: ulong,
130 pub idle_energy_consumption_nj: ulong,
131}
132#[repr(C)]
133#[repr(align(8))]
134#[derive(Debug, Copy, Clone)]
135pub struct vm_page_counts {
136 pub _bindgen_opaque_blob: __BindgenOpaqueArray8<[u8; 96usize]>,
137}
138pub type vm_page_counts_t = vm_page_counts;
139#[repr(C)]
140#[repr(align(64))]
141pub struct percpu {
142 pub timer_queue: TimerQueue,
143 pub search_set: CpuSearchSet,
144 pub scheduler: Scheduler,
145 pub active_cl_transaction: *mut ChainLockTransaction,
146 pub chain_lock_conflict_id: __BindgenOpaqueArray8<[u8; 8usize]>,
147 pub gstats: guest_stats,
148 pub stats: cpu_stats,
149 pub __bindgen_padding_0: [u8; 8usize],
150 pub idle_power_thread: IdlePowerThread,
151 pub counters: *mut i64,
152 pub dpc_runner: DpcRunner,
153 pub vm_page_counts: vm_page_counts_t,
154 pub lockup_detector_timer: Timer,
155 pub sampling_timer: Timer,
156 pub memory_stall_accumulator: StallAccumulator,
157 pub resume_state: PlatformCpuResumeState,
158 pub __bindgen_padding_1: [u8; 7usize],
159}