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?

Reply via email to