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.
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?
Nikhil D
Jan
--
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/54f5799c-4dc6-b17d-7ab4-52fb5fd4ff6b%40ti.com.