diff options
author | Gleb Natapov <gleb@redhat.com> | 2009-06-09 08:56:29 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-09-10 01:32:52 -0400 |
commit | 988a2cae6a3c0dea6df59808a935a9a697bfc28c (patch) | |
tree | c1118d86c5d6f24fe738c608917b0affb311f26d /arch/x86 | |
parent | 73880c80aa9c8dc353cd0ad26579023213cd5314 (diff) |
KVM: Use macro to iterate over vcpus.
[christian: remove unused variables on s390]
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kvm/i8254.c | 7 | ||||
-rw-r--r-- | arch/x86/kvm/mmu.c | 6 | ||||
-rw-r--r-- | arch/x86/kvm/x86.c | 25 |
3 files changed, 17 insertions, 21 deletions
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c index 06d8f84ae8a2..15fc95b2fc05 100644 --- a/arch/x86/kvm/i8254.c +++ b/arch/x86/kvm/i8254.c | |||
@@ -669,11 +669,8 @@ static void __inject_pit_timer_intr(struct kvm *kvm) | |||
669 | * VCPU0, and only if its LVT0 is in EXTINT mode. | 669 | * VCPU0, and only if its LVT0 is in EXTINT mode. |
670 | */ | 670 | */ |
671 | if (kvm->arch.vapics_in_nmi_mode > 0) | 671 | if (kvm->arch.vapics_in_nmi_mode > 0) |
672 | for (i = 0; i < KVM_MAX_VCPUS; ++i) { | 672 | kvm_for_each_vcpu(i, vcpu, kvm) |
673 | vcpu = kvm->vcpus[i]; | 673 | kvm_apic_nmi_wd_deliver(vcpu); |
674 | if (vcpu) | ||
675 | kvm_apic_nmi_wd_deliver(vcpu); | ||
676 | } | ||
677 | } | 674 | } |
678 | 675 | ||
679 | void kvm_inject_pit_timer_irqs(struct kvm_vcpu *vcpu) | 676 | void kvm_inject_pit_timer_irqs(struct kvm_vcpu *vcpu) |
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c index d443a421ca3e..5f97dbd24291 100644 --- a/arch/x86/kvm/mmu.c +++ b/arch/x86/kvm/mmu.c | |||
@@ -1347,10 +1347,10 @@ static void kvm_mmu_put_page(struct kvm_mmu_page *sp, u64 *parent_pte) | |||
1347 | static void kvm_mmu_reset_last_pte_updated(struct kvm *kvm) | 1347 | static void kvm_mmu_reset_last_pte_updated(struct kvm *kvm) |
1348 | { | 1348 | { |
1349 | int i; | 1349 | int i; |
1350 | struct kvm_vcpu *vcpu; | ||
1350 | 1351 | ||
1351 | for (i = 0; i < KVM_MAX_VCPUS; ++i) | 1352 | kvm_for_each_vcpu(i, vcpu, kvm) |
1352 | if (kvm->vcpus[i]) | 1353 | vcpu->arch.last_pte_updated = NULL; |
1353 | kvm->vcpus[i]->arch.last_pte_updated = NULL; | ||
1354 | } | 1354 | } |
1355 | 1355 | ||
1356 | static void kvm_mmu_unlink_parents(struct kvm *kvm, struct kvm_mmu_page *sp) | 1356 | static void kvm_mmu_unlink_parents(struct kvm *kvm, struct kvm_mmu_page *sp) |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index d8adc1da76dd..89862a80e32c 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -2946,10 +2946,7 @@ static int kvmclock_cpufreq_notifier(struct notifier_block *nb, unsigned long va | |||
2946 | 2946 | ||
2947 | spin_lock(&kvm_lock); | 2947 | spin_lock(&kvm_lock); |
2948 | list_for_each_entry(kvm, &vm_list, vm_list) { | 2948 | list_for_each_entry(kvm, &vm_list, vm_list) { |
2949 | for (i = 0; i < KVM_MAX_VCPUS; ++i) { | 2949 | kvm_for_each_vcpu(i, vcpu, kvm) { |
2950 | vcpu = kvm->vcpus[i]; | ||
2951 | if (!vcpu) | ||
2952 | continue; | ||
2953 | if (vcpu->cpu != freq->cpu) | 2950 | if (vcpu->cpu != freq->cpu) |
2954 | continue; | 2951 | continue; |
2955 | if (!kvm_request_guest_time_update(vcpu)) | 2952 | if (!kvm_request_guest_time_update(vcpu)) |
@@ -4678,20 +4675,22 @@ static void kvm_unload_vcpu_mmu(struct kvm_vcpu *vcpu) | |||
4678 | static void kvm_free_vcpus(struct kvm *kvm) | 4675 | static void kvm_free_vcpus(struct kvm *kvm) |
4679 | { | 4676 | { |
4680 | unsigned int i; | 4677 | unsigned int i; |
4678 | struct kvm_vcpu *vcpu; | ||
4681 | 4679 | ||
4682 | /* | 4680 | /* |
4683 | * Unpin any mmu pages first. | 4681 | * Unpin any mmu pages first. |
4684 | */ | 4682 | */ |
4685 | for (i = 0; i < KVM_MAX_VCPUS; ++i) | 4683 | kvm_for_each_vcpu(i, vcpu, kvm) |
4686 | if (kvm->vcpus[i]) | 4684 | kvm_unload_vcpu_mmu(vcpu); |
4687 | kvm_unload_vcpu_mmu(kvm->vcpus[i]); | 4685 | kvm_for_each_vcpu(i, vcpu, kvm) |
4688 | for (i = 0; i < KVM_MAX_VCPUS; ++i) { | 4686 | kvm_arch_vcpu_free(vcpu); |
4689 | if (kvm->vcpus[i]) { | 4687 | |
4690 | kvm_arch_vcpu_free(kvm->vcpus[i]); | 4688 | mutex_lock(&kvm->lock); |
4691 | kvm->vcpus[i] = NULL; | 4689 | for (i = 0; i < atomic_read(&kvm->online_vcpus); i++) |
4692 | } | 4690 | kvm->vcpus[i] = NULL; |
4693 | } | ||
4694 | 4691 | ||
4692 | atomic_set(&kvm->online_vcpus, 0); | ||
4693 | mutex_unlock(&kvm->lock); | ||
4695 | } | 4694 | } |
4696 | 4695 | ||
4697 | void kvm_arch_sync_events(struct kvm *kvm) | 4696 | void kvm_arch_sync_events(struct kvm *kvm) |