linux/arch
Eduardo Habkost 18fa000ae4 KVM: SVM: Reset cr0 properly on vcpu reset
svm_vcpu_reset() was not properly resetting the contents of the guest-visible
cr0 register, causing the following issue:
https://bugzilla.redhat.com/show_bug.cgi?id=525699

Without resetting cr0 properly, the vcpu was running the SIPI bootstrap routine
with paging enabled, making the vcpu get a pagefault exception while trying to
run it.

Instead of setting vmcb->save.cr0 directly, the new code just resets
kvm->arch.cr0 and calls kvm_set_cr0(). The bits that were set/cleared on
vmcb->save.cr0 (PG, WP, !CD, !NW) will be set properly by svm_set_cr0().

kvm_set_cr0() is used instead of calling svm_set_cr0() directly to make sure
kvm_mmu_reset_context() is called to reset the mmu to nonpaging mode.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
2009-12-03 09:32:21 +02:00
..
alpha alpha: Fixup last users of irq_chip->typename 2009-11-30 22:51:31 -05:00
arm Merge branch 'mach-types' 2009-11-25 22:17:55 +00:00
avr32 at91: at91sam9g45 family: identify several chip versions 2009-11-03 18:42:31 +01:00
blackfin Blackfin: fix SMP build error in start_thread() 2009-11-25 02:38:01 -05:00
cris
frv frv: fix check on unsigned in do_signal() 2009-10-29 07:39:32 -07:00
h8300
ia64 KVM: Activate Virtualization On Demand 2009-12-03 09:32:10 +02:00
m32r m32r: fix arch/m32r/boot/compressed/Makefile 2009-11-09 09:00:50 +09:00
m68k tty: Mark generic_serial users as BROKEN 2009-10-30 14:43:12 -07:00
m68knommu
microblaze
mips MIPS: RB532: Fix devices.c compilation. 2009-12-02 18:09:51 +00:00
mn10300
parisc parisc: fix unwind with recent gcc versions 2009-11-30 08:20:24 -08:00
powerpc KVM: Activate Virtualization On Demand 2009-12-03 09:32:10 +02:00
s390 KVM: Activate Virtualization On Demand 2009-12-03 09:32:10 +02:00
score
sh sh: Fixup last users of irq_chip->typename 2009-11-18 10:50:22 +09:00
sparc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2009-11-30 14:02:23 -08:00
um
x86 KVM: SVM: Reset cr0 properly on vcpu reset 2009-12-03 09:32:21 +02:00
xtensa
.gitignore
Kconfig