Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
Am 08.06.2012 01:24, schrieb Paolo Bonzini: Il 29/05/2012 14:22, Paolo Bonzini ha scritto: Il 29/05/2012 13:51, Hannes Reinecke ha scritto: This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Yes, of course. I'll wait for an Acked-by or a couple of weeks, whatever comes first. Acked-by: Alexander Graf ag...@suse.de Tested-by: Stefan Hajnoczi stefa...@linux.vnet.ibm.com Ok, pull request coming. :) Paolo, could you please squash the following fixups? Namely: * Drop semicolon after type_init() - unresolved comment from v14 * Make TypeInfo const * Revert unrelated whitespace change in pci_ids.h I told Hannes I'd send this to spare him another resend. It would also be good if someone could review my dependency patch, prompted by an earlier megasas submission: http://patchwork.ozlabs.org/patch/163647/ Maybe prepend it to this series' pci.mak change on scsi-next? diff --git a/hw/megasas.c b/hw/megasas.c index bf5f8cd..25e5c71 100644 --- a/hw/megasas.c +++ b/hw/megasas.c @@ -1935,7 +1935,7 @@ static void megasas_class_init(ObjectClass *oc, void *data) dc-desc = LSI MegaRAID SAS 1078; } -static TypeInfo megasas_info = { +static const TypeInfo megasas_info = { .name = megasas, .parent = TYPE_PCI_DEVICE, .instance_size = sizeof(MegasasState), @@ -1947,4 +1947,4 @@ static void megasas_register_types(void) type_register_static(megasas_info); } -type_init(megasas_register_types); +type_init(megasas_register_types) diff --git a/hw/pci_ids.h b/hw/pci_ids.h index 0306255..c2986aa 100644 --- a/hw/pci_ids.h +++ b/hw/pci_ids.h @@ -12,6 +12,7 @@ #define PCI_BASE_CLASS_STORAGE 0x01 #define PCI_BASE_CLASS_NETWORK 0x02 + #define PCI_CLASS_STORAGE_SCSI 0x0100 #define PCI_CLASS_STORAGE_IDE0x0101 #define PCI_CLASS_STORAGE_RAID 0x0104 Thanks, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
On Tue, May 29, 2012 at 01:51:15PM +0200, Hannes Reinecke wrote: This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Changes since v17: - Fix crash when booting without Option ROM, reported by Alex Graf Changes since v16: - Codingstyle fixes, reported by Alex Graf Changes since v15: - Move to new SCSI API - Use generic trace functions for DCMDs - Replace bitfields with defines - Implement CFG_READ - Fix enclosure ID reporting Changes since v14: - Rename MPTState to MegasasState - Use bool type - Enable 64 bit PCI accesses - Replace raid mode string handling - Use common function for requests handling Changes since v13: - Remove separate MSI-X BAR - Simplify BAR allocation Changes since v12: - Fixup flag setting via properties - Fixup MSI-X handling - Disable MSI-X per default Changes since v11: - Remove unneeded variables Changes since v10: - Port to new device type API - Include suggestion from Alex Graf: - Remove 'inline' function declaration - Queue setup and interrupt enablement needs to be treated independently - Always read in 64 bit context and just mask out the top bits if required Changes since v9: - Split off trace events into a separate patch - Do not check for max_luns in PD Info - Update trace events - Clarify license statement - Fixup coding style issues Changes since v8: - Remove 'disable' keyword from trace definitions - Convert hand-crafted debugging statements with trace definitions - Treat 'context' tag as little endian Changes since v7: - Port to new memory API - Port to new PCI infrastructure - Use fixed buffers for sense processing - Update to updated SCSI infrastructure Changes since v6: - Preliminary patches pushed to Kevins block tree - Implement 64bit contexts, required for Windows7 - Use iovecs for DCMD processing - Add MSI-X support Latest Linux driver now happily uses MSI-X. - Static iovec allocation We have a fixed upper number of iovecs, so we can save us the allocation. Suggested by Alex Graf. - Update MFI header Latest Linux driver has some more definitions, add them - Fixup AEN handling - Update tracing details - Remove sdev pointer from megasas_cmd_t Changes since v5: - megasas: Use tracing infrastructure instead of DPRINTF - megasas: Use new PCI infrastructure - megasas: Check for iovec mapping failure cpu_map_physical_memory() might fail, so we need to check for it when mapping iovecs. - megasas: Trace scsi buffer overflow The transfer length as specified in the SCSI command might disagree with the length of the iovec. We should be tracing these issues. - megasas: Reset frames after init firmware When receiving an INIT FIRMWARE command we need reset all frames, otherwise some frames might point to invalid memory. Chances since v4: - megasas: checkpatch.pl fixes and update to work with the changed interface in scsi_req_new(). Also included the suggested fixes from Alex. Hannes Reinecke (3): megasas: Add header file megasas: LSI Megaraid SAS HBA emulation megasas: Add trace events Makefile.objs |1 + default-configs/pci.mak |1 + hw/megasas.c| 2198 +++ hw/mfi.h| 1248 +++ hw/pci_ids.h|3 +- trace-events| 79 ++ 6 files changed, 3529 insertions(+), 1 deletions(-) create mode 100644 hw/megasas.c create mode 100644 hw/mfi.h Not a line-by-line review but overall it looks okay. I also tested that a RHEL 6 guest sees a SCSI disk. Tested-by: Stefan Hajnoczi stefa...@linux.vnet.ibm.com
Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
Il 29/05/2012 14:22, Paolo Bonzini ha scritto: Il 29/05/2012 13:51, Hannes Reinecke ha scritto: This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Yes, of course. I'll wait for an Acked-by or a couple of weeks, whatever comes first. Acked-by: Alexander Graf ag...@suse.de Tested-by: Stefan Hajnoczi stefa...@linux.vnet.ibm.com Ok, pull request coming. :) Paolo
Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
On 29.05.2012, at 13:51, Hannes Reinecke wrote: This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Looks good to me, works on x86 and ppc hosts. Very nice patch set :). Finally a working SCSI HBA in QEMU! Yay ;) Acked-by: Alexander Graf ag...@suse.de Alex
[Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Changes since v17: - Fix crash when booting without Option ROM, reported by Alex Graf Changes since v16: - Codingstyle fixes, reported by Alex Graf Changes since v15: - Move to new SCSI API - Use generic trace functions for DCMDs - Replace bitfields with defines - Implement CFG_READ - Fix enclosure ID reporting Changes since v14: - Rename MPTState to MegasasState - Use bool type - Enable 64 bit PCI accesses - Replace raid mode string handling - Use common function for requests handling Changes since v13: - Remove separate MSI-X BAR - Simplify BAR allocation Changes since v12: - Fixup flag setting via properties - Fixup MSI-X handling - Disable MSI-X per default Changes since v11: - Remove unneeded variables Changes since v10: - Port to new device type API - Include suggestion from Alex Graf: - Remove 'inline' function declaration - Queue setup and interrupt enablement needs to be treated independently - Always read in 64 bit context and just mask out the top bits if required Changes since v9: - Split off trace events into a separate patch - Do not check for max_luns in PD Info - Update trace events - Clarify license statement - Fixup coding style issues Changes since v8: - Remove 'disable' keyword from trace definitions - Convert hand-crafted debugging statements with trace definitions - Treat 'context' tag as little endian Changes since v7: - Port to new memory API - Port to new PCI infrastructure - Use fixed buffers for sense processing - Update to updated SCSI infrastructure Changes since v6: - Preliminary patches pushed to Kevins block tree - Implement 64bit contexts, required for Windows7 - Use iovecs for DCMD processing - Add MSI-X support Latest Linux driver now happily uses MSI-X. - Static iovec allocation We have a fixed upper number of iovecs, so we can save us the allocation. Suggested by Alex Graf. - Update MFI header Latest Linux driver has some more definitions, add them - Fixup AEN handling - Update tracing details - Remove sdev pointer from megasas_cmd_t Changes since v5: - megasas: Use tracing infrastructure instead of DPRINTF - megasas: Use new PCI infrastructure - megasas: Check for iovec mapping failure cpu_map_physical_memory() might fail, so we need to check for it when mapping iovecs. - megasas: Trace scsi buffer overflow The transfer length as specified in the SCSI command might disagree with the length of the iovec. We should be tracing these issues. - megasas: Reset frames after init firmware When receiving an INIT FIRMWARE command we need reset all frames, otherwise some frames might point to invalid memory. Chances since v4: - megasas: checkpatch.pl fixes and update to work with the changed interface in scsi_req_new(). Also included the suggested fixes from Alex. Hannes Reinecke (3): megasas: Add header file megasas: LSI Megaraid SAS HBA emulation megasas: Add trace events Makefile.objs |1 + default-configs/pci.mak |1 + hw/megasas.c| 2198 +++ hw/mfi.h| 1248 +++ hw/pci_ids.h|3 +- trace-events| 79 ++ 6 files changed, 3529 insertions(+), 1 deletions(-) create mode 100644 hw/megasas.c create mode 100644 hw/mfi.h -- 1.7.3.4
Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation
Il 29/05/2012 13:51, Hannes Reinecke ha scritto: This is an updated patchset for megasas. Upon popular demand I've split it into three parts, the header file, the emulation itself, and a patch adding trace events to the emulation. Paolo, can you merge it via your tree? Or should I ask someone else? Yes, of course. I'll wait for an Acked-by or a couple of weeks, whatever comes first. Paolo