From: Jan Kiszka <[email protected]> This was not complete, rather assumed SVT to be 01b and completely ignored SQ. The SID test failed when the root cell chose SVT to be 10b to describe a source behind a PCIe-PCI bridge, thus switching SID to startbus/endbus encoding (now needed for QEMU).
Let's make it simple and assume that the root cell programmed a valid source. Skipping the test will have no negative impact on isolation between cells. Signed-off-by: Jan Kiszka <[email protected]> --- hypervisor/arch/x86/vtd.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hypervisor/arch/x86/vtd.c b/hypervisor/arch/x86/vtd.c index acc97919..ccd0bdde 100644 --- a/hypervisor/arch/x86/vtd.c +++ b/hypervisor/arch/x86/vtd.c @@ -805,8 +805,7 @@ iommu_get_remapped_root_int(unsigned int iommu, u16 device_id, root_irte = *(union vtd_irte *)(irte_page + (irte_addr & PAGE_OFFS_MASK)); - irq_msg.valid = - (root_irte.field.p && root_irte.field.sid == device_id); + irq_msg.valid = root_irte.field.p; irq_msg.vector = root_irte.field.vector; irq_msg.delivery_mode = root_irte.field.delivery_mode; irq_msg.dest_logical = root_irte.field.dest_logical; -- 2.35.3 -- 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/f70e366bb77de3ceb59464a943cc5430e69ed7f4.1672643463.git.jan.kiszka%40siemens.com.
