From: Jan Kiszka <[email protected]> Reading the KVM code of Linux and re-reading the spec, multiple times, it became clear the RH only controls whether one or all CPUs of a potential target group should be addressed. If it's set only one is chosen, via lowest-prio, but that is done by the hardware. For us, its state does not matter. We always consider a multicast scenario, thus simply ignore the state of this bit.
This fixes startup errors when DH=1 and RH=0 of the kind FATAL: Unsupported MSI/MSI-X state, device ... Signed-off-by: Jan Kiszka <[email protected]> --- hypervisor/arch/x86/vtd.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/hypervisor/arch/x86/vtd.c b/hypervisor/arch/x86/vtd.c index e33b5ff4..c072ba3a 100644 --- a/hypervisor/arch/x86/vtd.c +++ b/hypervisor/arch/x86/vtd.c @@ -849,14 +849,6 @@ int iommu_map_interrupt(struct cell *cell, u16 device_id, unsigned int vector, */ goto update_irte; - /* - * If redirection hint is cleared, physical destination mode is used - * effectively (destination mode bit is ignored, only a single CPU is - * targeted). Fix up irq_msg so that apic_filter_irq_dest uses the - * appropriate mode. - */ - irq_msg.dest_logical = irq_msg.dest_logical && irq_msg.redir_hint; - /* Validate delivery mode and destination(s). */ if (irq_msg.delivery_mode != APIC_MSG_DLVR_FIXED && irq_msg.delivery_mode != APIC_MSG_DLVR_LOWPRI) -- 2.26.2 -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/efae5a29-91ce-6550-984e-c3431429beb6%40web.de.
