Re: [PATCH] x86: don't rely on VMWare emulating PAT MSR correctly

From: Juergen Gross
Date: Tue Dec 16 2014 - 23:53:16 EST


On 12/16/2014 05:47 PM, H. Peter Anvin wrote:
On 12/16/2014 01:58 AM, Juergen Gross wrote:
VMWare seems not to emulate the PAT MSR correctly: reaeding
MSR_IA32_CR_PAT returns 0 even after writing another value to it.

Detect this bug and don't use the read value if it is 0.

Commit bd809af16e3ab1f8d55b3e2928c47c67e2a865d2 ("x86: Enable PAT to
use cache mode translation tables") triggers this VMWare bug when the
kernel is booted as a VMWare guest.

Reported-by: Jongman Heo <jongman.heo@xxxxxxxxxxx>
Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
Tested-by: Jongman Heo <jongman.heo@xxxxxxxxxxx>

I presume cachability control is irrelevant for a VMware guest? I'm
wondering if it would be better to just plain ignore the failure rather
than disabling PAT.

I'd rather disable PAT as this seems to be like a PAT erratum.

In case you want to keep PAT active I can redo the patch to not rely on
the read MSR value in the non-Xen case (under Xen reading the MSR is the
only way to obtain the correct settings).

Juergen

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/