qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/17] ide: Use ide_cmd_table function pointers for


From: Kevin Wolf
Subject: [Qemu-devel] [PATCH 00/17] ide: Use ide_cmd_table function pointers for command execution
Date: Tue, 18 Jun 2013 10:25:54 +0200

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]