Skip to content

megaraid_sas HBA emulation

Hannes Reinecke kvm qemu-devel virtualization 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 42 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4Add 'raid' interface classhw/pc.c hw/pci-hotplug.c hw/scsi-disk.c +4 more+51 -50 replies
1/4Add 'raid' interface classhw/pc.c hw/pci-hotplug.c hw/scsi-disk.c +4 more+51 -50 replies
2/4megasas: LSI MegaRAID SAS HBA emulationMakefile.hw hw/megasas.c hw/pci_ids.h+1137 -12 replies
2/4megasas: LSI MegaRAID SAS HBA emulationMakefile.hw hw/megasas.c hw/pci_ids.h+1137 -10 replies
3/4scsi-disk: Factor out SCSI command emulationblock.c block.h block_int.h +2 more+346 -2864 replies
3/4scsi-disk: Factor out SCSI command emulationblock.c block.h block_int.h +2 more+346 -2860 replies
4/4megasas: Add SCSI command emulationhw/megasas.c+53 -350 replies
4/4megasas: Add SCSI command emulationhw/megasas.c+53 -350 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] megaraid_sas HBA emulation

Hi all,

this patchset implements an emulation for the megaraid_sas HBA. It provides emulates an LSI MegaRAID SAS 8708EM2 HBA, ie presenting to the guest a virtual SCSI adapter. Internally it is using aio for read/write requests and either SG_IO or SCSI command emulation for everything else.

The reason for choosing the megaraid_sas HBA and not, say, implementing a virtio scsi interface is because:
- the megaraid_sas is using a very simple firmware interface, comparable to virtio
- the HBA driver are already existent, so I only have to write the backend :-)

The device can be accessed by

-drive if=raid,file=XXX

In order to support SCSI command emulation I had to update / patch up the existing SCSI disk support. This might be not to everyones taste, so I'm open to alternative suggestions.

But I certainly do _not_ want to update the SCSI disk emulation, as this is really quite tied to the SCSI parallel interface used by the old lsi53c895a.c.
Plus it doesn't do scatter-gather list handling, which is quite impossible to fix without proper documentation.

Of course, if anyone else would step in here, I won't object :-)

It currently runs guests with 2.6.27 and up; Windows XP support is not quite there yet. Anything else might work; if not, enable debugging and sent me the logfile.

As usual, comment / suggestions etc welcome.

Cheers,

Hannes

Signature · 4 lines
Dr. Hannes Reinecke		      zSeries & Storage
[email protected]			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Markus Rex, HRB 16746 (AG Nürnberg)