On 04/25/2017 02:59 PM, Borislav Petkov wrote:
On Tue, Apr 25, 2017 at 02:16:55PM +0200, Denys Vlasenko wrote:
However, all IBS registers are in this range.
I knew you were gonna say that. But IBS registers are architectural too
in the sense that they are behind a CPUID bit.
DRi_ADDR_MASK are in this range - and these are very useful, likely to
stay.
Those are too behind a CPUID bit.
In the arch/x86/include/asm/msr-index.h file we already have
three "tweak" MSRs defined with "AMD64":
#define MSR_AMD64_LS_CFG 0xc0011020
#define MSR_AMD64_DC_CFG 0xc0011022
#define MSR_AMD64_BU_CFG2 0xc001102a
I just noticed that we have a fourth one in
arch/x86/kernel/cpu/amd.c:
#define MSR_AMD64_DE_CFG 0xC0011029
That's wrong. I think we should call those something else but not
"AMD64".
Okay. Propose a naming scheme for these which looks god to you.
Perhaps the families for which the workaround is being applied.
In the last case, MSR_F12H_DE_CFG, for example. And yes, I should've
paid attention to that but ...
A bit problematic:
MSR C001_1020 is used (mentioned in Rev Guides as a possible way
to work around an errata) by all Fams starting from K8, except Fam15h.
MSR C001_1022 is used by K8, 10h, 15h.
Etc...