Per-CPU structure
struct cpu_capability { enum cpu_class class; uint32_t uarch_id; uint32_t issue_width; uint32_t retire_width; cpu_perf_t perf_score; uint32_t energy_score; uint64_t feature_bits;};struct cpu_capability referenced types:
struct core { struct core *self; cpu_id_t id; struct thread *current_thread; struct cpu_capability cap; size_t domain_cpu_id; struct scheduler_domain *domains[TOPOLOGY_LEVEL_MAX]; int32_t group_index[TOPOLOGY_LEVEL_MAX]; atomic_bool executing_dpcs; atomic_bool idle; bool in_interrupt; enum irql current_irql; enum dpc_event dpc_event; atomic_bool needs_resched; atomic_bool in_resched; atomic_uint scheduler_preemption_disable_depth; struct domain *domain; struct domain_arena *domain_arena; size_t rr_current_domain; struct tss *tss; uint32_t lapic_freq; struct topology_node *topo_node; struct topology_cache_info llc; numa_node_t numa_node; uint32_t package_id; uint32_t smt_mask; uint32_t smt_id; uint32_t core_id; uint64_t tsc_hz; uint64_t last_us; uint64_t last_tsc; uint64_t pt_seen_epoch; bool reclaiming_page_tables;};struct core referenced types:
struct corecpu_id_tstruct threadstruct cpu_capabilitystruct scheduler_domainenum irqlenum dpc_eventstruct domainstruct tssstruct topology_nodestruct topology_cache_infonuma_node_t
enum cpu_class { CPU_CLASS_UNKNOWN, CPU_CLASS_PERFORMANCE, CPU_CLASS_EFFICIENCY,};uint64_t smp_core_id();struct core smp_core(void);smp_core referenced types:
Defines
Section titled “Defines”#define CPU_FEAT_SSE2 (1ULL << 0)#define CPU_FEAT_AVX (1ULL << 1)#define CPU_FEAT_AVX2 (1ULL << 2)#define CPU_FEAT_AVX512F (1ULL << 3)#define for_each_cpu_struct(__iter) \ for (size_t __id = 0; \ ((__iter = global.cores[__id]), __id < global.core_count); __id++)#define for_each_cpu_id(__id) for (__id = 0; __id < global.core_count; __id++)