diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2015-07-07 09:53:54 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2015-07-14 14:40:07 -0400 |
commit | 4dbe82905992f6c6b87ec79ce6b568c57304b0e5 (patch) | |
tree | cabd8bc35e9d2d80399714767f687bbdd6761c6c /src/block.h | |
parent | 85c72c6febbf7f4654c9ac57a8506dc5e1a5cba1 (diff) | |
download | seabios-hppa-4dbe82905992f6c6b87ec79ce6b568c57304b0e5.zip seabios-hppa-4dbe82905992f6c6b87ec79ce6b568c57304b0e5.tar.gz seabios-hppa-4dbe82905992f6c6b87ec79ce6b568c57304b0e5.tar.bz2 |
block: Route scsi style commands through 'struct disk_op_s'
Support sending scsi style "command data block" commands (cdbcmd)
through the 'struct disk_op_s' command request structure. And change
the blockcmd.c and cdrom.c code to route these commands through the
process_op() code.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/block.h')
-rw-r--r-- | src/block.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/block.h b/src/block.h index 2fa52bd..702f357 100644 --- a/src/block.h +++ b/src/block.h @@ -9,11 +9,19 @@ ****************************************************************/ struct disk_op_s { - u64 lba; void *buf_fl; struct drive_s *drive_gf; - u16 count; u8 command; + u16 count; + union { + // Commands: READ, WRITE, VERIFY, SEEK, FORMAT + u64 lba; + // Commands: SCSI + struct { + u16 blocksize; + void *cdbcmd; + }; + }; }; #define CMD_RESET 0x00 @@ -23,6 +31,7 @@ struct disk_op_s { #define CMD_FORMAT 0x05 #define CMD_SEEK 0x07 #define CMD_ISREADY 0x10 +#define CMD_SCSI 0x20 /**************************************************************** |