diff mbox

[RFC,09/11] ide: ide_bridge_do_transfer is treated as PIO transfer

Message ID 1439854945-5597-10-git-send-email-abezzubikov@ispras.ru
State New
Headers show

Commit Message

Aleksandr Bezzubikov Aug. 17, 2015, 11:42 p.m. UTC
Signed-off-by: Alexander Bezzubikov <abezzubikov@ispras.ru>
---
 hw/ide/bridge.c | 2 +-
 hw/ide/bridge.h | 1 +
 hw/ide/core.c   | 4 +++-
 3 files changed, 5 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/hw/ide/bridge.c b/hw/ide/bridge.c
index 3a534de..4a5251b 100644
--- a/hw/ide/bridge.c
+++ b/hw/ide/bridge.c
@@ -1,6 +1,6 @@ 
 #include "hw/ide/bridge.h"
 
-static void ide_bridge_do_transfer(IDEState *s)
+void ide_bridge_do_transfer(IDEState *s)
 {
     SCSIDiskReq *r = DO_UPCAST(SCSIDiskReq, req, s->cur_req);
 
diff --git a/hw/ide/bridge.h b/hw/ide/bridge.h
index dca5d73..59f2f25 100644
--- a/hw/ide/bridge.h
+++ b/hw/ide/bridge.h
@@ -5,5 +5,6 @@ 
 
 void ide_bridge_start_transfer(SCSIRequest *req, uint32_t len);
 void ide_bridge_complete(SCSIRequest *req, uint32_t status, size_t resid);
+void ide_bridge_do_transfer(IDEState *s);
 
 #endif
diff --git a/hw/ide/core.c b/hw/ide/core.c
index d017d4e..99b955b 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -34,6 +34,7 @@ 
 #include "sysemu/block-backend.h"
 
 #include <hw/ide/internal.h>
+#include "hw/ide/bridge.h"
 
 /* These values were based on a Seagate ST3500418AS but have been modified
    to make more sense in QEMU */
@@ -2002,7 +2003,8 @@  static bool ide_is_pio_out(IDEState *s)
     } else if (s->end_transfer_func == ide_sector_read ||
                s->end_transfer_func == ide_transfer_stop ||
                s->end_transfer_func == ide_atapi_cmd_reply_end ||
-               s->end_transfer_func == ide_dummy_transfer_stop) {
+               s->end_transfer_func == ide_dummy_transfer_stop ||
+               s->end_transfer_func == ide_bridge_do_transfer) {
         return true;
     }