diff options
author | Max Bruning <max@joyent.com> | 2011-06-03 04:10:13 -0700 |
---|---|---|
committer | Max Bruning <max@joyent.com> | 2011-06-03 04:14:00 -0700 |
commit | 6b5ff00263130a299a5f23436cfd77f34297bcf2 (patch) | |
tree | ba0b1b70979775a1d4332b53bae78d2e2f844f72 /kvm_vmx.c | |
parent | 07b961b34ba5c771b43d22b211f09a90fdb0859c (diff) | |
download | illumos-kvm-6b5ff00263130a299a5f23436cfd77f34297bcf2.tar.gz |
HVM-263 vmclear_local_vcpus needs to call __vcpu_clear for each cpu
Diffstat (limited to 'kvm_vmx.c')
-rw-r--r-- | kvm_vmx.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -204,7 +204,7 @@ typedef struct shared_msr_entry { typedef struct vcpu_vmx { struct kvm_vcpu vcpu; - list_t local_vcpus_link; + struct list_node local_vcpus_link; unsigned long host_rsp; int launched; unsigned char fail; @@ -1593,7 +1593,7 @@ alloc_kvm_area(void) current_vmcs = kmem_alloc(ncpus * sizeof (struct vmcs *), KM_SLEEP); shared_msrs = kmem_alloc(ncpus * sizeof (struct kvm_shared_msrs *), KM_SLEEP); - vcpus_on_cpu = kmem_alloc(ncpus * sizeof (list_t *), KM_SLEEP); + vcpus_on_cpu = kmem_zalloc(ncpus * sizeof (list_t *), KM_SLEEP); for (i = 0; i < ncpus; i++) { struct vmcs *vmcs; @@ -1609,7 +1609,7 @@ alloc_kvm_area(void) ((uint64_t)vmxarea[i] & PAGEOFFSET); shared_msrs[i] = kmem_zalloc(sizeof (struct kvm_shared_msrs), KM_SLEEP); - vcpus_on_cpu[i] = kmem_alloc(sizeof (list_t), KM_SLEEP); + vcpus_on_cpu[i] = kmem_zalloc(sizeof (list_t), KM_SLEEP); list_create(vcpus_on_cpu[i], sizeof (struct vcpu_vmx), offsetof(struct vcpu_vmx, local_vcpus_link)); } |