[SeaBIOS] [PATCH 2/4] scsi: Move process_scsi_op() to hw/blockcmd.c and rename

Kevin O'Connor kevin at koconnor.net
Mon Dec 29 16:08:18 CET 2014


Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
 src/block.c       | 27 ++++-----------------------
 src/hw/blockcmd.c | 19 +++++++++++++++++++
 src/hw/blockcmd.h |  1 +
 3 files changed, 24 insertions(+), 23 deletions(-)

diff --git a/src/block.c b/src/block.c
index c6d53c1..43af305 100644
--- a/src/block.c
+++ b/src/block.c
@@ -468,25 +468,6 @@ fill_edd(u16 seg, struct int13dpt_s *param_far, struct drive_s *drive_gf)
  ****************************************************************/
 
 int VISIBLE32FLAT
-process_scsi_op(struct disk_op_s *op)
-{
-    switch (op->command) {
-    case CMD_READ:
-        return cdb_read(op);
-    case CMD_WRITE:
-        return cdb_write(op);
-    case CMD_FORMAT:
-    case CMD_RESET:
-    case CMD_ISREADY:
-    case CMD_VERIFY:
-    case CMD_SEEK:
-        return DISK_RET_SUCCESS;
-    default:
-        return DISK_RET_EPARAM;
-    }
-}
-
-int VISIBLE32FLAT
 process_atapi_op(struct disk_op_s *op)
 {
     switch (op->command) {
@@ -494,7 +475,7 @@ process_atapi_op(struct disk_op_s *op)
     case CMD_FORMAT:
         return DISK_RET_EWRITEPROTECT;
     default:
-        return process_scsi_op(op);
+        return scsi_process_op(op);
     }
 }
 
@@ -545,13 +526,13 @@ process_op(struct disk_op_s *op)
     case DTYPE_LSI_SCSI:
     case DTYPE_ESP_SCSI:
     case DTYPE_MEGASAS:
-        ret = process_scsi_op(op);
+        ret = scsi_process_op(op);
         break;
     case DTYPE_USB_32:
     case DTYPE_UAS_32:
     case DTYPE_PVSCSI: ;
-        extern void _cfunc32flat_process_scsi_op(void);
-        ret = call32(_cfunc32flat_process_scsi_op
+        extern void _cfunc32flat_scsi_process_op(void);
+        ret = call32(_cfunc32flat_scsi_process_op
                      , (u32)MAKE_FLATPTR(GET_SEG(SS), op), DISK_RET_EPARAM);
         break;
     default:
diff --git a/src/hw/blockcmd.c b/src/hw/blockcmd.c
index bbcc08f..ad8814c 100644
--- a/src/hw/blockcmd.c
+++ b/src/hw/blockcmd.c
@@ -165,6 +165,25 @@ cdb_write(struct disk_op_s *op)
  * Main SCSI commands
  ****************************************************************/
 
+int VISIBLE32FLAT
+scsi_process_op(struct disk_op_s *op)
+{
+    switch (op->command) {
+    case CMD_READ:
+        return cdb_read(op);
+    case CMD_WRITE:
+        return cdb_write(op);
+    case CMD_FORMAT:
+    case CMD_RESET:
+    case CMD_ISREADY:
+    case CMD_VERIFY:
+    case CMD_SEEK:
+        return DISK_RET_SUCCESS;
+    default:
+        return DISK_RET_EPARAM;
+    }
+}
+
 int
 scsi_is_ready(struct disk_op_s *op)
 {
diff --git a/src/hw/blockcmd.h b/src/hw/blockcmd.h
index 8bacfcf..429b669 100644
--- a/src/hw/blockcmd.h
+++ b/src/hw/blockcmd.h
@@ -111,6 +111,7 @@ int cdb_inquiry(struct disk_op_s *op, struct cdbres_inquiry *data);
 int cdb_read(struct disk_op_s *op);
 int cdb_write(struct disk_op_s *op);
 
+int scsi_process_op(struct disk_op_s *op);
 int scsi_is_ready(struct disk_op_s *op);
 struct drive_s;
 int scsi_drive_setup(struct drive_s *drive, const char *s, int prio);
-- 
1.9.3




More information about the SeaBIOS mailing list