diff options
author | Radim Krčmář <rkrcmar@redhat.com> | 2014-11-27 14:03:11 -0500 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-12-04 09:29:06 -0500 |
commit | 085563fb043c29cc09e5ec5e21a7f6bb519d91e2 (patch) | |
tree | 09e3b181b5d12727cc72e9a211ed45900eddd1a7 /arch/x86/kvm/lapic.c | |
parent | 698f9755d9c061865aecc52f590270ba5bbc1442 (diff) |
KVM: x86: deliver phys lowest-prio
Physical mode can't address more than one APIC, but lowest-prio is
allowed, so we just reuse our paths.
SDM 10.6.2.1 Physical Destination:
Also, for any non-broadcast IPI or I/O subsystem initiated interrupt
with lowest priority delivery mode, software must ensure that APICs
defined in the interrupt address are present and enabled to receive
interrupts.
We could warn on top of that.
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/lapic.c')
-rw-r--r-- | arch/x86/kvm/lapic.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index f6184f1f13c3..541e17865e63 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -693,8 +693,6 @@ bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src, | |||
693 | ret = true; | 693 | ret = true; |
694 | 694 | ||
695 | if (irq->dest_mode == 0) { /* physical mode */ | 695 | if (irq->dest_mode == 0) { /* physical mode */ |
696 | if (irq->delivery_mode == APIC_DM_LOWEST) | ||
697 | goto out; | ||
698 | dst = &map->phys_map[irq->dest_id & 0xff]; | 696 | dst = &map->phys_map[irq->dest_id & 0xff]; |
699 | } else { | 697 | } else { |
700 | u32 mda = irq->dest_id << (32 - map->ldr_bits); | 698 | u32 mda = irq->dest_id << (32 - map->ldr_bits); |