]> git.kernelconcepts.de Git - karo-tx-linux.git/commit
KVM: Fix PDPTR reloading on CR4 writes
authorAvi Kivity <avi@redhat.com>
Sun, 24 May 2009 19:19:00 +0000 (22:19 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 15 Jun 2009 16:40:01 +0000 (09:40 -0700)
commitfb6af04fa4363ec3cf4020e28a45dcbe9853620b
treea447ec08861a8c209dcff2181b6c3e4f5b4e0529
parentcd347a162c2056bff69d685b897ad74fccf1c7e0
KVM: Fix PDPTR reloading on CR4 writes

commit a2edf57f510cce6a389cc14e58c6ad0a4296d6f9 upstream.

The processor is documented to reload the PDPTRs while in PAE mode if any
of the CR4 bits PSE, PGE, or PAE change.  Linux relies on this
behaviour when zapping the low mappings of PAE kernels during boot.

The code already handled changes to CR4.PAE; augment it to also notice changes
to PSE and PGE.

This triggered while booting an F11 PAE kernel; the futex initialization code
runs before any CR3 reloads and writes to a NULL pointer; the futex subsystem
ended up uninitialized, killing PI futexes and pulseaudio which uses them.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86/kvm/x86.c