diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-08-09 19:17:11 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-08-09 19:17:11 -0400 |
commit | 3f6c278a595c9db1fef59afbacaee2d56c73f887 (patch) | |
tree | cc001f5a9bf98a52d2572b576fc2b81ae9581a5a /src/cdrom.c | |
parent | 9ae1e9b2c89912920a37d6e1593d4faa90a68e4b (diff) | |
download | seabios-3f6c278a595c9db1fef59afbacaee2d56c73f887.tar.gz |
Route disk_op commands by drive type - not by command.
Don't confuse op->command with low-level ata cmd->command.
Modify __send_disk_op to route commands by drive type.
Add commands for verify and seek operations.
Do ata resets via disk_op also.
Diffstat (limited to 'src/cdrom.c')
-rw-r--r-- | src/cdrom.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cdrom.c b/src/cdrom.c index 443ce14b..2cb3f0f9 100644 --- a/src/cdrom.c +++ b/src/cdrom.c @@ -183,13 +183,13 @@ cdrom_13(struct bregs *regs, u8 device) static void cdemu_1302(struct bregs *regs, u8 device) { - cdemu_access(regs, device, ATA_CMD_READ_SECTORS); + cdemu_access(regs, device, CMD_READ); } static void cdemu_1304(struct bregs *regs, u8 device) { - cdemu_access(regs, device, 0); + cdemu_access(regs, device, CMD_VERIFY); } // read disk drive parameters @@ -414,6 +414,7 @@ cdrom_boot(int cdid) // Read the Boot Record Volume Descriptor u8 buffer[2048]; struct disk_op_s dop; + memset(&dop, 0, sizeof(dop)); dop.driveid = driveid; dop.lba = 0x11; dop.count = 1; |