diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2007-10-07 20:50:48 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-01-30 10:52:50 -0500 |
commit | 76fafa5e22bd82e92d2734852ba23f17322d675a (patch) | |
tree | f7b81035e86b5b26cbb2d2d13958c805f4990589 /drivers/kvm/vmx.c | |
parent | d589444e924bc72e42fa94853f9096589d69374d (diff) |
KVM: Hoist kvm_create_lapic() into kvm_vcpu_init()
Move kvm_create_lapic() into kvm_vcpu_init(), rather than having svm
and vmx do it. And make it return the error rather than a fairly
random -ENOMEM.
This also solves the problem that neither svm.c nor vmx.c actually
handles the error path properly.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'drivers/kvm/vmx.c')
-rw-r--r-- | drivers/kvm/vmx.c | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index 894fd45ecc98..7b742901e783 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c | |||
@@ -2431,12 +2431,6 @@ static struct kvm_vcpu *vmx_create_vcpu(struct kvm *kvm, unsigned int id) | |||
2431 | if (err) | 2431 | if (err) |
2432 | goto free_vcpu; | 2432 | goto free_vcpu; |
2433 | 2433 | ||
2434 | if (irqchip_in_kernel(kvm)) { | ||
2435 | err = kvm_create_lapic(&vmx->vcpu); | ||
2436 | if (err < 0) | ||
2437 | goto free_vcpu; | ||
2438 | } | ||
2439 | |||
2440 | vmx->guest_msrs = kmalloc(PAGE_SIZE, GFP_KERNEL); | 2434 | vmx->guest_msrs = kmalloc(PAGE_SIZE, GFP_KERNEL); |
2441 | if (!vmx->guest_msrs) { | 2435 | if (!vmx->guest_msrs) { |
2442 | err = -ENOMEM; | 2436 | err = -ENOMEM; |