KVM: drop bsp_vcpu pointer from kvm struct
PATCH 1/1 KVM: drop bsp_vcpu pointer from kvm struct
Drop bsp_vcpu pointer from kvm struct since its only use is incorrect anyway.
Signed-off-by Gleb Natapov <[email protected]>
arch/x86/kvm/i8259.c +16 -8
@@ -262,9 +262,10 @@ int kvm_pic_read_irq(struct kvm *kvm)void kvm_pic_reset (struct kvm_kpic_state *s) { -int irq; -struct kvm_vcpu *vcpu0 = s->pics_state->kvm->bsp_vcpu; +int irq, i; +struct kvm_vcpu *vcpu;u8 irr = s->irr, isr = s->imr; +bool found = false; s->last_irr =0 ; s->irr =0 ;
@@ -281,12 +282,19 @@ void kvm_pic_reset(struct kvm_kpic_state *s) s->special_fully_nested_mode =0 ; s->init4 =0 ; -for (irq =0 ; irq <PIC_NUM_PINS /2 ; irq++) { -if (vcpu0 &&kvm_apic_accept_pic_intr (vcpu0)) -if (irr & (1 << irq) || isr & (1 << irq)) { -pic_clear_isr (s, irq); - } - } +kvm_for_each_vcpu (i, vcpu, s->pics_state->kvm) +if (kvm_apic_accept_pic_intr (vcpu)) { + found = true; +break ; + } + + +if (!found) +return ; + +for (irq =0 ; irq <PIC_NUM_PINS /2 ; irq++) +if (irr & (1 << irq) || isr & (1 << irq)) +pic_clear_isr (s, irq); }static void pic_ioport_write (void *opaque,u32 addr,u32 val)
include/linux/kvm_host.h +0 -1
@@ -253,7 +253,6 @@ struct kvm {struct srcu_struct srcu;#ifdef CONFIG_KVM_APIC_ARCHITECTURE u32 bsp_vcpu_id; -struct kvm_vcpu *bsp_vcpu;#endif struct kvm_vcpu *vcpus[KVM_MAX_VCPUS ];atomic_t online_vcpus;
virt/kvm/ioapic.c +1 -1
@@ -185,7 +185,7 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq) irqe.dest_mode =0 ;/* Physical mode. */ /* need to read apic_id from apic regiest since * it can be rewritten */ - irqe.dest_id = ioapic->kvm->bsp_vcpu->vcpu_id; + irqe.dest_id = ioapic->kvm->bsp_vcpu_id; }#endif return kvm_irq_delivery_to_apic (ioapic->kvm,NULL , &irqe);
virt/kvm/kvm_main.c +0 -4
@@ -1743,10 +1743,6 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)smp_wmb ();atomic_inc (&kvm->online_vcpus); -#ifdef CONFIG_KVM_APIC_ARCHITECTURE -if (kvm->bsp_vcpu_id == id) - kvm->bsp_vcpu = vcpu; -#endif mutex_unlock (&kvm->lock);return r;
--
Gleb.
Marcelo Tosatti
AppliedQuoted 4 lines · Gleb Natapov
Drop
bsp_vcpupointer from kvm struct since its only use is incorrect anyway.Signed-off-by Gleb Natapov <[email protected]>
Applied, thanks.