diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2010-02-17 23:24:42 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2010-02-17 23:24:42 -0500 |
commit | 7149fc813139cf564a4456815461c18a8b208e89 (patch) | |
tree | b0866113b1380d34b1d9e1d4a1ffd8fc375f289f /src/block.c | |
parent | 3c160dde75b9920f048d4276026d680d0f582dc9 (diff) | |
download | seabios-7149fc813139cf564a4456815461c18a8b208e89.tar.gz |
Initial support for booting from USB drives.
This patch adds initial support for USB Mass Storage Controllers.
This includes support for bulk transfers on UHCI controllers.
Code to detect a USB MSC device is added, and wrappers for sending
"cdb" block commands over USB are added.
The scsi "inquiry" command is also added.
Diffstat (limited to 'src/block.c')
-rw-r--r-- | src/block.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/block.c b/src/block.c index 365053eb..3b43f97a 100644 --- a/src/block.c +++ b/src/block.c @@ -10,6 +10,7 @@ #include "cmos.h" // inb_cmos #include "util.h" // dprintf #include "ata.h" // process_ata_op +#include "usb-msc.h" // process_usb_op struct drives_s Drives VAR16VISIBLE; @@ -280,6 +281,9 @@ describe_drive(struct drive_s *drive_g) case DTYPE_RAMDISK: describe_ramdisk(drive_g); break; + case DTYPE_USB: + describe_usb(drive_g); + break; default: printf("Unknown"); break; @@ -308,6 +312,8 @@ process_op(struct disk_op_s *op) return process_ramdisk_op(op); case DTYPE_CDEMU: return process_cdemu_op(op); + case DTYPE_USB: + return process_usb_op(op); default: op->count = 0; return DISK_RET_EPARAM; |