aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/common/block/include/intelblocks/cpulib.h
diff options
context:
space:
mode:
authorAamir Bohra <aamir.bohra@intel.com>2021-02-19 16:18:07 +0530
committerFurquan Shaikh <furquan@google.com>2021-02-23 03:39:47 +0000
commitd192590e29167a34a55439308686957feee07b71 (patch)
tree3a1ba32a34e7b6b9a4125c3f5741c9350225a50e /src/soc/intel/common/block/include/intelblocks/cpulib.h
parentc92c5e5450b7618b28e3f07a040efdd79293844f (diff)
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 <aamir.bohra@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/50913 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
Diffstat (limited to 'src/soc/intel/common/block/include/intelblocks/cpulib.h')
-rw-r--r--src/soc/intel/common/block/include/intelblocks/cpulib.h4
1 files changed, 4 insertions, 0 deletions
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 */