kvm: qemu: GET_CONFIGURATION fixes to allow OpenSolaris CD-ROM access
commitb64c20519d5826875679b6df85afebed27e1a9a8
authorCarlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
Wed, 19 Dec 2007 17:55:27 +0000 (19 11:55 -0600)
committerAvi Kivity <avi@qumranet.com>
Wed, 19 Dec 2007 19:47:40 +0000 (19 21:47 +0200)
tree8a77bfc23c1320fe31cd9b119b2b99174b8f1349
parent6eabe2ba30a673c4280df75b28520e0e1f4a2171
kvm: qemu: GET_CONFIGURATION fixes to allow OpenSolaris CD-ROM access

This patch complements "Partial IDE DVD emulation" (revision 1.66 for ide.c
in qemu's cvs) that is generating the following timeouts for OpenSolaris
guests when trying to access the ATAPI cdrom (ex: during installation):

  WARNING: /pci@0,0/pci-ide@1,1/ide@1 (ata1);
          timeout: abort request, target=0 lun=0
  WARNING: /pci@0,0/pci-ide@1,1/ide@1 (ata1):
          timeout: abort device, target=0 lun=0
  WARNING: /pci@0,0/pci-ide@1,1/ide@1 (ata1):
          timeout: reset target, target=0 lun=0
  WARNING: /pci@0,0/pci-ide@1,1/ide@1 (ata1):
          timeout: reset bus, target=0 lun=0

The changes required to the "GET CONFIGURATION" implementation are :

* recognize and honor "Allocation Length" input parameter
* only set "current profile" for the response if a profile is current
  (either CD or DVD loaded)
* calculate "data length" including all headers
* refactor code and add comments to help document references to all
  implemented standards (ATAPI-4, SPC-3 and MMC-6)

Signed-off-by: Carlo Marcelo Arenas Belon <carenas@sajinet.com.pe>
Signed-off-by: Avi Kivity <avi@qumranet.com>
qemu/hw/ide.c