diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2009-08-16 18:48:38 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2009-08-16 18:48:38 -0400 |
commit | af5aabb09f2ee803ab25bdcd2c44522cdb49f5fe (patch) | |
tree | 574a46dc5fc24a4bef3a66586a5c9069c816fae0 /src/ata.c | |
parent | 48410fdcc11a72b2a463639c8a65f3a42e157a1b (diff) | |
download | seabios-hppa-af5aabb09f2ee803ab25bdcd2c44522cdb49f5fe.zip seabios-hppa-af5aabb09f2ee803ab25bdcd2c44522cdb49f5fe.tar.gz seabios-hppa-af5aabb09f2ee803ab25bdcd2c44522cdb49f5fe.tar.bz2 |
Unify floppy and harddrive command routing.
Implement low-level floppy commands using the disk_op structure.
The requests can then be filled using the regular disk_13xx functions.
Diffstat (limited to 'src/ata.c')
-rw-r--r-- | src/ata.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -149,13 +149,18 @@ process_ata_misc_op(struct disk_op_s *op) return 0; switch (op->command) { - default: - return 0; case CMD_RESET: ata_reset(op->driveid); return DISK_RET_SUCCESS; case CMD_ISREADY: return isready(op->driveid); + case CMD_FORMAT: + case CMD_VERIFY: + case CMD_SEEK: + return DISK_RET_SUCCESS; + default: + op->count = 0; + return DISK_RET_EPARAM; } } @@ -449,6 +454,9 @@ process_atapi_op(struct disk_op_s *op) case CMD_READ: ret = cdrom_read(op); break; + case CMD_FORMAT: + case CMD_WRITE: + return DISK_RET_EWRITEPROTECT; default: return process_ata_misc_op(op); } |