mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-14 13:56:54 +07:00
x86, cpu, amd: Fix crash as Xen Dom0 on AMD Trinity systems
f7f286a910
("x86/amd: Re-enable CPU topology extensions in case BIOS has disabled it") wrongfully added code which used the AMD-specific {rd,wr}msr variants for no real reason. This caused boot panics on xen which wasn't initializing the {rd,wr}msr_safe_regs pv_ops members properly. This, in turn, caused a heated discussion leading to us reviewing all uses of the AMD-specific variants and removing them where unneeded (almost everywhere except an obscure K8 BIOS fix, see6b0f43ddfa
). Finally, this patch switches to the standard {rd,wr}msr*_safe* variants which should've been used in the first place anyway and avoided unneeded excitation with xen. Signed-off-by: Andre Przywara <andre.przywara@amd.com> Link: http://lkml.kernel.org/r/1338562358-28182-4-git-send-email-bp@amd64.org Cc: Andreas Herrmann <andreas.herrmann3@amd.com> Link: <http://lkml.kernel.org/r/1338383402-3838-1-git-send-email-andre.przywara@amd.com> [Boris: correct and expand commit message] Signed-off-by: Borislav Petkov <borislav.petkov@amd.com> Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
parent
ecd431d95a
commit
169e9cbd77
@ -586,9 +586,9 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
|
||||
!cpu_has(c, X86_FEATURE_TOPOEXT)) {
|
||||
u64 val;
|
||||
|
||||
if (!rdmsrl_amd_safe(0xc0011005, &val)) {
|
||||
if (!rdmsrl_safe(0xc0011005, &val)) {
|
||||
val |= 1ULL << 54;
|
||||
wrmsrl_amd_safe(0xc0011005, val);
|
||||
checking_wrmsrl(0xc0011005, val);
|
||||
rdmsrl(0xc0011005, val);
|
||||
if (val & (1ULL << 54)) {
|
||||
set_cpu_cap(c, X86_FEATURE_TOPOEXT);
|
||||
|
Loading…
Reference in New Issue
Block a user