On 08.06.20 13:43, Nikhil Devshatwar wrote: > > > On 08/06/20 4:51 pm, Jan Kiszka wrote: >> On 08.06.20 13:16, Jan Kiszka wrote: >>> On 08.06.20 12:42, [email protected] wrote: >>>> From: Nikhil Devshatwar <[email protected]> >>>> >>>> Add a new IVSHMEM PCIe virtual device for a 2 peer >>>> IVSHMEM demo communication. >>>> (0 = root cell, 1 = baremetal / linux-demo) >>>> Also add the corresponding memory regions for state and output >>>> aligned at 64k boundary. >>>> >>>> Update the bdf numbers for consistency across all platforms. >>>> Assign domain = 4 since the platform already has 4 physical >>>> controllers. >>>> >>>> Signed-off-by: Nikhil Devshatwar <[email protected]> >>>> --- >>>> configs/arm64/k3-j721e-evm-linux-demo.c | 52 ++++++++++++++++++++---- >>>> configs/arm64/k3-j721e-evm.c | 53 ++++++++++++++++++++----- >>>> 2 files changed, 89 insertions(+), 16 deletions(-) >>>> >>>> diff --git a/configs/arm64/k3-j721e-evm-linux-demo.c >>>> b/configs/arm64/k3-j721e-evm-linux-demo.c >>>> index cda1614a..05517751 100644 >>>> --- a/configs/arm64/k3-j721e-evm-linux-demo.c >>>> +++ b/configs/arm64/k3-j721e-evm-linux-demo.c >>>> @@ -24,9 +24,9 @@ >>>> struct { >>>> struct jailhouse_cell_desc cell; >>>> __u64 cpus[1]; >>>> - struct jailhouse_memory mem_regions[18]; >>>> + struct jailhouse_memory mem_regions[22]; >>>> struct jailhouse_irqchip irqchips[4]; >>>> - struct jailhouse_pci_device pci_devices[1]; >>>> + struct jailhouse_pci_device pci_devices[2]; >>>> __u32 stream_ids[2]; >>>> } __attribute__((packed)) config = { >>>> .cell = { >>>> @@ -56,8 +56,35 @@ struct { >>>> }, >>>> >>>> .mem_regions = { >>>> - /* IVSHMEM shared memory region for 00:01.0 */ >>>> - JAILHOUSE_SHMEM_NET_REGIONS(0x89fe00000, 1), >>>> + /* IVSHMEM shared memory regions for 00:00.0 (demo) */ >>>> + { >>>> + .phys_start = 0x89fe00000, >>>> + .virt_start = 0x89fe00000, >>>> + .size = 0x10000, >>>> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, >>>> + }, >>>> + { >>>> + .phys_start = 0x89fe10000, >>>> + .virt_start = 0x89fe10000, >>>> + .size = 0x10000, >>>> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED | >>>> + JAILHOUSE_MEM_WRITE , >>>> + }, >>>> + { >>>> + .phys_start = 0x89fe20000, >>>> + .virt_start = 0x89fe20000, >>>> + .size = 0x10000, >>>> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, >>>> + }, >>>> + { >>>> + .phys_start = 0x89fe30000, >>>> + .virt_start = 0x89fe30000, >>>> + .size = 0x10000, >>>> + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED | >>>> + JAILHOUSE_MEM_WRITE , >>>> + }, >>> You are missing the state table. Was this tested? >> Ah, it's there, just 64K large due to the different page size. >> >>> Please derive from existing examples, using the same patterns and sizes. >>> Reference is qemu-arm64. >> Still, please follow the default pattern (with adjusted page size), >> which means triangle by default, 3 peers. That may eventually become >> part of an automated test, and then all boards should better have the >> same pattern ready. > j721e has only two A72 cores. So max two cells can be created. > linux-demo and inmate-demo are mutually exclusive.
Oh, sorry, missed that completely. I was expecting a quad-core at least. > That's why I have given the same id to both because I can never launch > it in parallel. > > Do you recommend to still give a separate id for these cells? Nope, that's fine then. But now I wonder why we need to patch any of the demo code. If both do respect the max-peers value and send to (my-id + 1) % max-peers, they should "just work", no? Jan -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/1a4a35d9-8530-d4cd-da64-578d41f95eba%40siemens.com.
