x86: Don't rely on VMWare emulating PAT MSR correctly
x86: Don't rely on VMWare emulating PAT MSR correctly

VMWare seems not to emulate the PAT MSR correctly: reaeding
MSR_IA32_CR_PAT returns 0 even after writing another value to it.

Commit bd809af16e3ab triggers this VMWare bug when the kernel is
booted as a VMWare guest.

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

Fixes: bd809af16e3ab "x86: Enable PAT to use cache mode translation tables"
Reported-and-tested-by: Jongman Heo <738bf29a9d63b7c9a2c8307ae72fada71961e4a6@samsung.com>
Acked-by: Alok N Kataria <cc926cf5b90d92ca08b99da90949c190e7ec8fa9@vmware.com>
Signed-off-by: Juergen Gross <29bbaec13092d36559e3abc6f27f7d09c395819f@suse.com>
Link: http://lkml.kernel.org/r/1421039745-14335-1-git-send-email-29bbaec13092d36559e3abc6f27f7d09c395819f@suse.com
Signed-off-by: Thomas Gleixner <00e4cf8f46a57000a44449bf9dd8cbbcc209fd2a@linutronix.de>

KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs,KristFoundation/Programs