#pragma once #include #include namespace hgl { enum class SOCVendor { Unknow=0, Qualcomm, ///<高通 Hisilicon, ///<海思 Samsung, ///<三星 MediaTek, ///<联发科 Unisoc, ///<展锐 Spreadtrum, ///<展讯 JLQ, ///<瓴盛 //Maxvell, ///<马维尔 //Broadcom, ///<博通 //TI, ///<德州仪器 //Rockchip, ///<瑞芯微 //Intel, ///<英特尔 //nVidia, ///<英伟达 //AMD, /// * 注:这里的频率单位为MHz,而且只是默认频率,实际频率可能会更高或更低 */ struct KryoCpuCoreInfo { ARMCpuInfo arm; ///<对应的ARM处理器 uint core_count; ///<核心数量 uint base_freq; ///<基础频率 uint boost_freq; ///<最高频率 }; struct KryoCPUInfo { /** * Kryo CPU 型号 * 旧系列直接使用数字型号,新的6gen1/7gen1/8gen1之类,直接写为601/701/801 */ uint model; KryoCpuCoreInfo core[size_t(KryoArchLevel::RANGE_SIZE)]; }; struct SOCModel { SOCVendor vendor; char model[32]; public: CompOperatorMemcmp(const SOCModel &); }; /** * 根据收集到的SOC信息,解晰具体的SOC厂商和主要型号 */ bool ParseSOCModel(SOCModel &,const char *); }//namespace hgl