Add stream_ids for peripherals which are behind IOMMU instances.
PVU and SMMU-V3 sets up memory mapping for all of these contexts
for correct 2nd stage translation.

Signed-off-by: Nikhil Devshatwar <[email protected]>
---
 configs/arm64/k3-j721e-evm-linux-demo.c |  7 +++++++
 configs/arm64/k3-j721e-evm.c            | 14 ++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/configs/arm64/k3-j721e-evm-linux-demo.c 
b/configs/arm64/k3-j721e-evm-linux-demo.c
index 55938b85..e9ef0121 100644
--- a/configs/arm64/k3-j721e-evm-linux-demo.c
+++ b/configs/arm64/k3-j721e-evm-linux-demo.c
@@ -27,6 +27,7 @@ struct {
        struct jailhouse_memory mem_regions[22];
        struct jailhouse_irqchip irqchips[4];
        struct jailhouse_pci_device pci_devices[1];
+       __u32 stream_ids[2];
 } __attribute__((packed)) config = {
        .cell = {
                .signature = JAILHOUSE_CELL_DESC_SIGNATURE,
@@ -38,6 +39,7 @@ struct {
                .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                .num_irqchips = ARRAY_SIZE(config.irqchips),
                .num_pci_devices = ARRAY_SIZE(config.pci_devices),
+               .num_stream_ids = ARRAY_SIZE(config.stream_ids),
                .cpu_reset_address = 0x0,
                .vpci_irq_base = 195 - 32,
                .console = {
@@ -273,4 +275,9 @@ struct {
                        .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
                },
        },
+
+       .stream_ids = {
+               /* Non PCIe peripherals */
+               0x0003, 0xf003,
+       },
 };
diff --git a/configs/arm64/k3-j721e-evm.c b/configs/arm64/k3-j721e-evm.c
index 8fb4773b..688d58f4 100644
--- a/configs/arm64/k3-j721e-evm.c
+++ b/configs/arm64/k3-j721e-evm.c
@@ -22,6 +22,7 @@ struct {
        struct jailhouse_memory mem_regions[33];
        struct jailhouse_irqchip irqchips[6];
        struct jailhouse_pci_device pci_devices[1];
+       __u32 stream_ids[30];
 } __attribute__((packed)) config = {
        .header = {
                .signature = JAILHOUSE_SYSTEM_SIGNATURE,
@@ -82,6 +83,7 @@ struct {
                        .num_memory_regions = ARRAY_SIZE(config.mem_regions),
                        .num_irqchips = ARRAY_SIZE(config.irqchips),
                        .num_pci_devices = ARRAY_SIZE(config.pci_devices),
+                       .num_stream_ids = ARRAY_SIZE(config.stream_ids),
                        .vpci_irq_base = 191 - 32,
                },
        },
@@ -384,4 +386,16 @@ struct {
                        .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH,
                },
        },
+
+       .stream_ids = {
+               /* Non PCIe peripherals */
+               0x0002, 0xf002,
+               /* PCI1 */
+               0x0100, 0x0101, 0x0102, 0x0103, 0x0104, 0x0105, 0x0106, 0x0107,
+               0x0108, 0x0109, 0x010a, 0x010b, 0x010c, 0x010d, 0x010e, 0x010f,
+               /* PCI2 */
+               0x4100, 0x4101, 0x4102, 0x4103, 0x4104, 0x4105,
+               /* PCI3 */
+               0x8100, 0x8101, 0x8102, 0x8103, 0x8104, 0x8105,
+       },
 };
-- 
2.17.1

-- 
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/20191230132406.19985-5-nikhil.nd%40ti.com.

Reply via email to