loongson3-virt machine fails to bring up secondary CPUs
Host environment
- Operating system: Gentoo Linux
- OS/kernel version:
6.5.5-gentoo-dist
- Architecture: ppc64el
- QEMU flavor:
qemu-system-mips64el
- QEMU version:
QEMU emulator version 8.1.1
- QEMU command line:
qemu-system-mips64el -M loongson3-virt -kernel vmlinuz-6.1.0-10-loongson-3 -initrd initrd.gz -append "console=ttyS0" -serial stdio -smp 2
Emulated/Virtualized environment
- Operating system: Debian 12
- OS/kernel version:
6.1.0-10-loongson-3
- Architecture: mips64el
Description of problem
When booting Debian netboot on loongson3-virt
machine with SMP, cores other than number 0 fail to come up. Boot without SMP is successful.
I provided the details of the first combination I tested, but I have also tested on an x86_64 host, as well as with Debian 11 (kernel 5.10.0-22-loongson-3
) on both hosts, with the same results.
Steps to reproduce
wget https://ftp.debian.org/debian/dists/bookworm/main/installer-mips64el/current/images/loongson-3/netboot/vmlinuz-6.1.0-10-loongson-3
wget https://ftp.debian.org/debian/dists/bookworm/main/installer-mips64el/current/images/loongson-3/netboot/initrd.gz
qemu-system-mips64el -M loongson3-virt -kernel vmlinuz-6.1.0-10-loongson-3 -initrd initrd.gz -append "console=ttyS0" -serial stdio -smp 2
Additional information
Boot is successful when removing -smp 2
from command line. With it present, the following error is in dmesg
(extends to all other CPUs when a larger SMP value is passed):
[ 2.248229] rcu: Hierarchical SRCU implementation.
[ 2.248446] rcu: Max phase no-delay instances is 1000.
[ 2.647997] smp: Bringing up secondary CPUs ...
[ 2.749706] Booting CPU#1...
[ 7.093229] CPU1: failed to start
[ 7.096508] smp: Brought up 1 node, 1 CPU
The boot eventually stalls after this.