KVM: X86: Use APIC_DEST_* macros properly in kvm_lapic_irq.dest_mode
authorPeter Xu <peterx@redhat.com>
Wed, 4 Dec 2019 19:07:18 +0000 (20:07 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 8 Jan 2020 16:33:14 +0000 (17:33 +0100)
commitc96001c5702e66b64e0ffe533aa19d6567ce15bc
treea474f3265b34c69caf3ab4f1044671773c3437e5
parent59508b303e4e35de9dd708ec87b1e89b1f3c1616
KVM: X86: Use APIC_DEST_* macros properly in kvm_lapic_irq.dest_mode

We were using either APIC_DEST_PHYSICAL|APIC_DEST_LOGICAL or 0|1 to
fill in kvm_lapic_irq.dest_mode.  It's fine only because in most cases
when we check against dest_mode it's against APIC_DEST_PHYSICAL (which
equals to 0).  However, that's not consistent.  We'll have problem
when we want to start checking against APIC_DEST_LOGICAL, which does
not equals to 1.

This patch firstly introduces kvm_lapic_irq_dest_mode() helper to take
any boolean of destination mode and return the APIC_DEST_* macro.
Then, it replaces the 0|1 settings of irq.dest_mode with the helper.

Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/ioapic.c
arch/x86/kvm/irq_comm.c
arch/x86/kvm/x86.c