]> git.baikalelectronics.ru Git - kernel.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)
committerAvi Kivity <avi@redhat.com>
Mon, 25 May 2009 17:00:53 +0000 (20:00 +0300)
commitffb7b0bf3bb241bb7276d73c0e2e06d4def81c76
tree77fd1e5a86c32d483323c9dc64cdc30eaa3b349e
parent4f4e279b4f7f0da4827cc4e7ddb518843cc39f29
KVM: Fix PDPTR reloading on CR4 writes

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.

Cc: stable@kernel.org
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/x86.c