summaryrefslogtreecommitdiff
path: root/kvm_vmx.c
diff options
context:
space:
mode:
authorMax Bruning <max@joyent.com>2011-06-03 04:10:13 -0700
committerMax Bruning <max@joyent.com>2011-06-03 04:14:00 -0700
commit6b5ff00263130a299a5f23436cfd77f34297bcf2 (patch)
treeba0b1b70979775a1d4332b53bae78d2e2f844f72 /kvm_vmx.c
parent07b961b34ba5c771b43d22b211f09a90fdb0859c (diff)
downloadillumos-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.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/kvm_vmx.c b/kvm_vmx.c
index 464826e..b01b988 100644
--- a/kvm_vmx.c
+++ b/kvm_vmx.c
@@ -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));
}