#include <stddef.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <cpuinfo.h> #include <cpuinfo/internal-api.h> #include <cpuinfo/log.h> #include <linux/api.h> #include <x86/api.h> #include <x86/linux/api.h> static inline uint32_t bit_mask(uint32_t bits) { … } static inline bool bitmask_all(uint32_t bitfield, uint32_t mask) { … } static inline uint32_t min(uint32_t a, uint32_t b) { … } static inline int cmp(uint32_t a, uint32_t b) { … } static int cmp_x86_linux_processor(const void* ptr_a, const void* ptr_b) { … } static void cpuinfo_x86_count_objects( uint32_t linux_processors_count, const struct cpuinfo_x86_linux_processor linux_processors[restrict static linux_processors_count], const struct cpuinfo_x86_processor processor[restrict static 1], uint32_t valid_processor_mask, uint32_t llc_apic_bits, uint32_t cores_count_ptr[restrict static 1], uint32_t clusters_count_ptr[restrict static 1], uint32_t packages_count_ptr[restrict static 1], uint32_t l1i_count_ptr[restrict static 1], uint32_t l1d_count_ptr[restrict static 1], uint32_t l2_count_ptr[restrict static 1], uint32_t l3_count_ptr[restrict static 1], uint32_t l4_count_ptr[restrict static 1]) { … } void cpuinfo_x86_linux_init(void) { … }