mirror of
https://github.com/joel16/android_kernel_sony_msm8994.git
synced 2025-03-06 12:18:12 +00:00
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 <gleb@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
This commit is contained in:
parent
a647795efb
commit
d546cb406e
@ -262,9 +262,10 @@ int kvm_pic_read_irq(struct kvm *kvm)
|
|||||||
|
|
||||||
void kvm_pic_reset(struct kvm_kpic_state *s)
|
void kvm_pic_reset(struct kvm_kpic_state *s)
|
||||||
{
|
{
|
||||||
int irq;
|
int irq, i;
|
||||||
struct kvm_vcpu *vcpu0 = s->pics_state->kvm->bsp_vcpu;
|
struct kvm_vcpu *vcpu;
|
||||||
u8 irr = s->irr, isr = s->imr;
|
u8 irr = s->irr, isr = s->imr;
|
||||||
|
bool found = false;
|
||||||
|
|
||||||
s->last_irr = 0;
|
s->last_irr = 0;
|
||||||
s->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->special_fully_nested_mode = 0;
|
||||||
s->init4 = 0;
|
s->init4 = 0;
|
||||||
|
|
||||||
for (irq = 0; irq < PIC_NUM_PINS/2; irq++) {
|
kvm_for_each_vcpu(i, vcpu, s->pics_state->kvm)
|
||||||
if (vcpu0 && kvm_apic_accept_pic_intr(vcpu0))
|
if (kvm_apic_accept_pic_intr(vcpu)) {
|
||||||
if (irr & (1 << irq) || isr & (1 << irq)) {
|
found = true;
|
||||||
pic_clear_isr(s, irq);
|
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)
|
static void pic_ioport_write(void *opaque, u32 addr, u32 val)
|
||||||
|
@ -251,7 +251,6 @@ struct kvm {
|
|||||||
struct srcu_struct srcu;
|
struct srcu_struct srcu;
|
||||||
#ifdef CONFIG_KVM_APIC_ARCHITECTURE
|
#ifdef CONFIG_KVM_APIC_ARCHITECTURE
|
||||||
u32 bsp_vcpu_id;
|
u32 bsp_vcpu_id;
|
||||||
struct kvm_vcpu *bsp_vcpu;
|
|
||||||
#endif
|
#endif
|
||||||
struct kvm_vcpu *vcpus[KVM_MAX_VCPUS];
|
struct kvm_vcpu *vcpus[KVM_MAX_VCPUS];
|
||||||
atomic_t online_vcpus;
|
atomic_t online_vcpus;
|
||||||
|
@ -185,7 +185,7 @@ static int ioapic_deliver(struct kvm_ioapic *ioapic, int irq)
|
|||||||
irqe.dest_mode = 0; /* Physical mode. */
|
irqe.dest_mode = 0; /* Physical mode. */
|
||||||
/* need to read apic_id from apic regiest since
|
/* need to read apic_id from apic regiest since
|
||||||
* it can be rewritten */
|
* it can be rewritten */
|
||||||
irqe.dest_id = ioapic->kvm->bsp_vcpu->vcpu_id;
|
irqe.dest_id = ioapic->kvm->bsp_vcpu_id;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
return kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe);
|
return kvm_irq_delivery_to_apic(ioapic->kvm, NULL, &irqe);
|
||||||
|
@ -1743,10 +1743,6 @@ static int kvm_vm_ioctl_create_vcpu(struct kvm *kvm, u32 id)
|
|||||||
smp_wmb();
|
smp_wmb();
|
||||||
atomic_inc(&kvm->online_vcpus);
|
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);
|
mutex_unlock(&kvm->lock);
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user