On 08/18/2015 01:42 AM, Alexander Bezzubikov wrote: > This is my QEMU Google Summer of Code project. > Here I introduce new device - ATAPI-SCSI bridge. > Its purpose is to unify IDE ATAPI CD-ROM emulation > with SCSI CD-ROM emulation to reduce code duplication and squash bugs. > It's purpose is simple - it just forwards ATAPI commands > to SCSI side for parsing and execution. > > Example of using: > qemu-system-x86_64 \ > -drive if=none,file=<filename>,id=cdrom \ > -drive if=none,id=fake \ > -device ide-bridge,id=bridge,drive=fake \ > -device scsi-cd,drive=cdrom,bus=bridge.0 \ > -hda diskimage \ > -m 1024 > > Alexander Bezzubikov (11): > ide: ATAPI-SCSI bridge TypeInfo and init function created > ide: necessary fields for ATAPI-SCSI bridge added > ide: necessary checks corrected to treat ATAPI-SCSI bridge as CDROM > scsi: Added function to enable ATAPI-SCSI bridge send SCSI requests > ide: bridge 'transfer' and 'complete' functions added > ide: ATAPI-SCSI bridge can now forward requests to SCSI > ide: Makefile corrected due to bridge creation > scsi: SCSIDiskReq declaration moved to header > ide: ide_bridge_do_transfer is treated as PIO transfer > ide: corrected ATAPI checks to be ignored by ATAPI-SCSI bridge > ide: bridge functions assigned to SCSIBusInfo, bridge is OK now > > hw/ide/Makefile.objs | 2 +- > hw/ide/atapi.c | 22 +++++++++- > hw/ide/bridge.c | 114 > +++++++++++++++++++++++++++++++++++++++++++++++++ > hw/ide/bridge.h | 10 +++++ > hw/ide/core.c | 28 +++++++----- > hw/ide/internal.h | 6 ++- > hw/ide/qdev.c | 42 +++++++++++++++++- > hw/scsi/scsi-disk.c | 55 ++++++++++++++++++------ > include/hw/scsi/scsi.h | 16 +++++++ > 9 files changed, 267 insertions(+), 28 deletions(-) > create mode 100644 hw/ide/bridge.c > create mode 100644 hw/ide/bridge.h > In general a very nice patchset, looking quite closely to what I had in mind. Congrats.
But I would prefer to reshuffle the patches somewhat; this will make review easier. 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)