Michael Tokarev <m...@tls.msk.ru> writes:

> It looks like virtio-pci is entirely broke in qemu-system-arm, at least in tcg
> mode running on x86.  The guest (current linux system) just does not detect
> any virtio-pci devices at all.
>
> When 8.1 is booting, the following messages are displayed (debian initramfs):
>
> Loading, please wait...
> Starting systemd-udevd version 255-1
> [    6.455941] virtio-pci 0000:00:01.0: enabling device (0100 -> 0103)
> [    6.929155] virtio-pci 0000:00:02.0: enabling device (0100 -> 0103)
> [    7.764652] virtio_blk virtio1: 2/0/0 default/read/poll queues
> [    7.783216] virtio_blk virtio1: [vda] 2097026 512-byte logical blocks 
> (1.07 GB/1024 MiB)
> [    8.636453] virtio_net virtio0 enp0s1: renamed from eth0
>
> But when 8.2 is booting, it ends up at:
>
> Loading, please wait...
> Starting systemd-udevd version 255-1
> ..and nothing.  here it waits for the root fs to appear, and drops into the 
> shell
>
> git bisect points at this commit:
>
> commit b8f7959f28c4f36496bc0a694fa28bf5078152c5
> Author: Peter Maydell <peter.mayd...@linaro.org>
> Date:   Mon Jul 24 18:43:33 2023 +0100
>
>     target/arm: Do all "ARM_FEATURE_X implies Y" checks in post_init
>
> Reverting this commit on top of 8.2.0 (or current qemu master)
> makes things works again.
>
> It's interesting how we missed this out entirely, as it's been applied
> at the beginning of 8.2 development cycle, it's 228th commit after
> 8.1.0.
>
> It looks like we've quite a bit more regressions like this in 8.2.0..
> :(

We have at least one test that does use virtio-pci on qemu-system-arm
and passes. From:

  ./pyvenv/bin/avocado run ./tests/avocado --filter-by-tags=arch:arm

We can see:

  grep "virtio" 
/home/alex/avocado/job-results/job-2023-12-21T18.11-8dc03b2/job.log | grep pci
  2023-12-21 18:14:31,294 machine          L0470 DEBUG| VM launch command: 
'./qemu-system-arm -display none -vga none -chardev socket,id=mon,fd=5 -mon 
chardev=mon,mode=control -machine versatilepb -chardev socket,id=console,fd=19 
-serial chardev:console -cpu arm926 -kernel 
/home/alex/avocado/data/cache/by_location/a8e6fbd14f0270fef06aaef9fc413c5a6ed71120/zImage
 -append printk.time=0 root=/dev/vda console=ttyAMA0 -blockdev 
driver=raw,file.driver=file,file.filename=/home/alex/avocado/job-results/job-2023-12-21T18.11-8dc03b2/test-results/tmp_dir1mqewwjv/40-._tests_avocado_tuxrun_baselines.py_TuxRunBaselineTest.test_armv5/rootfs.ext4,node-name=hd0
 -device virtio-blk-pci,drive=hd0 -dtb 
/home/alex/avocado/data/cache/by_location/a8e6fbd14f0270fef06aaef9fc413c5a6ed71120/versatile-pb.dtb'
  2023-12-21 18:14:31,722 __init__         L0153 DEBUG| virtio-pci 
0000:00:0d.0: enabling device (0100 -> 0103)

But obviously not enough coverage to catch this regression. 

>
> /mjt

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

Reply via email to