STRUCT TPMI_CPU_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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