This is my configuration file based on other examples of arm64 boards configurations. I tried to remove virtual PCI device but it doesn’t influence on this issue.
#include <jailhouse/types.h> #include <jailhouse/cell-config.h> #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) struct { struct jailhouse_system header; __u64 cpus[1]; struct jailhouse_memory mem_regions[4]; 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 = 0x19000000, .size = 0x00400000, }, .debug_console = { .address = 0xff800640, .size = 0x40, .type = JAILHOUSE_CON_TYPE_63XX, .flags = JAILHOUSE_CON_ACCESS_MMIO | JAILHOUSE_CON_REGDIST_4, }, .platform_info = { .pci_mmconfig_base = 0x80040000, .pci_mmconfig_end_bus = 0, .pci_is_virtual = 1, .pci_domain = -1, .arm = { .gic_version = 2, .gicd_base = 0x81001000, .gicc_base = 0x81002000, .gich_base = 0x81004000, .gicv_base = 0x81006000, .maintenance_irq = 25, }, }, .root_cell = { .name = "bcell", .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 = 128-32, }, }, .cpus = { 0xf, }, .mem_regions = { { .phys_start = 0x80008000, .virt_start = 0x80008000, .size = 0x34DD000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, { .phys_start = 0xff800000, .virt_start = 0xff800000, .size = 0x800000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_IO, }, /* RAM */ { .phys_start = 0x0, .virt_start = 0x0, .size = 0x20000000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_EXECUTE, }, /* IVSHMEM shared memory region for 00:00.0 */ { .phys_start = 0x3fb00000, .virt_start = 0x3fb00000, .size = 0x100000, .flags = JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE, }, }, .irqchips = { /* GIC */ { .address = 0x81001000, .pin_base = 32, .pin_bitmap = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, }, }, }, .pci_devices = { /* 0001:00:00.0 */ { .type = JAILHOUSE_PCI_TYPE_IVSHMEM, .domain = 1, .bdf = 0 << 3, .bar_mask = { 0xffffff00, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, }, .shmem_region = 3, .shmem_protocol = JAILHOUSE_SHMEM_PROTO_VETH, }, }, }; -----Original Message----- From: Ralf Ramsauer [mailto:ralf.ramsa...@oth-regensburg.de] Sent: Thursday, October 11, 2018 3:45 PM To: Vladimir Neyelov <vladimir.neye...@broadcom.com>; jailhouse-dev@googlegroups.com Subject: Re: jaihouse porting on arm64 board On 10/11/18 2:30 PM, 'Vladimir Neyelov' via Jailhouse wrote: > Hello all, > > I am trying to porting jailhouse on our arm64 base board. I created > configuration for root cell and > > trying to launch root cell. > > > > This is output form uart: > > > > Initializing Jailhouse hypervisor v0.9.1 (134-g006918ca-dirty) on CPU > 3 > > Code location: 0x0000ffffc0200800 > > Page pool usage after early setup: mem 39/996, remap 0/131072 > > Initializing processors: > > CPU 3... OK > > CPU 0... OK > > CPU 2... OK > > CPU 1... OK > > Initializing unit: irqchip > > Initializing unit: PCI > > Adding virtual PCI device 00:00.0 to cell "bcell" You're using ivshmem-net? I'd suggest to leave out the virtual PCI device when enabling a new bord. You can add it again once everything else works. > > Page pool usage after late setup: mem 58/996, remap 5/131072 > > JAIL: exit loop > > JAIL: exit loop > > JAIL: exit loop > > Activating hypervisor > > JAIL: exit loop > > > > JAIL: exit loop -> is my print in jailhouse driver in function > enter_hypervisor after exiting from entry to hypervisor. > > But after it linux stuck. Serial input/output doesn’t work. Debugger > shows that linux run in el1_irg and received non stop So Linux is using the serial line as well? > > spurious interrupt 1023. Why it happen. As I understand all interrupt > firstly received by jailhouse and after forwarded to > > linux(EL1). Spurious interrupt must not forwarded to linux. Could you share your system configuration? Ralf > > Thanks, > > Vladimir > > > > -- > 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 > <mailto:jailhouse-dev+unsubscr...@googlegroups.com>. > For more options, visit https://groups.google.com/d/optout. -- 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. For more options, visit https://groups.google.com/d/optout.