Re: [PATCH] KVM: Fix tsc deadline timer without irqchip_in_kernel()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2011-10-02 11:51, Avi Kivity wrote:
> vcpu->arch.apic may be NULL.
> 
> Signed-off-by: Avi Kivity <avi@xxxxxxxxxx>
> ---
>  arch/x86/kvm/x86.c |    9 +++++++--
>  1 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 83b839f..aa11707 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -600,6 +600,8 @@ static bool guest_cpuid_has_fsgsbase(struct kvm_vcpu *vcpu)
>  static void update_cpuid(struct kvm_vcpu *vcpu)
>  {
>  	struct kvm_cpuid_entry2 *best;
> +	struct kvm_lapic *apic = vcpu->arch.apic;
> +	u32 timer_mode_mask;
>  
>  	best = kvm_find_cpuid_entry(vcpu, 1, 0);
>  	if (!best)
> @@ -615,9 +617,12 @@ static void update_cpuid(struct kvm_vcpu *vcpu)
>  	if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
>  		best->function == 0x1) {
>  		best->ecx |= bit(X86_FEATURE_TSC_DEADLINE_TIMER);
> -		vcpu->arch.apic->lapic_timer.timer_mode_mask = (3 << 17);
> +		timer_mode_mask = 3 << 17;
>  	} else
> -		vcpu->arch.apic->lapic_timer.timer_mode_mask = (1 << 17);
> +		timer_mode_mask = 1 << 17;
> +
> +	if (apic)
> +		apic->lapic_timer.timer_mode_mask = timer_mode_mask;

Coding style... While at it, you could also fix braces for that else.

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux