On Tue, Aug 04, 2020 at 11:17:05AM -0000, runaguo...@zhaoxin.com wrote: > When binding AHCI controller to virtual machine, the attached ATA device > cannot be recognized for the following reason: > The first Identify PACKET CMD will be failed without dobut which will lead > PORT_IRQ_TF_ERR be set in PxIS due to ERR bit set to 1 in D2H Register > FIS(PxTFD.STS.ERR=1). In this case, the first CMD will be timeout for seabios > only polling PORT_IRQ_D2H_REG_FIS & PORT_IRQ_PIOS_FIS before triggering error > handling which leads AHCI controller is an error state, then the second > IDENTIFY CMD cannot be issued by AHCI controller, no ATA device will be > detected. > > In AHCI spec HBA Port State Machine section(5.3.8.1 and 5.3.16.5), we can > see this sequence: RegFIS:Entry --> ERR:FatalTaskfile (PxTFD.STS.ERR=1) --> > ERR:WaitForClear, no entry for PORT_IRQ_D2H_REG_FIS/PORT_IRQ_PIOS_FIS to be > set at this time. > > May be we can also add PORT_IRQ_TF_ERR bit check when polling command > completion status?
Thanks. Gerd wrote the AHCI support. (As well as the XHCI support referenced in your other report.) Hopefully he'll be able to comment. -Kevin _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-le...@seabios.org