1*2b54f0dbSXin Li #pragma once 2*2b54f0dbSXin Li 3*2b54f0dbSXin Li #include <stdint.h> 4*2b54f0dbSXin Li 5*2b54f0dbSXin Li #define CPUINFO_MACH_MAX_CACHE_LEVELS 8 6*2b54f0dbSXin Li 7*2b54f0dbSXin Li 8*2b54f0dbSXin Li struct cpuinfo_mach_topology { 9*2b54f0dbSXin Li uint32_t packages; 10*2b54f0dbSXin Li uint32_t cores; 11*2b54f0dbSXin Li uint32_t threads; 12*2b54f0dbSXin Li uint32_t threads_per_cache[CPUINFO_MACH_MAX_CACHE_LEVELS]; 13*2b54f0dbSXin Li }; 14*2b54f0dbSXin Li 15*2b54f0dbSXin Li 16*2b54f0dbSXin Li struct cpuinfo_mach_topology cpuinfo_mach_detect_topology(void); 17