aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2014-12-29 09:45:15 -0500
committerKevin O'Connor <kevin@koconnor.net>2014-12-29 09:45:15 -0500
commitf0a22eb69ba62f937e5fb236d1a8ad9291ff81d6 (patch)
tree17a8f3f6cfa7117db44891423f09b2094f2f15d1
parentfeeb1c240a7ba7e064076cf533b35d4a4288e903 (diff)
downloadseabios-f0a22eb69ba62f937e5fb236d1a8ad9291ff81d6.zip
seabios-f0a22eb69ba62f937e5fb236d1a8ad9291ff81d6.tar.gz
seabios-f0a22eb69ba62f937e5fb236d1a8ad9291ff81d6.tar.bz2
scsi: Move process_scsi_op() to hw/blockcmd.c and rename
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
-rw-r--r--src/block.c27
-rw-r--r--src/hw/blockcmd.c19
-rw-r--r--src/hw/blockcmd.h1
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);