Additionally, compact ZCU SMMU IDs using the mask+id stream specification Example of the mask-id stream_id configuration. Compact all 10h'07* master IDs by masking-out the lower 4 bits.
Signed-off-by: Andrea Bastoni <[email protected]> --- configs/arm64/imx8qm-linux-demo.c | 7 +++++-- configs/arm64/imx8qm.c | 16 +++++++++++++--- configs/arm64/k3-j7200-evm-linux-demo.c | 2 +- configs/arm64/k3-j7200-evm.c | 2 +- configs/arm64/k3-j721e-evm-linux-demo.c | 2 +- configs/arm64/k3-j721e-evm.c | 2 +- configs/arm64/ultra96.c | 11 +++++++++-- configs/arm64/zynqmp-zcu102.c | 15 +++++++++++++-- 8 files changed, 44 insertions(+), 13 deletions(-) diff --git a/configs/arm64/imx8qm-linux-demo.c b/configs/arm64/imx8qm-linux-demo.c index f13ca7bc..e8e8b217 100644 --- a/configs/arm64/imx8qm-linux-demo.c +++ b/configs/arm64/imx8qm-linux-demo.c @@ -19,7 +19,7 @@ struct { struct jailhouse_memory mem_regions[18]; struct jailhouse_irqchip irqchips[4]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[1]; + union jailhouse_stream_id stream_ids[1]; } __attribute__((packed)) config = { .cell = { .signature = JAILHOUSE_CELL_DESC_SIGNATURE, @@ -194,6 +194,9 @@ struct { }, .stream_ids = { - 0x10, + { + .mmu500.mask = 0x7f8, + .mmu500.id = 0x10, + }, }, }; diff --git a/configs/arm64/imx8qm.c b/configs/arm64/imx8qm.c index d63c73cf..2ec4f4dd 100644 --- a/configs/arm64/imx8qm.c +++ b/configs/arm64/imx8qm.c @@ -20,7 +20,7 @@ struct { struct jailhouse_memory mem_regions[15]; struct jailhouse_irqchip irqchips[3]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[3]; + union jailhouse_stream_id stream_ids[3]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, @@ -54,7 +54,6 @@ struct { .type = JAILHOUSE_IOMMU_ARM_MMU500, .base = 0x51400000, .size = 0x40000, - .arm_mmu500.sid_mask = 0x7f80, }, }, @@ -209,6 +208,17 @@ struct { }, .stream_ids = { - 0x11, 0x12, 0x13, + { + .mmu500.mask = 0x7f8, + .mmu500.id = 0x11, + }, + { + .mmu500.mask = 0x7f8, + .mmu500.id = 0x12, + }, + { + .mmu500.mask = 0x7f8, + .mmu500.id = 0x13, + }, }, }; diff --git a/configs/arm64/k3-j7200-evm-linux-demo.c b/configs/arm64/k3-j7200-evm-linux-demo.c index 90a0ce4c..ace9cd3a 100644 --- a/configs/arm64/k3-j7200-evm-linux-demo.c +++ b/configs/arm64/k3-j7200-evm-linux-demo.c @@ -26,7 +26,7 @@ struct { struct jailhouse_memory mem_regions[19]; struct jailhouse_irqchip irqchips[3]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[1]; + union jailhouse_stream_id stream_ids[1]; } __attribute__((packed)) config = { .cell = { .signature = JAILHOUSE_CELL_DESC_SIGNATURE, diff --git a/configs/arm64/k3-j7200-evm.c b/configs/arm64/k3-j7200-evm.c index c3ac331d..d0c8aee3 100644 --- a/configs/arm64/k3-j7200-evm.c +++ b/configs/arm64/k3-j7200-evm.c @@ -21,7 +21,7 @@ struct { struct jailhouse_memory mem_regions[32]; struct jailhouse_irqchip irqchips[6]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[1]; + union jailhouse_stream_id stream_ids[1]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, diff --git a/configs/arm64/k3-j721e-evm-linux-demo.c b/configs/arm64/k3-j721e-evm-linux-demo.c index 5b6aa82e..1b8b3c4c 100644 --- a/configs/arm64/k3-j721e-evm-linux-demo.c +++ b/configs/arm64/k3-j721e-evm-linux-demo.c @@ -27,7 +27,7 @@ struct { struct jailhouse_memory mem_regions[22]; struct jailhouse_irqchip irqchips[4]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[2]; + union jailhouse_stream_id stream_ids[2]; } __attribute__((packed)) config = { .cell = { .signature = JAILHOUSE_CELL_DESC_SIGNATURE, diff --git a/configs/arm64/k3-j721e-evm.c b/configs/arm64/k3-j721e-evm.c index ab13fedd..aa5b47a9 100644 --- a/configs/arm64/k3-j721e-evm.c +++ b/configs/arm64/k3-j721e-evm.c @@ -22,7 +22,7 @@ struct { struct jailhouse_memory mem_regions[40]; struct jailhouse_irqchip irqchips[6]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[30]; + union jailhouse_stream_id stream_ids[30]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, diff --git a/configs/arm64/ultra96.c b/configs/arm64/ultra96.c index db65ae01..19be84ae 100644 --- a/configs/arm64/ultra96.c +++ b/configs/arm64/ultra96.c @@ -21,7 +21,7 @@ struct { struct jailhouse_memory mem_regions[11]; struct jailhouse_irqchip irqchips[1]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[2]; + union jailhouse_stream_id stream_ids[2]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, @@ -161,6 +161,13 @@ struct { }, .stream_ids = { - 0x870, 0x871 + { + .mmu500.mask = 0x0, + .mmu500.id = 0x870, + }, + { + .mmu500.mask = 0x0, + .mmu500.id = 0x871, + }, }, }; diff --git a/configs/arm64/zynqmp-zcu102.c b/configs/arm64/zynqmp-zcu102.c index bdcb04b3..1a5d29b3 100644 --- a/configs/arm64/zynqmp-zcu102.c +++ b/configs/arm64/zynqmp-zcu102.c @@ -23,7 +23,7 @@ struct { struct jailhouse_memory mem_regions[12]; struct jailhouse_irqchip irqchips[1]; struct jailhouse_pci_device pci_devices[2]; - __u32 stream_ids[8]; + union jailhouse_stream_id stream_ids[3]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, @@ -147,6 +147,17 @@ struct { }, .stream_ids = { - 0x860, 0x861, 0x870, 0x871, 0x874, 0x875, 0x876, 0x877 + { + .mmu500.mask = 0x0, + .mmu500.id = 0x860, + }, + { + .mmu500.mask = 0x0, + .mmu500.id = 0x861, + }, + { + .mmu500.mask = 0xf, + .mmu500.id = 0x870, + }, }, }; -- 2.28.0 -- 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/20201109160100.103095-2-andrea.bastoni%40tum.de.
