STRUCT TPMI_CPU_INFO(9)
π struct tpmi_cpu_info(9) π
okay so this is a page from the Kernel API Manual, and bestie, it's literally the cheat sheet for one little struct that keeps track of which Punit thing your Linux CPU actually maps to. it's giving matchmaker energy fr fr π
β¨ NAME β¨
struct tpmi_cpu_info β the mapping information for a CPU, no cap π
πΈ SYNOPSIS πΈ
struct tpmi_cpu_info {
struct hlist_node hnode;
int linux_cpu;
u8 pkg_id;
u8 punit_thread_id;
u8 punit_core_id;
u8 punit_domain_id;
};
like, that's the whole struct, and every single field is doing its own little job π«Ά
π¦ Members π¦
hnodeβ the hook that gets this mapping info added onto the hash list. it's the little handle so the struct can hang out with all its friends β¨linux_cpuβ the Linux CPU number. the number Linux uses to know which CPU it's talking about πpkg_idβ the Package ID of this CPU. which package it belongs to πpunit_thread_idβ the Punit thread id of this CPU. yes, id, not ID, we keep it exactly as written πpunit_core_idβ the Punit core id π§punit_domain_idβ the Power domain id straight from the Punit, iconic π
β Description β
so basically this struct is the little storage container for the mapping information that connects a Linux CPU over to a Punit core, thread, and power domain. it's lowkey just the bridge between the Linux side and the Punit side, and it holds all those ids in one cozy place π
π₯ SEE ALSO π₯
- Kernel file
./drivers/platform/x86/intel/tpmi_power_domains.cβ go read it, iykyk π
and that's the whole page bestie, go slay π«Ά
signing off from ./drivers/platform/x86/intel in October 2026 β this was struct tpmi_cpu_info(9) and it ate, periodt π
β¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms