Add driver for Intel Processor Thermal Device (B0D4) found on Skylake and later processors.
This device exposes RAPL power limits (PL1/PL2) and TDP information via sysctl.
The driver reads MSR_RAPL_POWER_UNIT to determine the correct power unit scaling factoor, with fallback to 1/8 W if MSR read fails.
Sysctls provided:
dev.intel_proc_thermal.0.pl1_mw - Long-term power limit (mW) dev.intel_proc_thermal.0.pl2_mw - Short-term power limit (mW) dev.intel_proc_thermal.0.tdp_mw - Thermal Design Power (mW) dev.intel_proc_thermal.0.pl1_enable - PL1 enabled flag dev.intel_proc_thermal.0.locked - Firmware lock status dev.intel_proc_thermal.0.access_denied - MMIO access status dev.intel_proc_thermal.0.power_unit_div - Power unit divisor dev.intel_proc_thermal.0.power_unit_shift - Power unit shift
Note: Later generations may have different MMIO layouts and would need per-generation validation. I used the gen 10th documentation (that match the hardware i used)