diff options
author | Avi Kivity <avi@qumranet.com> | 2006-12-22 01:05:08 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-22 08:55:46 -0800 |
commit | 0e859cacb0b01bdbe34b5200dd2457d4818248fa (patch) | |
tree | 70fbfaef03305aef593362043044e13c10c69145 /drivers | |
parent | 5aacf0ca4128fdeadf91c0ac50271841b643d1fd (diff) |
[PATCH] KVM: AMD SVM: handle MSR_STAR in 32-bit mode
This is necessary for linux guests.
Signed-off-by: Avi Kivity <avi@qumranet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/kvm/svm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c index 0e6bc8c649c..3bf25795b3e 100644 --- a/drivers/kvm/svm.c +++ b/drivers/kvm/svm.c @@ -402,11 +402,11 @@ static __init int svm_hardware_setup(void) set_msr_interception(msrpm_va, MSR_GS_BASE, 1, 1); set_msr_interception(msrpm_va, MSR_FS_BASE, 1, 1); set_msr_interception(msrpm_va, MSR_KERNEL_GS_BASE, 1, 1); - set_msr_interception(msrpm_va, MSR_STAR, 1, 1); set_msr_interception(msrpm_va, MSR_LSTAR, 1, 1); set_msr_interception(msrpm_va, MSR_CSTAR, 1, 1); set_msr_interception(msrpm_va, MSR_SYSCALL_MASK, 1, 1); #endif + set_msr_interception(msrpm_va, MSR_K6_STAR, 1, 1); set_msr_interception(msrpm_va, MSR_IA32_SYSENTER_CS, 1, 1); set_msr_interception(msrpm_va, MSR_IA32_SYSENTER_ESP, 1, 1); set_msr_interception(msrpm_va, MSR_IA32_SYSENTER_EIP, 1, 1); @@ -1098,10 +1098,10 @@ static int svm_get_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 *data) case MSR_IA32_APICBASE: *data = vcpu->apic_base; break; -#ifdef CONFIG_X86_64 - case MSR_STAR: + case MSR_K6_STAR: *data = vcpu->svm->vmcb->save.star; break; +#ifdef CONFIG_X86_64 case MSR_LSTAR: *data = vcpu->svm->vmcb->save.lstar; break; @@ -1173,10 +1173,10 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) case MSR_IA32_APICBASE: vcpu->apic_base = data; break; -#ifdef CONFIG_X86_64_ - case MSR_STAR: + case MSR_K6_STAR: vcpu->svm->vmcb->save.star = data; break; +#ifdef CONFIG_X86_64_ case MSR_LSTAR: vcpu->svm->vmcb->save.lstar = data; break; |