STRUCT TPMI_SST_STRUCT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct tpmi_sst_struct(9) πŸ’–

okay so bestie, welcome to the Kernel API Manual β€” this little page is all about the struct tpmi_sst_struct and honestly it's giving "glorified filing cabinet" energy, but in the best way 🫢


✨ NAME ✨

struct tpmi_sst_struct β€” literally just a place to store sst info for a package. That's it. That's the whole job. πŸ’…


🌸 SYNOPSIS 🌸

struct tpmi_sst_struct {
    int package_id;
    struct tpmi_per_power_domain_info
*power_domain_info[SST_MAX_PARTITIONS];
    u16 cdie_mask[SST_MAX_PARTITIONS];
    u8 number_of_power_domains[SST_MAX_PARTITIONS];
    u8 io_dies[SST_MAX_PARTITIONS];
    u8 partition_mask;
    u8 partition_mask_current;
 };

copy it exactly, bestie β€” don't get creative in here, this is a struct not a vision board 😌


πŸŽ€ Members πŸŽ€

  • package_id β€” the package id for this aux device instance. like a little name tag for your package 🏷️
  • power_domain_info β€” pointer to power domains information. it's a pointer, it's pointing, it's doing its thing ✨
  • cdie_mask β€” mask of compute dies present in a partition, straight from the hardware. ⚠️ but heads up: this mask is not present in the version 1 information header. so if you're on v1, don't go looking for it, she's not there πŸ™ˆ
  • number_of_power_domains β€” how many power_domains the power_domain_info pointer is pointing at. just a count, nothing dramatic πŸ’…
  • io_dies β€” number of IO dies in a partition. for TPMI version 1 information header this will be 0. zero. nada. πŸ«₯
  • partition_mask β€” mask of all the partitions. all of them πŸ‘‘
  • partition_mask_current β€” the current partition mask, because some of them may have been unbound. yeah, some definitely dipped 😭

πŸ¦‹ Description πŸ¦‹

this struct is used to store the full SST information for a package, periodt. each package has one or multiple OOB PCI devices, and each package can contain multiple power domains. that's the whole vibe β€” one struct holding the full picture so nobody has to go digging around later πŸ’–


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/platform/x86/intel/speed_select_if/isst_tpmi_core.c β€” that's where the lore lives πŸ“‚
  • struct sst_header(9)
  • struct cp_header(9)
  • struct pp_header(9)
  • struct feature_offset(9)
  • struct levels_offset(9)
  • struct pp_control_offset(9)
  • struct pp_status_offset(9)
  • struct perf_level(9)
  • struct tpmi_per_power_domain_info(9)
  • struct tpmi_sst_common_struct(9)
  • map_cdies(9)
  • map_partition_power_domain_id(9)

like, read the whole friend group, they all know each other iykyk πŸ”₯


lowkey reminder bestie: this came out of ./drivers/platform/x86/intel/s... and the page is dated October 2026, all under the name struct tpmi_sst_struct(9) πŸ’œ ngl that's the whole sign-off, slay, go read some kernel source πŸ§šβ€β™€οΈβ­
πŸ“¦ where this page comes from