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.

Reply via email to