register: 0.874 permissions: 0.874 virtual: 0.853 PID: 0.853 architecture: 0.851 debug: 0.851 performance: 0.848 semantic: 0.847 device: 0.845 user-level: 0.844 arm: 0.843 TCG: 0.841 kernel: 0.839 assembly: 0.834 mistranslation: 0.832 graphic: 0.824 socket: 0.822 files: 0.818 peripherals: 0.818 ppc: 0.813 boot: 0.810 VMM: 0.777 KVM: 0.776 vnc: 0.774 network: 0.752 hypervisor: 0.729 x86: 0.720 risc-v: 0.716 i386: 0.679 synchronous abort on accessing unused I/O ports on aarch64 version: QEMU emulator version 5.2.0 (Debian 1:5.2+dfsg-6) command line: qemu-system-aarch64 \ -machine virt,virtualization=on,graphics=on,usb=on -cpu cortex-a57 -smp 2 -m 2G \ -device virtio-blk-device,drive=hd0 \ -drive if=none,format=raw,id=hd0,file=buildroot \ -kernel arch/arm64/boot/Image \ -nographic \ -device virtio-rng-pci \ -net user,host=10.0.2.10,hostfwd=tcp::10022-:22 -net nic,model=virtio-net-pci \ -append "root=/dev/vda earlyprintk=serial console=ttyAMA0 earlycon" I am observing "synchronous external abort" when kernel tries to access unused I/O ports (see below), while hardware/qemu should return 0xffffffff in this case. This is factored out of this LKML thread where Arnd describes it in more details: https://lore.kernel