From: Nikhil Devshatwar <[email protected]> When IOMMU drivers are supported, it will setup the IO address translation tables unique for each DMA context in the system.
A typical DMA context is identified by an integer called stream id. To setup the correct IOMMU mapping, hypervisor should know list of all the streamIDs that should be setup in the IOMMU. Add an array of streamIDs in the VMconfig, bump up the config revision. Change the python struct unpacking logic in the tools to reflect revised config structure. Signed-off-by: Nikhil Devshatwar <[email protected]> Signed-off-by: Lokesh Vutla <[email protected]> --- include/jailhouse/cell-config.h | 3 ++- tools/jailhouse-cell-linux | 4 ++-- tools/jailhouse-hardware-check | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/jailhouse/cell-config.h b/include/jailhouse/cell-config.h index 519afefc..9a26a2c5 100644 --- a/include/jailhouse/cell-config.h +++ b/include/jailhouse/cell-config.h @@ -45,7 +45,7 @@ * Incremented on any layout or semantic change of system or cell config. * Also update HEADER_REVISION in tools. */ -#define JAILHOUSE_CONFIG_REVISION 10 +#define JAILHOUSE_CONFIG_REVISION 11 #define JAILHOUSE_CELL_NAME_MAXLEN 31 @@ -90,6 +90,7 @@ struct jailhouse_cell_desc { __u32 pio_bitmap_size; __u32 num_pci_devices; __u32 num_pci_caps; + __u32 sids[32]; __u32 vpci_irq_base; diff --git a/tools/jailhouse-cell-linux b/tools/jailhouse-cell-linux index 49babd92..4b6f504b 100755 --- a/tools/jailhouse-cell-linux +++ b/tools/jailhouse-cell-linux @@ -564,8 +564,8 @@ class Irqchip: class Config: - _HEADER_FORMAT = '6sH32s4xIIIIIIIIIQ8x32x' - _HEADER_REVISION = 10 + _HEADER_FORMAT = '6sH32s4xIIIIIIII128xIQ8x32x' + _HEADER_REVISION = 11 def __init__(self, config_file): self.data = config_file.read() diff --git a/tools/jailhouse-hardware-check b/tools/jailhouse-hardware-check index 51dea82d..1d08b047 100755 --- a/tools/jailhouse-hardware-check +++ b/tools/jailhouse-hardware-check @@ -138,7 +138,7 @@ class Sysconfig: X86_MAX_IOMMU_UNITS = 8 X86_IOMMU_SIZE = 20 - HEADER_REVISION = 10 + HEADER_REVISION = 11 HEADER_FORMAT = '6sH' def __init__(self, path): -- 2.21.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]. For more options, visit https://groups.google.com/d/optout.
