Hi, I'm working on Stratix 10 SoCFPGA and passed the .ko part and loaded it sucessfully. But I do have problem with root cell implementation. checked the "Documents" but there's no guidance for new board porting. Is it any useful hint?
" root@stratix10:~/jailhouse/configs/arm64# jailhouse enable socfpga-s10socdk.cell [ 163.205096] SError Interrupt on CPU0, code 0xbf400000 -- SError [ 163.205101] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G O 5.4.23-03461-gb6dad2fd8d54-dirty #1 [ 163.205103] Hardware name: SoCFPGA Stratix 10 SoCDK (DT) [ 163.205105] pstate: 40000085 (nZcv daIf -PAN -UAO) [ 163.205107] pc : arch_cpu_idle+0x8/0x18 [ 163.205109] lr : default_idle_call+0x1c/0x38 [ 163.205110] sp : ffff800011803ec0 [ 163.205112] x29: ffff800011803ec0 x28: 0000000003300018 [ 163.205117] x27: 0000000000000000 x26: 0000000000000000 [ 163.205121] x25: 0000000000000000 x24: ffff80001180a21c [ 163.205124] x23: ffff800011456ab8 x22: ffff800011809000 [ 163.205128] x21: ffff80001180a000 x20: 0000000000000001 [ 163.205132] x19: ffff80001180a120 x18: 0000000000000000 [ 163.205136] x17: 0000000000000000 x16: 0000000000000000 [ 163.205140] x15: 00000000000001d9 x14: 0000000000000002 [ 163.205144] x13: 00000000000001d9 x12: 0000000000000001 [ 163.205148] x11: 0000000000000000 x10: 00000000000009c0 [ 163.205152] x9 : ffff800011803e20 x8 : ffff800011813760 [ 163.205156] x7 : 0000000000000660 x6 : ffff800011f9bdf0 [ 163.205159] x5 : ffff00003dd9bd70 x4 : ffff00003dd9bd70 [ 163.205163] x3 : 4000000000000000 x2 : 0000000000000000 [ 163.205167] x1 : 000000000003f8a4 x0 : 0000000000000028 [ 163.205173] SError Interrupt on CPU1, code 0xbf400000 -- SError [ 163.205176] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G O 5.4.23-03461-gb6dad2fd8d54-dirty #1 [ 163.205178] Hardware name: SoCFPGA Stratix 10 SoCDK (DT) [ 163.205180] pstate: 40000085 (nZcv daIf -PAN -UAO) [ 163.205182] pc : arch_cpu_idle+0x8/0x18 [ 163.205184] lr : default_idle_call+0x1c/0x38 [ 163.205185] sp : ffff800011a53f30 [ 163.205187] x29: ffff800011a53f30 x28: e38b4d4078ae707d [ 163.205190] x27: 9ecd419d57dce7ef x26: 0000000000000000 [ 163.205195] x25: 0000000000000000 x24: ffff80001180a21c [ 163.205198] x23: ffff800011456ab8 x22: ffff800011809000 [ 163.205202] x21: ffff80001180a000 x20: 0000000000000002 [ 163.205206] x19: ffff80001180a120 x18: 0000000000000000 [ 163.205210] x17: 0000000000000000 x16: 0000000000000000 [ 163.205214] x15: 0000000000000000 x14: 0000000000000000 [ 163.205218] x13: 0000000000000001 x12: 0000000000004000 [ 163.205222] x11: 0000000000000000 x10: 00000000000009c0 [ 163.205226] x9 : ffff800011a53e90 x8 : ffff00003c4a2620 [ 163.205229] x7 : ffff80002c95d000 x6 : 0000001534120b80 [ 163.205233] x5 : 00ffffffffffffff x4 : 0000000066666666 [ 163.205237] x3 : 4000000000000000 x2 : 0000000000000000 [ 163.205241] x1 : 0000000000004c5c x0 : 0000000000000028 [ 163.205246] Kernel panic - not syncing: Asynchronous SError Interrupt [ 163.205249] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G O 5.4.23-03461-gb6dad2fd8d54-dirty #1 [ 163.205251] Hardware name: SoCFPGA Stratix 10 SoCDK (DT) [ 163.205253] Call trace: [ 163.205254] dump_backtrace+0x0/0x150 [ 163.205256] show_stack+0x14/0x20 [ 163.205258] dump_stack+0xbc/0x100 [ 163.205259] panic+0x16c/0x37c [ 163.205261] __stack_chk_fail+0x0/0x18 [ 163.205263] arm64_serror_panic+0x74/0x88 [ 163.205264] do_serror+0x70/0x138 [ 163.205266] el1_error+0x84/0xf8 [ 163.205267] arch_cpu_idle+0x8/0x18 [ 163.205269] do_idle+0x1d0/0x2b0 [ 163.205270] cpu_startup_entry+0x24/0x40 [ 163.205272] secondary_start_kernel+0x1b4/0x208 [ 163.205275] SError Interrupt on CPU2, code 0xbf400000 -- SError [ 163.205278] CPU: 2 PID: 0 Comm: swapper/2 Tainted: G O 5.4.23-03461-gb6dad2fd8d54-dirty #1 [ 163.205280] Hardware name: SoCFPGA Stratix 10 SoCDK (DT) [ 163.205282] pstate: 40000085 (nZcv daIf -PAN -UAO) [ 163.205284] pc : arch_cpu_idle+0x8/0x18 [ 163.205286] lr : default_idle_call+0x1c/0x38 [ 163.205287] sp : ffff800011a5bf30 [ 163.205289] x29: ffff800011a5bf30 x28: c8e8555c779f5780 [ 163.205293] x27: 72e681172d0391f0 x26: 0000000000000000 [ 163.205297] x25: 0000000000000000 x24: ffff80001180a21c [ 163.205300] x23: ffff800011456ab8 x22: ffff800011809000 [ 163.205304] x21: ffff80001180a000 x20: 0000000000000004 [ 163.205308] x19: ffff80001180a120 x18: 0000000000000000 [ 163.205312] x17: 0000000000000000 x16: 0000000000000000 [ 163.205316] x15: 0000000000000000 x14: 0000000000000000 [ 163.205319] x13: 0000000000000001 x12: 0000000000005074 [ 163.205323] x11: 0000000000000000 x10: 00000000000009c0 [ 163.205327] x9 : ffff800011a5be90 x8 : ffff00003c4a3420 [ 163.205331] x7 : ffff80002c973000 x6 : 00000015459e3b80 [ 163.205335] x5 : 00ffffffffffffff x4 : 0000000066666666 [ 163.205339] x3 : 4000000000000000 x2 : 0000000000000000 [ 163.205343] x1 : 000000000000f4b8 x0 : 0000000000000028 [ 163.205348] SError Interrupt on CPU3, code 0xbf400000 -- SError [ 163.205351] CPU: 3 PID: 1074 Comm: jailhouse Tainted: G O 5.4.23-03461-gb6dad2fd8d54-dirty #1 [ 163.205353] Hardware name: SoCFPGA Stratix 10 SoCDK (DT) [ 163.205355] pstate: 20000005 (nzCv daif -PAN -UAO) [ 163.205357] pc : __memcpy+0x134/0x180 [ 163.205359] lr : jailhouse_cmd_enable+0x37c/0x7a0 [jailhouse] [ 163.205361] sp : ffff800011bcbb10 [ 163.205362] x29: ffff800011bcbb10 x28: 00000000ffffffea [ 163.205366] x27: ffff800011d65000 x26: ffff800008c97000 [ 163.205370] x25: ffff800008c97000 x24: 0000000000000004 [ 163.205374] x23: 0000000000000400 x22: 000000002d9e52a0 [ 163.205378] x21: 0000000000000000 x20: ffff800011809000 [ 163.205382] x19: 000000002d9e52a0 x18: 0000000000000000 [ 163.205386] x17: 0000000000000000 x16: 0000000000000000 [ 163.205390] x15: 0000000000000000 x14: 0000000000000000 [ 163.205393] x13: 0000000000000000 x12: 0000000000000000 [ 163.205397] x11: 0000000000000000 x10: 0000000000000000 [ 163.205401] x9 : 0000000000000000 x8 : 0000000000000000 [ 163.205405] x7 : 0000000000000000 x6 : ffff8000130001c0 [ 163.205409] x5 : ffff00003dffe4c8 x4 : 0000000000000000 [ 163.205413] x3 : ffff800013016000 x2 : 00000000000165c8 [ 163.205417] x1 : ffff800011d65200 x0 : ffff800013000000 [ 163.205435] Kernel Offset: disabled [ 163.205437] CPU features: 0x0002,20002004 [ 163.205439] Memory Limit: 1024 MB " On Monday, 18 June 2018 at 03:07:04 UTC+8 Jan Kiszka wrote: > On 2018-06-17 20:45, David Pereira wrote: > > Hi everybody, > > > > I would like to experiment with Jailhouse for implementing a > mixed-criticality solution (FreeRTOS in one core, Linux on the other) over > a Arrow SoCKit Evaluation Board (link for the board description is > https://rocketboards.org/foswiki/Documentation/ArrowSoCKitEvaluationBoard > ). > > > > Does anyone in the forum had already tried Jailhouse with this board and > made it run successfully? I am looking for some hints which could help with > the process of installing Jailhouse in this board. > > > > Thanks a lot in advance for any replies. > > Unfortunately, that SoC is too old for Jailhouse (same is true for the > Xilinx Zynq, BTW). > > We need at least a Cortex-A7 or A15 on ARMv7, but the Cyclone V only has > an A9, and that predates virtualization support. Or ARMv8. You likely > need a Stratix 10 (though I haven't heard of anyone enabling Jailhouse > on that thing so far) or a Xilinx ZynqMP (known to work). > > 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 jailhouse-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/jailhouse-dev/7a9814a6-dd4b-453a-977b-3e2f86119176n%40googlegroups.com.
/* * Jailhouse, a Linux-based partitioning hypervisor * * Configuration for Xilinx ZynqMP ZCU102 eval board * * Copyright (c) Siemens AG, 2016 * * Authors: * Jan Kiszka <jan.kis...@siemens.com> * * This work is licensed under the terms of the GNU GPL, version 2. See * the COPYING file in the top-level directory. * * Reservation via device tree: 0x800000000..0x83fffffff */ #include <jailhouse/types.h> #include <jailhouse/cell-config.h> struct { struct jailhouse_system header; __u64 cpus[1]; struct jailhouse_memory mem_regions[12]; struct jailhouse_irqchip irqchips[1]; struct jailhouse_pci_device pci_devices[2]; } __attribute__((packed)) config = { .header = { .signature = JAILHOUSE_SYSTEM_SIGNATURE, .revision = JAILHOUSE_CONFIG_REVISION, .flags = JAILHOUSE_SYS_VIRTUAL_DEBUG_CONSOLE, .hypervisor_memory = { .phys_start = 0x800000000, .size = 0x000400000, }, .debug_console = { .address = 0xffc02000, .size = 0x1000, .type = JAILHOUSE_CON_TYPE_8250, .flags = JAILHOUSE_CON_ACCESS_MMIO | JAILHOUSE_CON_REGDIST_4, }, .platform_info = { /* need to check */ .pci_mmconfig_base = 0xfc000000, .pci_mmconfig_end_bus = 0, .pci_is_virtual = 1, .pci_domain = -1, .arm = { .gic_version = 2, .gicd_base = 0xfffc1000, .gicc_base = 0xfffc2000, .gich_base = 0xfffc4000, .gicv_base = 0xfffc6000, .maintenance_irq = 25, }, }, .root_cell = { .name = "Stratix10-SoCfpga-SoCdk", .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 = 136-32, }, }, .cpus = { 0xf, }, .mem_regions = { /* IVSHMEM shared memory region for 0001:00:00.0 */ // JAILHOUSE_SHMEM_NET_REGIONS(0x800400000, 0), /* IVSHMEM shared memory region for 0001:00:01.0 */ // JAILHOUSE_SHMEM_NET_REGIONS(0x800500000, 0), /* MMIO (permissive) */ { .phys_start = 0xff800000, .virt_start = 0xff800000, .size = 0x00700000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* RAM */ { .phys_start = 0x0, .virt_start = 0x0, .size = 0x80000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, /* RAM */ { .phys_start = 0x800600000, .virt_start = 0x800600000, .size = 0x7fa00000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, }, .irqchips = { /* GIC */ { .address = 0xfffc1000, .pin_base = 32, .pin_bitmap = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, }, }, }, };