STRUCT INTEL_PMC_DEV(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

This is the struct intel_pmc_dev(9) page from the Kernel API Manual, bestie β€” and it’s giving Intel PMC device structure energy. Let’s unpack it together, no cap. πŸ’–

🌸 NAME 🌸

struct intel_pmc_dev β€” the Intel PMC device structure. That’s the whole name, and yes, it ate. ✨

✨ SYNOPSIS ✨

Here’s the struct in all its glory β€” exactly as it is, no edits, no β€œfixing” the vibes:

       struct intel_pmc_dev {
           struct device *dev;
           struct intel_scu_ipc_dev *scu;
           void __iomem *gcr_mem_base;
           spinlock_t gcr_lock;
           struct resource *telem_base;
        };

🫢 Members 🫢

Okay so these are the fields, and every single one is important. Periodt. πŸ’…

  • dev β€” pointer to the parent PMC device. The parent PMC device, specifically. 🫢
  • scu β€” pointer to the SCU IPC device data structure. Iconic little pointer. ✨
  • gcr_mem_base β€” virtual base address of GCR (Global Configuration Registers). That’s the memory-base field, and it’s literally right there. πŸŽ€
  • gcr_lock β€” lock used to serialize access to GCR registers. Gotta keep that access in line, bestie. πŸ”’
  • telem_base β€” pointer to the telemetry SSRAM base resource, or NULL if it’s not available. So if it’s missing, it’s NULL, not a mystery. πŸ’€

πŸ’… SEE ALSO πŸ’…

  • Kernel file ./include/linux/mfd/intel_pmc_bxt.h β€” go peek, iykyk. πŸ¦‹

xoxo, your girl πŸ’– β€” source/version: ./include/linux/mfd, dated October 2026, and starring struct intel_pmc_dev(9). Mwah! πŸ’‹πŸŒˆ

πŸ“¦ where this page comes from