aliguori dd8edf0122 Add 64-bit Block Move support (Direct & Table Indirect) (Ryan Harper)
This patch adds support for 64-bit Block Move instructions.  There are multiple
modes for 64-bit Block moves, direct, indirect, and table indirect.  This patch
implements Direct and Table indirect moves which are needed by 64-bit windows
and SYM_CONF_DMA_ADDRESSING_MODE=2 for the Linux sym53c8xx_2 driver respectively.

Two helper functions are included to check which mode the guest is using.  For
 64-bit direct moves, we fetch a 3rd DWORD and store the value in the DBMS
register.  For Table Indirect moves, we look into the table for which register
contains the upper 32-bits of the 64-bit address.  This selector value indicates
which register to pull the value from and into dnad64 register.

Finally, lsi_do_dma is updated to use the approriate register to build a 64-bit
DMA address if required.

With this patch, Windows XP x64, 2003 SP2 x64, can now install to scsi devices.
Linux SYM_CONF_DMA_ADDRESSING_MODE=2 need a quirk fixup in Patch 4 to function
properly.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5969 c046a42c-6fe2-441c-8c8c-71466251a162
2008-12-10 15:38:47 +00:00
..
2008-12-03 22:48:44 +00:00
2008-11-05 16:04:33 +00:00
2007-11-17 17:14:51 +00:00
2008-12-03 22:48:44 +00:00
2008-05-12 16:13:33 +00:00
2007-11-17 17:14:51 +00:00
2008-06-13 10:48:22 +00:00
2008-04-08 06:01:02 +00:00
2008-04-08 06:01:02 +00:00
2007-11-17 17:14:51 +00:00
2008-12-09 20:09:57 +00:00
2008-12-02 17:47:02 +00:00
2008-12-03 22:48:44 +00:00
2007-11-17 17:14:51 +00:00
2008-11-05 20:24:35 +00:00
2008-10-31 17:25:56 +00:00
2008-04-11 04:55:07 +00:00
2008-12-09 20:09:57 +00:00
2007-11-17 17:14:51 +00:00
2008-12-02 17:47:02 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2008-12-03 22:48:44 +00:00
2008-12-02 17:47:02 +00:00
2008-12-02 17:47:02 +00:00
2008-03-21 18:05:23 +00:00
2004-11-07 18:04:02 +00:00
2004-11-07 18:04:02 +00:00
2008-10-04 07:22:29 +00:00
2008-12-07 23:26:24 +00:00
2007-11-17 17:14:51 +00:00
2008-10-28 10:59:59 +00:00
2008-12-03 22:48:44 +00:00
2007-11-17 17:14:51 +00:00
2008-12-07 22:46:42 +00:00
2007-11-18 14:36:08 +00:00
2007-11-17 17:14:51 +00:00
2008-10-31 17:25:56 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2008-10-28 10:59:59 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2008-10-28 10:59:59 +00:00
2008-10-28 10:59:59 +00:00
2008-10-28 10:59:59 +00:00
2008-10-28 10:59:59 +00:00
2008-12-07 23:26:09 +00:00
2008-12-04 20:33:06 +00:00
2008-12-10 15:02:07 +00:00
2008-12-09 20:09:57 +00:00
2008-12-07 22:46:42 +00:00
2008-12-10 15:02:07 +00:00
2007-11-17 17:14:51 +00:00
2008-12-02 17:47:02 +00:00
2008-12-03 22:48:44 +00:00
2008-12-04 21:34:52 +00:00
2008-12-07 23:00:00 +00:00
2008-10-04 07:20:07 +00:00
2008-10-28 10:59:59 +00:00
2007-11-17 17:14:51 +00:00
2008-10-28 10:59:59 +00:00
2007-11-17 17:14:51 +00:00
2007-11-24 23:35:08 +00:00
2007-11-17 17:14:51 +00:00
2008-10-02 19:14:17 +00:00
2008-12-07 22:46:42 +00:00
2008-12-07 23:26:24 +00:00
2008-10-28 10:59:59 +00:00
2008-12-03 22:48:44 +00:00
2008-12-02 17:47:02 +00:00
2008-06-02 00:55:08 +00:00
2008-04-14 21:05:22 +00:00
2007-11-17 17:14:51 +00:00
2008-12-07 22:46:42 +00:00
2008-12-07 22:46:49 +00:00
2008-10-31 17:25:56 +00:00
2008-12-02 17:47:02 +00:00
2008-12-02 17:47:02 +00:00
2008-11-05 20:24:35 +00:00
2008-12-07 22:46:42 +00:00
2007-11-17 17:14:51 +00:00
2008-12-02 17:47:02 +00:00
2007-11-17 17:14:51 +00:00
2008-07-02 16:48:32 +00:00
2008-12-02 17:47:02 +00:00
2008-11-02 10:51:05 +00:00
2008-11-05 19:25:39 +00:00
2008-12-02 17:47:02 +00:00
2008-10-02 19:14:17 +00:00
2008-12-03 22:48:44 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2008-04-22 03:15:10 +00:00
2007-11-17 17:14:51 +00:00
2007-11-17 17:14:51 +00:00
2008-12-09 20:09:57 +00:00
2008-12-04 20:33:06 +00:00
2008-12-04 20:33:06 +00:00
2008-12-04 19:52:44 +00:00
2008-12-04 19:52:44 +00:00
2007-11-17 17:14:51 +00:00
2008-12-03 22:48:44 +00:00