NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-evbarm/56579: Illegal Instruction in armv8_pmu_intr [QEMU, Hypervisor.framework, Apple M1]
>Number: 56579
>Category: port-evbarm
>Synopsis: Illegal Instruction in armv8_pmu_intr [QEMU, Hypervisor.framework, Apple M1]
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-evbarm-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Dec 25 15:40:00 +0000 2021
>Originator: Tobias Nygren
>Release: 9.99.93
>Organization:
>Environment:
NetBSD m1 9.99.93 NetBSD 9.99.93 (GENERIC64) #1: Sat Dec 25 04:26:21 UTC 2021
>Description:
aarch64 kernel panics after going multiuser when run in QEMU on Apple M1 with macOS-provided hypervisor. According to Linux, the M1 SoC does not have a standard PMUv3 so we probably shouldn't try to attach it.
panic: Trap: fatal Unknown Reason (Illegal Instruction):
fp ffffc000bfb7fc30 armv8_pmu_intr() at ffffc000000bb1ec netbsd:armv8_pmu_intr+0xc
fp ffffc000bfb7fc60 pic_dispatch() at ffffc000000028d8 netbsd:pic_dispatch+0x28
fp ffffc000bfb7fca0 armgic_irq_handler() at ffffc00000005220 netbsd:armgic_irq_handler+0xe0
fp ffffc000bfb7fdf8 cpu_idle() at ffffc000000ad2e4 netbsd:cpu_idle+0x40
fp ffffc000bfb7fe40 idle_loop() at ffffc00000538350 netbsd:idle_loop+0x180
Dump of assembler code for function armv8_pmu_intr:
0xffffc000000bb1e0 <+0>: stp x29, x30, [sp, #-48]!
0xffffc000000bb1e4 <+4>: mov x29, sp
0xffffc000000bb1e8 <+8>: str x19, [sp, #16]
0xffffc000000bb1ec <+12>: mrs x19, pmovsset_el0 <-- panics here
>How-To-Repeat:
Install latest qemu from pkgsrc on macOS 12.0.1 and run:
qemu-system-aarch64 \
-M virt,accel=hvf,highmem=off -cpu cortex-a72 -m 4g \
-drive if=none,file=netbsd.bin,id=hd0 -device virtio-blk-device,drive=hd0 \
-netdev type=user,id=net0 -device virtio-net-device,netdev=net0,mac=00:11:22:33:44:55 \
-bios QEMU_EFI.fd \
-nographic
>Fix:
A workaround is to compile a kernel without "armpmu* at fdt?".
Home |
Main Index |
Thread Index |
Old Index