Commit 085563fb authored by Radim Krčmář's avatar Radim Krčmář Committed by Paolo Bonzini

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: default avatarRadim Krčmář <rkrcmar@redhat.com>
Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
parent 698f9755
...@@ -693,8 +693,6 @@ bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src, ...@@ -693,8 +693,6 @@ bool kvm_irq_delivery_to_apic_fast(struct kvm *kvm, struct kvm_lapic *src,
ret = true; ret = true;
if (irq->dest_mode == 0) { /* physical mode */ if (irq->dest_mode == 0) { /* physical mode */
if (irq->delivery_mode == APIC_DM_LOWEST)
goto out;
dst = &map->phys_map[irq->dest_id & 0xff]; dst = &map->phys_map[irq->dest_id & 0xff];
} else { } else {
u32 mda = irq->dest_id << (32 - map->ldr_bits); u32 mda = irq->dest_id << (32 - map->ldr_bits);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment