forked from Minki/linux
KVM: Use pointer to vcpu instead of vcpu_id in timer code.
Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
This commit is contained in:
parent
c5af89b68a
commit
1ed0ce000a
@ -294,7 +294,7 @@ static void create_pit_timer(struct kvm_kpit_state *ps, u32 val, int is_period)
|
||||
pt->timer.function = kvm_timer_fn;
|
||||
pt->t_ops = &kpit_ops;
|
||||
pt->kvm = ps->pit->kvm;
|
||||
pt->vcpu_id = 0;
|
||||
pt->vcpu = pt->kvm->bsp_vcpu;
|
||||
|
||||
atomic_set(&pt->pending, 0);
|
||||
ps->irq_ack = 1;
|
||||
|
@ -6,7 +6,7 @@ struct kvm_timer {
|
||||
bool reinject;
|
||||
struct kvm_timer_ops *t_ops;
|
||||
struct kvm *kvm;
|
||||
int vcpu_id;
|
||||
struct kvm_vcpu *vcpu;
|
||||
};
|
||||
|
||||
struct kvm_timer_ops {
|
||||
|
@ -950,7 +950,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu)
|
||||
apic->lapic_timer.timer.function = kvm_timer_fn;
|
||||
apic->lapic_timer.t_ops = &lapic_timer_ops;
|
||||
apic->lapic_timer.kvm = vcpu->kvm;
|
||||
apic->lapic_timer.vcpu_id = vcpu->vcpu_id;
|
||||
apic->lapic_timer.vcpu = vcpu;
|
||||
|
||||
apic->base_address = APIC_DEFAULT_PHYS_BASE;
|
||||
vcpu->arch.apic_base = APIC_DEFAULT_PHYS_BASE;
|
||||
|
@ -33,7 +33,7 @@ enum hrtimer_restart kvm_timer_fn(struct hrtimer *data)
|
||||
struct kvm_vcpu *vcpu;
|
||||
struct kvm_timer *ktimer = container_of(data, struct kvm_timer, timer);
|
||||
|
||||
vcpu = ktimer->kvm->vcpus[ktimer->vcpu_id];
|
||||
vcpu = ktimer->vcpu;
|
||||
if (!vcpu)
|
||||
return HRTIMER_NORESTART;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user