Trouble booting default cmakes-vm-arm project under QEMU
Sel4 Developers,
Still learning to crawl here. I have built the cmakes-vm-arm project for the qemu-arm-virt target. I have QEMU version 3.1.0 installed on my host. When I run the simulation by executing the command “./simulate”. it appears as though Sel4 is booting and successfully downloading the kernel, dtb, and loader. However, I am running into problems when it starts booting the kernel. It looks to me like it might be booting the kernel OK with the exception of a warning about GIC interrupts and subsequently drops to user space. Following that I see errors about insufficient memory and invalid num_vcpus. Not quite sure how to correct this. Hoping one of y’all can point me in the right direction.
Here is a copy of the output
— Begin included text —
$ ./simulate
./simulate: qemu-system-aarch64 -machine virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53 -nographic -m size=2048 -kernel images/capdl-loader-image-arm-qemu-arm-virt
ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
paddr=[61b01000..62edd947]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 61bf7400.
Loaded DTB from 61bf7400.
paddr=[60239000..6023afff]
ELF-loading image 'kernel'
paddr=[60000000..60238fff]
vaddr=[ff8060000000..ff8060238fff]
(my_virtual_env) trickdev@trickvm ~/cmakes-arm-vm/vm-build $ ./simulate
./simulate: qemu-system-aarch64 -machine virt,virtualization=on,highmem=off,secure=off -cpu cortex-a53 -nographic -m size=2048 -kernel images/capdl-loader-image-arm-qemu-arm-virt
ELF-loader started on CPU: ARM Ltd. Cortex-A53 r0p4
paddr=[61b01000..62edd947]
No DTB passed in from boot loader.
Looking for DTB in CPIO archive...found at 61bf7400.
Loaded DTB from 61bf7400.
paddr=[60239000..6023afff]
ELF-loading image 'kernel'
paddr=[60000000..60238fff]
vaddr=[ff8060000000..ff8060238fff]
virt_entry=ff8060000000
ELF-loading image 'capdl-loader'
paddr=[6023b000..61703fff]
vaddr=[400000..18c8fff]
virt_entry=407fe8
Enabling hypervisor MMU and paging
Jumping to kernel-image entry point...
Bootstrapping kernel
Warning: Could not infer GIC interrupt target ID, assuming 0.
Booting all finished, dropped to user space
<
Hi Travis,
sel4platsupport_copy_irq_cap@device.cmailto:sel4platsupport_copy_irq_cap@device.c:41 Failed to get cap for irq irq_register_common@irq.cmailto:irq_register_common@irq.c:316 Failed to register an IRQ Assertion failed: (cspace->bitmap[index / BITS_PER_WORD] & BIT(index % BITS_PER_WORD)) == 0 (/home/trickdev/cmakes-arm-vm/projects/seL4_libs/libsel4allocman/src/cspace/single_level.c: _cspace_single_level_free: 100)
This was an issue recently fixed in this commit: https://github.com/SEL4PROJ/camkes-arm-vm/commit/3f2c4bd8cf5483d930af03a6a36... If you update your sources, the qemu-arm-virt application should be able to load Linux. Kent
participants (2)
-
Mcleod, Kent (Data61, Kensington NSW)
-
Travis Wheatley