## 问题一 ### 问题描述 + 内核版本: 6.6.25-2 + OS 版本: Anolis OS 23 + 平台架构: loongarch + 相关日志: ### 复现方法 启动qemu ``` /root/qemu-kvm-anolis-source/build/qemu-system-loongarch64 \ -bios /usr/share/edk2/loongarch64/QEMU_EFI.fd \ -machine virt,usb=off,dump-guest-core=off,acpi=on \ -accel kvm \ -m size=4194304k \ -smp 1,maxcpus=4,sockets=4,cores=1,threads=1 \ -no-user-config \ -nodefaults \ -boot strict=on \ -device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ -device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ -device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \ -device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \ -device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \ -device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \ -device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \ -device '{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}' \ -device '{"driver":"pcie-root-port","port":16,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \ -device '{"driver":"pcie-root-port","port":17,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x1"}' \ -device '{"driver":"pcie-root-port","port":18,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x2.0x2"}' \ -device '{"driver":"pcie-root-port","port":19,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x2.0x3"}' \ -device '{"driver":"pcie-root-port","port":20,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x2.0x4"}' \ -device '{"driver":"pcie-root-port","port":21,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x2.0x5"}' \ -device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \ -device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.3","addr":"0x0"}' \ -blockdev '{"driver":"file","filename":"/home/kvm-nfs/vm1.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","driver":"qcow2","file":"libvirt-2-storage","backing":null}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.5","addr":"0x0","drive":"libvirt-2-format","id":"virtio-disk0","bootindex":1}' \ -nographic \ -monitor tcp::3333,server,nowait \ -serial stdio ``` 物理机中telnet连接monitor ``` telnet 127.0.0.1 3333 (qemu) device_add la464-loongarch-cpu,socket-id=1,core-id=0,thread-id=0,id=cpu-1 ``` 在虚拟机中上线cpu, 并重启虚拟机 ``` echo 1 > /sys/bus/cpu/devices/cpu1/online reboot ``` ### 实际效果 重启之后插入的cpu1不在线且无法上线 ```` lscpu Architecture: loongarch64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0 Off-line CPU(s) list: 1 BIOS Vendor ID: QEMU Model name: Loongson-3A5000 BIOS Model name: virt CPU @ 2.0GHz BIOS CPU family: 1 CPU family: Loongson-64bit Model: 0x10 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 BogoMIPS: 4000.00 Flags: cpucfg lam ual fpu lsx lasx crc32 lbt_x86 lbt_arm lbt_mi ps Caches (sum of all): L1d: 64 KiB (1 instance) L1i: 64 KiB (1 instance) L2: 256 KiB (1 instance) L3: 16 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0 [root@localhost ~]# ecd [ 59.034989][ T28] kauditd_printk_skb: 21 callbacks suppressed [ 59.034996][ T28] audit: type=1131 audit(1730278688.246:159): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr= ? terminal=? res=success' [ 59.050034][ T28] audit: type=1334 audit(1730278688.262:160): prog-id=37 op=UNLOAD bash: ecd: 未找到命令... [ 61.718606][ T28] audit: type=1130 audit(1730278690.930:161): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=packagekit comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? ad dr=? terminal=? res=success' 文件搜索失败: cannot update repo 'os': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried; Last error: Curl error (6): Couldn't resolve host name for htt p://mirrors.openanolis.cn/anolis/23/os/loongarch64/os/repodata/repomd.xml [Could not resolve host: mirrors.openanolis.cn] [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# [root@localhost ~]# cd [ 63.029347][ T28] audit: type=1131 audit(1730278692.238:162): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=systemd-hostnamed comm="systemd" exe="/usr/lib/ systemd/systemd" hostname=? addr=? terminal=? res=success' [ 63.073921][ T28] audit: type=1334 audit(1730278692.286:163): prog-id=35 op=UNLOAD [ 63.074255][ T28] audit: type=1334 audit(1730278692.286:164): prog-id=34 op=UNLOAD [ 63.074557][ T28] audit: type=1334 audit(1730278692.286:165): prog-id=33 op=UNLOAD /sys/bus/ acpi/ gadget/ nvmem/ serio/ auxiliary/ gpio/ pci/ snd_seq/ clockevents/ hid/ pci_express/ soc/ clocksource/ i2c/ platform/ spi/ container/ mdio_bus/ pnp/ usb/ cpu/ memory/ rapidio/ virtio/ dax/ memory_tiering/ scsi/ workqueue/ event_source/ node/ serial-base/ [root@localhost ~]# cd /sys/bus/ acpi/ gadget/ nvmem/ serio/ auxiliary/ gpio/ pci/ snd_seq/ clockevents/ hid/ pci_express/ soc/ clocksource/ i2c/ platform/ spi/ container/ mdio_bus/ pnp/ usb/ cpu/ memory/ rapidio/ virtio/ dax/ memory_tiering/ scsi/ workqueue/ event_source/ node/ serial-base/ [root@localhost ~]# cd /sys/bus/ acpi/ gadget/ nvmem/ serio/ auxiliary/ gpio/ pci/ snd_seq/ clockevents/ hid/ pci_express/ soc/ clocksource/ i2c/ platform/ spi/ container/ mdio_bus/ pnp/ usb/ cpu/ memory/ rapidio/ virtio/ dax/ memory_tiering/ scsi/ workqueue/ event_source/ node/ serial-base/ [root@localhost ~]# cd /sys/bus/ acpi/ gadget/ nvmem/ serio/ auxiliary/ gpio/ pci/ snd_seq/ clockevents/ hid/ pci_express/ soc/ clocksource/ i2c/ platform/ spi/ container/ mdio_bus/ pnp/ usb/ cpu/ memory/ rapidio/ virtio/ dax/ memory_tiering/ scsi/ workqueue/ event_source/ node/ serial-base/ [root@localhost ~]# cd /sys/bus/cpu/devices/cpu -bash: cd: /sys/bus/cpu/devices/cpu: No such file or directory [root@localhost ~]# cd /sys/bus/cpu/devices/cpu1 [root@localhost cpu1]# [root@localhost cpu1]# ls crash_notes driver hotplug online subsystem crash_notes_size firmware_node node0 power uevent [root@localhost cpu1]# echo 1 > online [ 81.945696][ T1358] Booting CPU#1... [ 87.029660][ T1358] CPU1: failed to start -bash: echo: 写入错误:Input/output error ``` ### 期望效果 重启后cpu1上线 ``` lscpu Architecture: loongarch64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 48 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 BIOS Vendor ID: QEMU Model name: Loongson-3A5000 BIOS Model name: virt CPU @ 2.0GHz BIOS CPU family: 1 CPU family: Loongson-64bit Model: 0x10 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 2 BogoMIPS: 4000.00 Flags: cpucfg lam ual fpu lsx lasx crc32 lbt_x86 lbt_arm lbt_mip s Caches (sum of all): L1d: 128 KiB (2 instances) L1i: 128 KiB (2 instances) L2: 512 KiB (2 instances) L3: 16 MiB (1 instance) NUMA: NUMA node(s): 1 NUMA node0 CPU(s): 0,1 ``` ## 问题二 ### 问题描述 多核启动虚拟机报错 + 内核版本: 6.6.25-2 + OS 版本: Anolis OS 23 + 平台架构: loongarch + 相关日志: ### 复现方法 使用多核启动虚拟机 ``` /root/qemu-kvm-anolis-source/build/qemu-system-loongarch64 \ -bios /usr/share/edk2/loongarch64/QEMU_EFI.fd \ -machine virt,usb=off,dump-guest-core=off,acpi=on \ -accel kvm \ -m size=4194304k \ -smp 4,maxcpus=4,sockets=4,cores=1,threads=1 \ -no-user-config \ -nodefaults \ -boot strict=on \ -device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ -device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ -device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \ -device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \ -device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \ -device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \ -device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \ -device '{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}' \ -device '{"driver":"pcie-root-port","port":16,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x2"}' \ -device '{"driver":"pcie-root-port","port":17,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x2.0x1"}' \ -device '{"driver":"pcie-root-port","port":18,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x2.0x2"}' \ -device '{"driver":"pcie-root-port","port":19,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x2.0x3"}' \ -device '{"driver":"pcie-root-port","port":20,"chassis":13,"id":"pci.13","bus":"pcie.0","addr":"0x2.0x4"}' \ -device '{"driver":"pcie-root-port","port":21,"chassis":14,"id":"pci.14","bus":"pcie.0","addr":"0x2.0x5"}' \ -device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \ -device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.3","addr":"0x0"}' \ -blockdev '{"driver":"file","filename":"/home/kvm-nfs/vm1.qcow2","node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"discard":"unmap","driver":"qcow2","file":"libvirt-2-storage","backing":null}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.5","addr":"0x0","drive":"libvirt-2-format","id":"virtio-disk0","bootindex":1}' \ -nographic \ -monitor tcp::3333,server,nowait \ -serial stdio ``` ### 实际效果 虚拟机内核启动cpu失败 ``` [ 0.024125][ T1] smp: Bringing up secondary CPUs ... [ 0.024902][ T1] Booting CPU#1... [ 5.102541][ T1] CPU1: failed to start [ 5.103025][ T1] Booting CPU#2... ``` ### 期望效果 虚拟机cpu正常启动
https://gitee.com/anolis/qemu-kvm/issues/IB0XI8?from=project-issue