From d192590e29167a34a55439308686957feee07b71 Mon Sep 17 00:00:00 2001 From: Aamir Bohra Date: Fri, 19 Feb 2021 16:18:07 +0530 Subject: intel/common/block/cpu: Add APIs to get CPU info from lapic ID Add support to get core, package and thread ID from lapic ID. Implementation uses CPUID extended topology instruction to derive bit offsets for core, package and thread info in apic ID. BUG=b:179113790 Change-Id: If26d34d4250f5a88bdafacdd5d56b8882b69409e Signed-off-by: Aamir Bohra Reviewed-on: https://review.coreboot.org/c/coreboot/+/50913 Tested-by: build bot (Jenkins) Reviewed-by: Angel Pons Reviewed-by: EricR Lai --- src/soc/intel/common/block/include/intelblocks/cpulib.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/soc/intel/common/block/include') diff --git a/src/soc/intel/common/block/include/intelblocks/cpulib.h b/src/soc/intel/common/block/include/intelblocks/cpulib.h index 4dfbef48f6..6fc31b374e 100644 --- a/src/soc/intel/common/block/include/intelblocks/cpulib.h +++ b/src/soc/intel/common/block/include/intelblocks/cpulib.h @@ -162,4 +162,8 @@ int get_valid_prmrr_size(void); */ void enable_pm_timer_emulation(void); +/* Derive core, package and thread information from lapic ID */ +void get_cpu_topology_from_apicid(uint32_t apicid, uint8_t *package, + uint8_t *core, uint8_t *thread); + #endif /* SOC_INTEL_COMMON_BLOCK_CPULIB_H */ -- cgit v1.2.3