On Tue, Sep 26, 2023, 8:06 AM Niklas Cassel <n...@flawful.org> wrote:

> Hello Marcin,
>
> I will have a look at this.
>
>
> Kind regards,
> Niklas
>

Thanks. You have my blessing in advance to get any hot fixes for this
merged ASAP, as long as another block maintainer is willing to give it an
ACK. (I'll try to be prompt. Please send me a message on IRC to get my
attention if you need to. Sorry I'm so hard to get hold of.)

Also CC mjt - we might need a fix for stable if you merged these patches.



>
>
> 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