Hello Marcin, I will have a look at this.
Kind regards, Niklas On 26 September 2023 13:23:46 CEST, Marcin Juszkiewicz <marcin.juszkiew...@linaro.org> wrote: >I work on SBSA Reference Platform (sbsa-ref) at Linaro. And yesterday I >wanted to check how non-Linux operating systems work on sbsa-ref machine. > >One of them was FreeBSD 13.2 - the latest one. Fetched bootonly ISO >image [1] and booted system. > >1. >https://download.freebsd.org/releases/arm64/aarch64/ISO-IMAGES/13.2/FreeBSD-13.2-RELEASE-arm64-aarch64-bootonly.iso > >QEMU command line arguments: > >-drive >if=ide,file=disks/FreeBSD-13.2-RELEASE-arm64-aarch64-bootonly.iso,media=cdrom >-machine sbsa-ref >-m 4096 >-smp 2 >-cpu neoverse-n1 >-drive >file=fat:rw:/home/marcin/devel/linaro/sbsa-qemu/sbsa-ref-status/disks/virtual/,format=raw >-drive >format=raw,file=/home/marcin/devel/linaro/sbsa-qemu/sbsa-ref-status/disks/full-debian.hddimg >-watchdog-action none >-no-reboot >-monitor telnet::45454,server,nowait >-serial stdio >-device igb >-nographic >-drive if=pflash,file=SBSA_FLASH0.fd,format=raw >-drive if=pflash,file=SBSA_FLASH1.fd,format=raw > > >Firmware loaded FreeBSD loader, kernel booted but it does not see >any AHCI devices: > >ahci0: <AHCI SATA controller> iomem 0x60100000-0x6010ffff irq 1 on acpi0 >ahci0: AHCI v1.00 with 6 1.5Gbps ports, Port Multiplier not supported >ahci0: Caps: 64bit NCQ 1.5Gbps 32cmd 6ports >ahcich0: <AHCI channel> at channel 0 on ahci0 >ahcich0: Caps: >[..] >ahcich0: AHCI reset... >ahcich0: SATA connect time=0us status=00000113 >ahcich0: AHCI reset: device found >ahcich0: AHCI reset: device ready after 0ms >ahcich1: AHCI reset... >ahcich1: SATA connect time=0us status=00000113 >ahcich1: AHCI reset: device found >ahcich1: AHCI reset: device ready after 0ms >ahcich2: AHCI reset... >ahcich2: SATA connect time=0us status=00000113 >ahcich2: AHCI reset: device found >ahcich2: AHCI reset: device ready after 0ms >[..] >Trying to mount root from cd9660:/dev/iso9660/13_2_RELEASE_AARCH64_BO [ro]... >Root mount waiting for: CAM >[..] >Root mount waiting for: CAM >ahcich0: Poll timeout on slot 1 port 0 >ahcich0: is 00000000 cs 00000002 ss 00000000 rs 00000002 tfd 170 serr 00000000 >cmd 0000c017 > >And finally it gives up. > > >v8.1.1 was bad, v8.0.5 was bad so I did git bisecting. >Which gave me this commit: > >commit 7bcd32128b227cee1fb39ff242d486ed9fff7648 >Author: Niklas Cassel <niklas.cas...@wdc.com> >Date: Fri Jun 9 16:08:40 2023 +0200 > > hw/ide/ahci: simplify and document PxCI handling > > The AHCI spec states that: > For NCQ, PxCI is cleared on command queued successfully. > > > >I built x86_64-softmmu target and checked both "pc" and "q35" >machines. > >./build/x86_64-softmmu/qemu-system-x86_64 >-cdrom FreeBSD-13.2-RELEASE-amd64-bootonly.iso >-m 2048 -serial stdio -monitor telnet::45454,server,nowait > >PC target ("-M pc") booted fine. But Q35 ("-M q35") failed >similar way as aarch64/sbsa-ref did: > >ahci0: <Intel ICH9 AHCI SATA controller> port 0xc060-0xc07f mem >0xfebd5000-0xfebd5fff irq 16 at device 31.2 on pci0 >ahci0: attempting to allocate 1 MSI vectors (1 supported) >msi: routing MSI IRQ 26 to local APIC 0 vector 52 >ahci0: using IRQ 26 for MSI >ahci0: AHCI v1.00 with 6 1.5Gbps ports, Port Multiplier not supported >ahci0: Caps: 64bit NCQ 1.5Gbps 32cmd 6ports >ahcich0: <AHCI channel> at channel 0 on ahci0 >ahcich0: Caps: >ahcich1: <AHCI channel> at channel 1 on ahci0 >ahcich1: Caps: >ahcich2: <AHCI channel> at channel 2 on ahci0 >ahcich2: Caps: >[..] >ahcich2: AHCI reset... >ahcich2: SATA connect time=0us status=00000113 >ahcich2: AHCI reset: device found >ahcich2: AHCI reset: device ready after 0ms >[..] >Trying to mount root from cd9660:/dev/iso9660/13_2_RELEASE_AMD64_BO [ro]... >ahcich2: Poll timeout on slot 1 port 0 >ahcich2: is 00000000 cs 00000002 ss 00000000 rs 00000002 tfd 170 serr 00000000 >cmd 0000c017 >(aprobe2:ahcich2:0:0:0): SOFT_RESET. ACB: 00 00 00 00 00 00 00 00 00 00 00 00 >(aprobe2:ahcich2:0:0:0): CAM status: Command timeout >(aprobe2:ahcich2:0:0:0): Error 5, Retries exhausted >ahcich2: Poll timeout on slot 2 port 0 >ahcich2: is 00000000 cs 00000006 ss 00000000 rs 00000004 tfd 170 serr 00000000 >cmd 0000c017 >(aprobe2:ahcich2:0:0:0): SOFT_RESET. ACB: 00 00 00 00 00 00 00 00 00 00 00 00 >(aprobe2:ahcich2:0:0:0): CAM status: Command timeout >(aprobe2:ahcich2:0:0:0): Error 5, Retries exhausted >mountroot: waiting for device /dev/iso9660/13_2_RELEASE_AMD64_BO... >Mounting from cd9660:/dev/iso9660/13_2_RELEASE_AMD64_BO failed with error 19. > >Same thing happens with current qemu HEAD: > >commit 494a6a2cf7f775d2c20fd6df9601e30606cc2014 >Merge: 29578f5757 b821109583 >Author: Stefan Hajnoczi <stefa...@redhat.com> >Date: Mon Sep 25 10:10:30 2023 -0400 > > Merge tag 'pull-request-2023-09-25' of https://gitlab.com/thuth/qemu into > staging > > >Any ideas?