Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped - Build Status
Buildable 72768 Build 69651: arc lint + arc unit
Event Timeline
| sys/x86/include/specialreg.h | ||
|---|---|---|
| 705 | It's apparently 0x66E according to table "Specific MSRs Supported by Intel Atom® Processor C2000 Series with a CPUID Signature DisplayFamily_DisplayModel Value of 06_4DH" in SDM vol 4 for these specific models. For all other models, it's reported as 0x614, as expected. We can ignore this odd one out. | |
| 706–708 | These are redundant with the additions below. | |
| 713–716 | Remark: For the MSR_PP0_*, strangely SDM vol 4 almost only mention 0x639 (energy status), so perhaps we should be prepared for 0x638 to be missing even if SDM vol 3 seems to imply it's not optional. MSR_PP0_POLICY is mentioned only once, and MSR_PP0_PERF_STATUS never. | |
| 714–718 | Typos. | |
I do have test C2558 w/ the different register offset for the power register AND C3xxx atom boxes (and a lot of non-atom stuff dating back to sandybridge at least) so i'm happy to test this on wahtever you'd like. but yes please do not ignore the "odd one out".
| sys/x86/include/specialreg.h | ||
|---|---|---|
| 705 | err, my gateway and some of my test boxes are literally the C2558 - id = 0x406d8, family=0x6, model=0x4d, stepping=8 So no, you can't ignore this odd one out - it's in a lot of the pfsense and other router boxes from that era. Please handle that appropriately. | |
| sys/x86/include/specialreg.h | ||
|---|---|---|
| 705 |
Oh, I thought that these models were obscured ones not really used... So I looked a bit more, and there's a difference: According to SDM vol 4, MSR 0x66E only has the thermal spec power value in the low 16 bits, and all other info as reported in SDM vol 3 for MSR_PKG_POWER_INFO are absent (min and max power, max time window; those bits are "reserved" in 0x66E, which doesn't even seem to mean we could assume they are 0), but that's really not a big difference in handling. | |
| sys/x86/include/specialreg.h | ||
|---|---|---|
| 705 | the rapl driver these values are being fed into doesn't support this model | |
| 713–716 |
I've no idea where that came from so I will drop it. I tried my best to only implement against the sdm for this.
We aren't using these yet in rapl. If we have to bundle a bunch of per model support then we can decided which features are worth carrying then. | |