From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43970) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpHUy-00047V-6c for qemu-devel@nongnu.org; Wed, 19 Jun 2013 08:28:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UpHUw-0008Sg-RE for qemu-devel@nongnu.org; Wed, 19 Jun 2013 08:28:28 -0400 Received: from mail-we0-x22a.google.com ([2a00:1450:400c:c03::22a]:56233) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpHUw-0008SX-Jb for qemu-devel@nongnu.org; Wed, 19 Jun 2013 08:28:26 -0400 Received: by mail-we0-f170.google.com with SMTP id w57so4450170wes.1 for ; Wed, 19 Jun 2013 05:28:25 -0700 (PDT) Date: Wed, 19 Jun 2013 14:28:22 +0200 From: Stefan Hajnoczi Message-ID: <20130619122822.GC31475@stefanha-thinkpad.muc.redhat.com> References: <1371543971-23241-1-git-send-email-kwolf@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1371543971-23241-1-git-send-email-kwolf@redhat.com> Subject: Re: [Qemu-devel] [PATCH 00/17] ide: Use ide_cmd_table function pointers for command execution List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: qemu-devel@nongnu.org, stefanha@redhat.com On Tue, Jun 18, 2013 at 10:25:54AM +0200, Kevin Wolf wrote: > The ATAPI code has been using a table of callback functions for each > command for quite a while now, this series does the same for ATA > commands (which already got the table, but no function pointers, just > flags) > > The main advantage is that we get a more consistent behaviour of the > commands because we get a clear separation between things that are common > between all (or most) commands, like setting status register bits or triggering > IRQs, and can be handled in one central place, and command specific code > that is refactored into its own function. In the past we've had bugs > from forgetting to do one of the common things, like setting the BSY > flag, which will be avoided with the new infrastructure. > > It's also a good opportunity to clean up some of the coding style > problems of the IDE code. > > Kevin Wolf (17): > ide: Add handler to ide_cmd_table > ide: Convert WIN_DSM to ide_cmd_table handler > ide: Convert WIN_IDENTIFY to ide_cmd_table handler > ide: Convert cmd_nop commands to ide_cmd_table handler > ide: Convert verify commands to ide_cmd_table handler > ide: Convert read/write multiple commands to ide_cmd_table handler > ide: Convert PIO read/write commands to ide_cmd_table handler > ide: Convert DMA read/write commands to ide_cmd_table handler > ide: Convert READ NATIVE MAX ADDRESS to ide_cmd_table handler > ide: Convert CHECK POWER MDOE to ide_cmd_table handler > ide: Convert SET FEATURES to ide_cmd_table handler > ide: Convert FLUSH CACHE to ide_cmd_table handler > ide: Convert SEEK to ide_cmd_table handler > ide: Convert ATAPI commands to ide_cmd_table handler > ide: Convert CF-ATA commands to ide_cmd_table handler > ide: Convert SMART commands to ide_cmd_table handler > ide: Clean up ide_exec_cmd() > > hw/ide/core.c | 1242 +++++++++++++++++++++++++++++++-------------------------- > 1 file changed, 669 insertions(+), 573 deletions(-) > > -- > 1.8.1.4 Nice series! Thanks, applied to my block tree: https://github.com/stefanha/qemu/commits/block Stefan