Re: [git pull] x86 PAT changes

Ingo Molnar
2008-04-26T14:42:41Z

* Gabriel C <nix.or.die@googlemail.com> wrote:

> Hi Ingo,
>
> When using an 64bit ( didn't got time to test 32bit now ) kernel[1]
> with PAT enabled , kvm-intel does not work anymore.
>
> When modprobing kvm-intel , kvm is saying VT extension is disable by
> BIOS which isn't true. When disabling PAT again ( no changes to BIOS )
> kvm-intel works again here.
>
> Is that an known problem ?

no, that side-effect was not known. Cc:-ed more folks.

> If you need more infos just let me know.
>
> Gabriel
>
> [1] 2.6.25-05096-gb1721d0-dirty
> with following patches :
> http://lkml.org/lkml/2008/4/26/37
> http://lkml.org/lkml/2008/4/26/24
> http://lkml.org/lkml/2008/4/25/107

thanks - that should be enough for now. We'll try to reproduce these
problems.

A blind guess: maybe it's the CONFIG_NONPROMISC_DEVMEM somehow breaks
Qemu. With the patch below you'd be able to disable NONPROMISC_DEVMEM
without disabling PAT.

Ingo

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 4d350b5..4aa4180 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -1049,9 +1049,9 @@ config MTRR
See <file:Documentation/mtrr.txt> for more information.

config X86_PAT
- def_bool y
+ bool
prompt "x86 PAT support"
- depends on MTRR && NONPROMISC_DEVMEM
+ depends on MTRR
help
Use PAT attributes to setup page level cache control.