On 23.03.21 07:25, peng....@nxp.com wrote: > From: Peng Fan <peng....@nxp.com> > > Support virtio console
Not accurate: You also add virtio-blk devices. Where do you take the memory from? Some words on how you rearrange things would be good. And there is no impact on the demo-inmate config? > > Signed-off-by: Peng Fan <peng....@nxp.com> > --- > configs/arm64/imx8mp-linux-demo.c | 81 ++++++++++++++++++++++++++----- > configs/arm64/imx8mp.c | 80 ++++++++++++++++++++++++------ > 2 files changed, 134 insertions(+), 27 deletions(-) > > diff --git a/configs/arm64/imx8mp-linux-demo.c > b/configs/arm64/imx8mp-linux-demo.c > index ff0cdffb..1e0a9f1c 100644 > --- a/configs/arm64/imx8mp-linux-demo.c > +++ b/configs/arm64/imx8mp-linux-demo.c > @@ -21,9 +21,9 @@ > struct { > struct jailhouse_cell_desc cell; > __u64 cpus[1]; > - struct jailhouse_memory mem_regions[15]; > + struct jailhouse_memory mem_regions[23]; > struct jailhouse_irqchip irqchips[2]; > - struct jailhouse_pci_device pci_devices[2]; > + struct jailhouse_pci_device pci_devices[4]; > } __attribute__((packed)) config = { > .cell = { > .signature = JAILHOUSE_CELL_DESC_SIGNATURE, > @@ -43,7 +43,8 @@ struct { > }, > > .mem_regions = { > - /* IVHSMEM shared memory region for 00:00.0 (demo )*/ { > + /* IVSHMEM shared memory region (virtio-blk front) */ > + { > .phys_start = 0xfd900000, > .virt_start = 0xfd900000, > .size = 0x1000, > @@ -52,25 +53,57 @@ struct { > { > .phys_start = 0xfd901000, > .virt_start = 0xfd901000, > + .size = 0xdf000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | > + JAILHOUSE_MEM_ROOTSHARED, > + }, > + { 0 }, > + { 0 }, > + /* IVSHMEM shared memory region (virtio-con front) */ > + { > + .phys_start = 0xfd9e0000, > + .virt_start = 0xfd9e0000, > + .size = 0x1000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, > + }, > + { > + .phys_start = 0xfd9e1000, > + .virt_start = 0xfd9e1000, > + .size = 0xf000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | > + JAILHOUSE_MEM_ROOTSHARED, > + }, > + { 0 }, > + { 0 }, > + /* IVHSMEM shared memory region for 00:00.0 (demo )*/ > + { > + .phys_start = 0xfd9f0000, > + .virt_start = 0xfd9f0000, > + .size = 0x1000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, > + }, > + { > + .phys_start = 0xfd9f1000, > + .virt_start = 0xfd9f1000, > .size = 0x9000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | > JAILHOUSE_MEM_ROOTSHARED, > }, > { > - .phys_start = 0xfd90a000, > - .virt_start = 0xfd90a000, > + .phys_start = 0xfd9fa000, > + .virt_start = 0xfd9fa000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, > }, > { > - .phys_start = 0xfd90c000, > - .virt_start = 0xfd90c000, > + .phys_start = 0xfd9fc000, > + .virt_start = 0xfd9fc000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, > }, > { > - .phys_start = 0xfd90e000, > - .virt_start = 0xfd90e000, > + .phys_start = 0xfd9fe000, > + .virt_start = 0xfd9fe000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | > JAILHOUSE_MEM_ROOTSHARED, > @@ -143,22 +176,44 @@ struct { > }, > > .pci_devices = { > + { > + .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > + .domain = 1, > + .bdf = 2 << 3, > + .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > + .shmem_regions_start = 0, > + .shmem_dev_id = 1, > + .shmem_peers = 2, > + .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_FRONT + > + VIRTIO_DEV_BLOCK, > + }, > + { > + .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > + .domain = 1, > + .bdf = 3 << 3, > + .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > + .shmem_regions_start = 4, > + .shmem_dev_id = 1, > + .shmem_peers = 2, > + .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_FRONT + > + VIRTIO_DEV_CONSOLE, > + }, > { /* IVSHMEM 00:00.0 (demo) */ > .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > - .domain = 0, > + .domain = 1, Please pull patch 5 before this one and do all the domain adjustments in one place. > .bdf = 0 << 3, > .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > - .shmem_regions_start = 0, > + .shmem_regions_start = 8, > .shmem_dev_id = 2, > .shmem_peers = 3, > .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED, > }, > { /* IVSHMEM 00:01.0 (networking) */ > .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > - .domain = 0, > + .domain = 1, > .bdf = 1 << 3, > .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > - .shmem_regions_start = 5, > + .shmem_regions_start = 13, > .shmem_dev_id = 1, > .shmem_peers = 2, > .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH, > diff --git a/configs/arm64/imx8mp.c b/configs/arm64/imx8mp.c > index a1e221f9..3f758980 100644 > --- a/configs/arm64/imx8mp.c > +++ b/configs/arm64/imx8mp.c > @@ -18,9 +18,9 @@ > struct { > struct jailhouse_system header; > __u64 cpus[1]; > - struct jailhouse_memory mem_regions[15]; > + struct jailhouse_memory mem_regions[23]; > struct jailhouse_irqchip irqchips[3]; > - struct jailhouse_pci_device pci_devices[2]; > + struct jailhouse_pci_device pci_devices[4]; > } __attribute__((packed)) config = { > .header = { > .signature = JAILHOUSE_SYSTEM_SIGNATURE, > @@ -42,7 +42,7 @@ struct { > .pci_mmconfig_base = 0xfd700000, > .pci_mmconfig_end_bus = 0, > .pci_is_virtual = 1, > - .pci_domain = 0, > + .pci_domain = 1, > > .arm = { > .gic_version = 3, > @@ -68,7 +68,8 @@ struct { > }, > > .mem_regions = { > - /* IVHSMEM shared memory region for 00:00.0 (demo )*/ { > + /* IVSHMEM shared memory region (virtio-blk back-end) */ > + { > .phys_start = 0xfd900000, > .virt_start = 0xfd900000, > .size = 0x1000, > @@ -77,24 +78,53 @@ struct { > { > .phys_start = 0xfd901000, > .virt_start = 0xfd901000, > + .size = 0xdf000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, > + }, > + { 0 }, > + { 0 }, > + /* IVSHMEM shared memory region (virtio-con back-end) */ > + { > + .phys_start = 0xfd9e0000, > + .virt_start = 0xfd9e0000, > + .size = 0x1000, > + .flags = JAILHOUSE_MEM_READ, > + }, > + { > + .phys_start = 0xfd9e1000, > + .virt_start = 0xfd9e1000, > + .size = 0xf000, > + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, > + }, > + { 0 }, > + { 0 }, > + /* IVHSMEM shared memory region for 00:00.0 (demo )*/ { > + .phys_start = 0xfd9f0000, > + .virt_start = 0xfd9f0000, > + .size = 0x1000, > + .flags = JAILHOUSE_MEM_READ, > + }, > + { > + .phys_start = 0xfd9f1000, > + .virt_start = 0xfd9f1000, > .size = 0x9000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , > }, > { > - .phys_start = 0xfd90a000, > - .virt_start = 0xfd90a000, > + .phys_start = 0xfd9fa000, > + .virt_start = 0xfd9fa000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , > }, > { > - .phys_start = 0xfd90c000, > - .virt_start = 0xfd90c000, > + .phys_start = 0xfd9fc000, > + .virt_start = 0xfd9fc000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ, > }, > { > - .phys_start = 0xfd90e000, > - .virt_start = 0xfd90e000, > + .phys_start = 0xfd9fe000, > + .virt_start = 0xfd9fe000, > .size = 0x2000, > .flags = JAILHOUSE_MEM_READ, > }, > @@ -167,22 +197,44 @@ struct { > }, > > .pci_devices = { > + { > + .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > + .domain = 1, > + .bdf = 2 << 3, > + .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > + .shmem_regions_start = 0, > + .shmem_dev_id = 0, > + .shmem_peers = 2, > + .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_BACK + > + VIRTIO_DEV_BLOCK, > + }, > + { > + .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > + .domain = 1, > + .bdf = 3 << 3, > + .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > + .shmem_regions_start = 4, > + .shmem_dev_id = 0, > + .shmem_peers = 2, > + .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VIRTIO_BACK + > + VIRTIO_DEV_CONSOLE, > + }, > { /* IVSHMEM 0000:00:00.0 (demo) */ > .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > - .domain = 0, > + .domain = 1, > .bdf = 0 << 3, > .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > - .shmem_regions_start = 0, > + .shmem_regions_start = 8, > .shmem_dev_id = 0, > .shmem_peers = 3, > .shmem_protocol = JAILHOUSE_SHMEM_PROTO_UNDEFINED, > }, > { /* IVSHMEM 0000:00:01.0 (networking) */ > .type = JAILHOUSE_PCI_TYPE_IVSHMEM, > - .domain = 0, > + .domain = 1, > .bdf = 1 << 3, > .bar_mask = JAILHOUSE_IVSHMEM_BAR_MASK_INTX, > - .shmem_regions_start = 5, > + .shmem_regions_start = 13, > .shmem_dev_id = 0, > .shmem_peers = 2, > .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH, > Jan -- Siemens AG, T RDA IOT Corporate Competence Center Embedded Linux -- 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 jailhouse-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/181c45a5-3c2f-4244-7681-119bdab4be5b%40siemens.com.