On 10/29/2014 09:07 AM, Markus Armbruster wrote:
> Copying John Snow for additional AHCI expertise.
> 
> Hannes Reinecke <h...@suse.de> writes:
> 
>> The CD-ROM signature is 0xeb140101, not 0xeb140000.
>> Without this change OVMF/Duet runs into a timeout trying
>> to detect a SATA cdrom.
>>
>> Signed-off-by: Hannes Reinecke <h...@suse.de>
>> ---
>>  hw/ide/ahci.h | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/hw/ide/ahci.h b/hw/ide/ahci.h
>> index e223258..970eea8 100644
>> --- a/hw/ide/ahci.h
>> +++ b/hw/ide/ahci.h
>> @@ -161,7 +161,7 @@
>>  #define AHCI_CMD_HDR_CMD_FIS_LEN           0x1f
>>  #define AHCI_CMD_HDR_PRDT_LEN              16
>>  
>> -#define SATA_SIGNATURE_CDROM               0xeb140000
>> +#define SATA_SIGNATURE_CDROM               0xeb140101
>>  #define SATA_SIGNATURE_DISK                0x00000101
>>  
>>  #define AHCI_GENERIC_HOST_CONTROL_REGS_MAX_ADDR 0x20

This is actually required by DUET/OVMF.
It just does this check:

(sig & 0xFFFF) == 0x0101

and hence will run into a timeout when a CDROM is attached
to ahci.
It's even in the ATA spec ...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke                   zSeries & Storage
h...@suse.de                          +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

Reply via email to