From 7254fcbbb25ba4439896a7d088c4422b7d401596 Mon Sep 17 00:00:00 2001 From: Zanbin Fang Date: Sun, 21 Aug 2022 12:59:42 +0800 Subject: [PATCH 1/6] =?UTF-8?q?configs/arm64=EF=BC=9Aadd=20e2000q=20root?= =?UTF-8?q?=20cell=20config=20and=20freertos64=20non-root=20cell=20config?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Zanbin Fang --- .../configs/arm64/e2000q-inmate-rtos64.c | 74 +++ src/jailhouse/configs/arm64/e2000q.c | 492 ++++++++++++++++++ 2 files changed, 566 insertions(+) create mode 100755 src/jailhouse/configs/arm64/e2000q-inmate-rtos64.c create mode 100755 src/jailhouse/configs/arm64/e2000q.c diff --git a/src/jailhouse/configs/arm64/e2000q-inmate-rtos64.c b/src/jailhouse/configs/arm64/e2000q-inmate-rtos64.c new file mode 100755 index 0000000..864a716 --- /dev/null +++ b/src/jailhouse/configs/arm64/e2000q-inmate-rtos64.c @@ -0,0 +1,74 @@ +/* + * Jailhouse, a Linux-based partitioning hypervisor + * + * Configuration for rtos64 on Phytium e2000q + */ + +#include +#include + +struct { + struct jailhouse_cell_desc cell; + __u64 cpus[1]; + struct jailhouse_memory mem_regions[3]; + struct jailhouse_irqchip irqchips[1]; +} __attribute__((packed)) config = { + .cell = { + .signature = JAILHOUSE_CELL_DESC_SIGNATURE, + .revision = JAILHOUSE_CONFIG_REVISION, + .name = "e2000q-inmate-rtos64", + .flags = JAILHOUSE_CELL_PASSIVE_COMMREG, + + .cpu_set_size = sizeof(config.cpus), + .cpu_reset_address = 0xc0100000, + .num_memory_regions = ARRAY_SIZE(config.mem_regions), + .num_irqchips = ARRAY_SIZE(config.irqchips), + + .console = { + .address = 0x2800d000, + .type = JAILHOUSE_CON_TYPE_PL011, + .flags = JAILHOUSE_CON_ACCESS_MMIO | + JAILHOUSE_CON_REGDIST_4, + }, + }, + + .cpus = { + 0x1, + }, + + .irqchips = { + { + .address = 0x30800000, + .pin_base = 32, + .pin_bitmap = { + 0, + 0, + 1 << (116 - 96), + 0, + }, + }, + }, + + .mem_regions = { + /* UART 1 */{ + .phys_start = 0x2800d000, + .virt_start = 0x2800d000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO | JAILHOUSE_MEM_ROOTSHARED, + }, + /* RAM */ { + .phys_start = 0xc0000000, + .virt_start = 0xc0000000, + .size = 0x10000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE | JAILHOUSE_MEM_LOADABLE, + }, + /* communication region */ { + .virt_start = 0xc0000000, + .size = 0x00001000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_COMM_REGION, + }, + }, +}; diff --git a/src/jailhouse/configs/arm64/e2000q.c b/src/jailhouse/configs/arm64/e2000q.c new file mode 100755 index 0000000..4312caa --- /dev/null +++ b/src/jailhouse/configs/arm64/e2000q.c @@ -0,0 +1,492 @@ +/* + * Jailhouse, a Linux-based partitioning hypervisor + * + * Configuration for Phytium e2000q + * + */ + +#include +#include + +struct { + struct jailhouse_system header; + __u64 cpus[1]; + struct jailhouse_memory mem_regions[52]; + struct jailhouse_irqchip irqchips[1]; + struct jailhouse_pci_device pci_devices[1]; +} __attribute__((packed)) config = { + .header = { + .signature = JAILHOUSE_SYSTEM_SIGNATURE, + .revision = JAILHOUSE_CONFIG_REVISION, + .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE, + .hypervisor_memory = { + .phys_start = 0xb0000000, + .size = 0x01000000, + }, + .debug_console = { + .address = 0x2800d000, + .size = 0x1000, + .type = JAILHOUSE_CON_TYPE_PL011, + .flags = JAILHOUSE_CON_ACCESS_MMIO | + JAILHOUSE_CON_REGDIST_4, + }, + .platform_info = { + .pci_mmconfig_base = 0x40000000, + .pci_mmconfig_end_bus = 0, + .pci_is_virtual = 1, + .pci_domain = 1, + + .arm = { + .gic_version = 3, + .gicd_base = 0x30800000, + .gicr_base = 0x30880000, + .gicc_base = 0x30960000, + .maintenance_irq = 25, + }, + }, + .root_cell = { + .name = "e2000q", + + .cpu_set_size = sizeof(config.cpus), + .num_memory_regions = ARRAY_SIZE(config.mem_regions), + .num_irqchips = ARRAY_SIZE(config.irqchips), + .num_pci_devices = ARRAY_SIZE(config.pci_devices), + + .vpci_irq_base = 100, + }, + }, + + .cpus = { + 0x0f, + }, + + .mem_regions = { + /* Main memory */ + { + .phys_start = 0x80000000, + .virt_start = 0x80000000, + .size = 0x80000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* Main memory */ + { + .phys_start = 0x2000000000, + .virt_start = 0x2000000000, + .size = 0x2000000000, //Maximum support 128G + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* LPC */ + { + .phys_start = 0x20000000, + .virt_start = 0x20000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* MMC 0-1 */ + { + .phys_start = 0x28000000, + .virt_start = 0x28000000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* NAND Controler*/ + { + .phys_start = 0x28002000, + .virt_start = 0x28002000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DMA 0-1*/ + { + .phys_start = 0x28003000, + .virt_start = 0x28003000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DDMA 1*/ + { + .phys_start = 0x28005000, + .virt_start = 0x28005000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* HDA */ + { + .phys_start = 0x28006000, + .virt_start = 0x28006000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* LBC */ + { + .phys_start = 0x28007000, + .virt_start = 0x28007000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* QSPI */ + { + .phys_start = 0x28008000, + .virt_start = 0x28008000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S */ + { + .phys_start = 0x28009000, + .virt_start = 0x28009000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* CAN 0-2*/ + { + .phys_start = 0x2800a000, + .virt_start = 0x2800a000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* UART 0-3 */ + { + .phys_start = 0x2800c000, + .virt_start = 0x2800c000, + .size = 0x4000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PMBBUS 0 - 1*/ + { + .phys_start = 0x28011000, + .virt_start = 0x28011000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SMBBUS*/ + { + .phys_start = 0x28013000, + .virt_start = 0x28013000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* MMIO 0-15*/ + { + .phys_start = 0x28014000, + .virt_start = 0x28014000, + .size = 0x20000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* GPIO 0-5 */ + { + .phys_start = 0x28034000, + .virt_start = 0x28034000, + .size = 0x6000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SPIM 0-3 */ + { + .phys_start = 0x2803A000, + .virt_start = 0x2803A000, + .size = 0x4000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* Onewrite*/ + { + .phys_start = 0x2803F000, + .virt_start = 0x2803F000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* Watchdog 0-1 */ + { + .phys_start = 0x28040000, + .virt_start = 0x28040000, + .size = 0x4000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* JTAG Master */ + { + .phys_start = 0x28044000, + .virt_start = 0x28044000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I3C 0-3 */ + { + .phys_start = 0x28045000, + .virt_start = 0x28045000, + .size = 0x4000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* eSPI Slave*/ + { + .phys_start = 0x28049000, + .virt_start = 0x28049000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PWM 0-7 */ + { + .phys_start = 0x2804a000, + .virt_start = 0x2804a000, + .size = 0x8000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* IACC */ + { + .phys_start = 0x28052000, + .virt_start = 0x28052000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* Tacho 0-37 */ + { + .phys_start = 0x28054000, + .virt_start = 0x28054000, + .size = 0x26000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* keypad*/ + { + .phys_start = 0x2807a000, + .virt_start = 0x2807a000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* ADC 0-1 */ + { + .phys_start = 0x2807B000, + .virt_start = 0x2807B000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SGPIO */ + { + .phys_start = 0x2807D000, + .virt_start = 0x2807D000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* USB_vhub 0-2 */ + { + .phys_start = 0x31800000, + .virt_start = 0x31800000, + .size = 0x180000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* USB3 0-1 */ + { + .phys_start = 0x31A00000, + .virt_start = 0x31A00000, + .size = 0x40000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SATA0 */ + { + .phys_start = 0x31A40000, + .virt_start = 0x31A40000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DC */ + { + .phys_start = 0x32000000, + .virt_start = 0x32000000, + .size = 0x4000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DP 0-1 */ + { + .phys_start = 0x32004000, + .virt_start = 0x32004000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S0_DMA */ + { + .phys_start = 0x32008000, + .virt_start = 0x32008000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S0 */ + { + .phys_start = 0x32009000, + .virt_start = 0x32009000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S1_DMA */ + { + .phys_start = 0x3200A000, + .virt_start = 0x3200A000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S1 */ + { + .phys_start = 0x3200B000, + .virt_start = 0x3200B000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* I2S1 */ + { + .phys_start = 0x3200B000, + .virt_start = 0x3200B000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* GMU 0-3 */ + { + .phys_start = 0x3200c000, + .virt_start = 0x3200c000, + .size = 0x8000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SATA1 */ + { + .phys_start = 0x32014000, + .virt_start = 0x32014000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* USB2 */ + { + .phys_start = 0x32800000, + .virt_start = 0x32800000, + .size = 0x100000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* JPEG_ENCODER */ + { + .phys_start = 0x32B32000, + .virt_start = 0x32B32000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* DMAC 0-1 */ + { + .phys_start = 0x32B34000, + .virt_start = 0x32B34000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* HW Spinlock */ + { + .phys_start = 0x32B36000, + .virt_start = 0x32B36000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* Mailbox */ + { + .phys_start = 0x32a00000, + .virt_start = 0x32a00000, + .size = 0x1000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* SRAM */ + { + .phys_start = 0x32a10000, + .virt_start = 0x32a10000, + .size = 0x2000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_EXECUTE, + }, + /* GIC ITS */ + { + .phys_start = 0x30820000, + .virt_start = 0x30820000, + .size = 0x20000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PCIe ECAM */ + { + .phys_start = 0x40000000, + .virt_start = 0x40000000, + .size = 0x10000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PCIe IO */ + { + .phys_start = 0x50000000, + .virt_start = 0x50000000, + .size = 0x8000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PCIe Mem32 */ + { + .phys_start = 0x58000000, + .virt_start = 0x58000000, + .size = 0x28000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + /* PCIe Mem64 */ + { + .phys_start = 0x1000000000, + .virt_start = 0x1000000000, + .size = 0x1000000000, + .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | + JAILHOUSE_MEM_IO, + }, + }, + + .irqchips = { + /* GIC */ + { + .address = 0x30800000, + .pin_base = 32, + .pin_bitmap = { + 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, + }, + }, + }, +}; -- Gitee From 16aaf71c6f5db7b63955ac7c5da835ab126593e8 Mon Sep 17 00:00:00 2001 From: Zanbin Fang Date: Sun, 21 Aug 2022 05:05:19 +0000 Subject: [PATCH 2/6] update Readme.md of e2000q. Signed-off-by: Zanbin Fang --- Readme.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index d26dad3..71dfe9d 100755 --- a/Readme.md +++ b/Readme.md @@ -26,7 +26,7 @@ Jailhouse编译完成后,生成文件分为三部分:第一部分,Jailhous # 3 运行 -目前在飞腾FT2000/4和D2000上运行如下示例,测试内核版本为4.19,根文件系统为Ubuntu 18.04。如有需要,可联系飞腾嵌入式软件部获取。 +目前在飞腾FT2000/4、D2000和E2000上运行如下示例,测试内核版本为4.19,根文件系统为Ubuntu 18.04。如有需要,可联系飞腾嵌入式软件部获取。 ## 3.1 设备树保留内存节点 @@ -123,6 +123,20 @@ D2000支持FreeRTOS和VxWorks, FreeRTOS支持64位,VxWorks支持32位和64位 ![](https://gitee.com/phytium_embedded/phytium-jailhouse/raw/master/pic/d2000_FreeRTOS64.png) +### 3.3.3 d2000测试 + +#### e2000q测试 + +64位FreeRTOS运行序列和效果如下所示: + + # modprobe jailhouse; + # jailhouse enable e2000q.cell; + # jailhouse cell create e2000q-inmate-rtos64.cell; + # jailhouse cell load 1 freertos64.bin --address 0xc0100000; + # jailhouse cell start 1; + +![](https://gitee.com/phytium_embedded/phytium-jailhouse/raw/master/pic/e2000q_FreeRTOS64.png) + ## 3.4 Linux 运行non-root Linux除加载Jailhouse驱动和root cell外,还需要提供内核镜像,设备树和根文件系统(目前为Ramdisk),还需要设定合适的启动参数,命令序列和运行效果如下图所示。 -- Gitee From edf7902b87184e35da8fb80187db054fdb6d7fda Mon Sep 17 00:00:00 2001 From: Zanbin Fang Date: Sun, 21 Aug 2022 05:06:21 +0000 Subject: [PATCH 3/6] update Readme.md of e2000q. Signed-off-by: Zanbin Fang --- Readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Readme.md b/Readme.md index 71dfe9d..2287479 100755 --- a/Readme.md +++ b/Readme.md @@ -123,7 +123,7 @@ D2000支持FreeRTOS和VxWorks, FreeRTOS支持64位,VxWorks支持32位和64位 ![](https://gitee.com/phytium_embedded/phytium-jailhouse/raw/master/pic/d2000_FreeRTOS64.png) -### 3.3.3 d2000测试 +### 3.3.3 e2000测试 #### e2000q测试 -- Gitee From 94287f0e629756ec7e42b9077fe7d574b301e83e Mon Sep 17 00:00:00 2001 From: Zanbin Fang Date: Sun, 21 Aug 2022 05:07:33 +0000 Subject: [PATCH 4/6] pic/:pictures of e2000q jailhouse FreeRTOS64 test result Signed-off-by: Zanbin Fang --- pic/e2000q_FreeRTOS64.png | Bin 0 -> 6645 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 pic/e2000q_FreeRTOS64.png diff --git a/pic/e2000q_FreeRTOS64.png b/pic/e2000q_FreeRTOS64.png new file mode 100644 index 0000000000000000000000000000000000000000..81a2e40b12de31295fc350e99a62817ace096807 GIT binary patch literal 6645 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 Date: Tue, 23 Aug 2022 09:49:44 +0000 Subject: [PATCH 5/6] update src/jailhouse/configs/arm64/e2000q.c. Signed-off-by: Zanbin Fang --- src/jailhouse/configs/arm64/e2000q.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/jailhouse/configs/arm64/e2000q.c b/src/jailhouse/configs/arm64/e2000q.c index 4312caa..c51f3b5 100755 --- a/src/jailhouse/configs/arm64/e2000q.c +++ b/src/jailhouse/configs/arm64/e2000q.c @@ -149,7 +149,7 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* CAN 0-2*/ + /* CAN 0-1*/ { .phys_start = 0x2800a000, .virt_start = 0x2800a000, @@ -289,7 +289,7 @@ struct { { .phys_start = 0x2807D000, .virt_start = 0x2807D000, - .size = 0x2000, + .size = 0x1000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, @@ -365,14 +365,6 @@ struct { .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, - /* I2S1 */ - { - .phys_start = 0x3200B000, - .virt_start = 0x3200B000, - .size = 0x1000, - .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | - JAILHOUSE_MEM_IO, - }, /* GMU 0-3 */ { .phys_start = 0x3200c000, -- Gitee From 2f00e3078d2d1b75cb3544b4a51ebb0ea0302bb7 Mon Sep 17 00:00:00 2001 From: Zanbin Fang Date: Tue, 23 Aug 2022 10:02:11 +0000 Subject: [PATCH 6/6] update src/jailhouse/configs/arm64/e2000q.c. Signed-off-by: Zanbin Fang --- src/jailhouse/configs/arm64/e2000q.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/jailhouse/configs/arm64/e2000q.c b/src/jailhouse/configs/arm64/e2000q.c index c51f3b5..65d1b41 100755 --- a/src/jailhouse/configs/arm64/e2000q.c +++ b/src/jailhouse/configs/arm64/e2000q.c @@ -385,7 +385,7 @@ struct { { .phys_start = 0x32800000, .virt_start = 0x32800000, - .size = 0x100000, + .size = 0x200000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, -- Gitee