From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41165) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Scf9R-0004wl-Bs for qemu-devel@nongnu.org; Thu, 07 Jun 2012 12:01:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Scf9K-0002wP-Ot for qemu-devel@nongnu.org; Thu, 07 Jun 2012 12:01:32 -0400 Received: from e06smtp14.uk.ibm.com ([195.75.94.110]:54224) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Scf9K-0002uJ-G3 for qemu-devel@nongnu.org; Thu, 07 Jun 2012 12:01:26 -0400 Received: from /spool/local by e06smtp14.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 7 Jun 2012 17:01:21 +0100 Received: from d06av11.portsmouth.uk.ibm.com (d06av11.portsmouth.uk.ibm.com [9.149.37.252]) by d06nrmr1407.portsmouth.uk.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q57G1BaA2584588 for ; Thu, 7 Jun 2012 17:01:11 +0100 Received: from d06av11.portsmouth.uk.ibm.com (loopback [127.0.0.1]) by d06av11.portsmouth.uk.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q57G1BrM013225 for ; Thu, 7 Jun 2012 10:01:11 -0600 Date: Thu, 7 Jun 2012 17:01:09 +0100 From: Stefan Hajnoczi Message-ID: <20120607160109.GA25511@stefanha-thinkpad.localdomain> References: <1338292278-14141-1-git-send-email-hare@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1338292278-14141-1-git-send-email-hare@suse.de> Subject: Re: [Qemu-devel] [PATCH 0/3][v17] megasas: LSI Megaraid SAS HBA emulation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Hannes Reinecke Cc: Paolo Bonzini , qemu-devel@nongnu.org, Andreas Faerber , Alexander Graf 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