summaryrefslogtreecommitdiff
path: root/dev/ide_disk.cc
diff options
context:
space:
mode:
authorMiguel Serrano <mserrano@umich.edu>2005-07-01 15:10:18 -0400
committerMiguel Serrano <mserrano@umich.edu>2005-07-01 15:10:18 -0400
commit16a2357e8637fed706a94ab0da6226df8a2e7f07 (patch)
tree3ee9fbbcc2d24e19049bc2c23d61e95235210ee1 /dev/ide_disk.cc
parent8b042182626b94ed6380f0ba6b99c0e862aa710f (diff)
downloadgem5-16a2357e8637fed706a94ab0da6226df8a2e7f07.tar.xz
.
--HG-- extra : convert_revision : 1ed206b27498641b64d7f35c74ea1f0623398d4e
Diffstat (limited to 'dev/ide_disk.cc')
-rw-r--r--dev/ide_disk.cc60
1 files changed, 29 insertions, 31 deletions
diff --git a/dev/ide_disk.cc b/dev/ide_disk.cc
index 555eb023e..0d553fb83 100644
--- a/dev/ide_disk.cc
+++ b/dev/ide_disk.cc
@@ -211,8 +211,7 @@ IdeDisk::bytesInDmaPage(Addr curAddr, uint32_t bytesLeft)
uint16_t
IdeDisk::read(const Addr &offset, RegType_t type)
{
-
- uint16_t data;
+ uint16_t data = 0;
DevAction_t action = ACT_NONE;
if (type == COMMAND_BLOCK) {
@@ -222,34 +221,34 @@ IdeDisk::read(const Addr &offset, RegType_t type)
else if (offset == DATA_OFFSET)
action = ACT_DATA_READ_SHORT;
- switch (offset) {
- case DATA_OFFSET:
- data = cmdReg.data;
- break;
- case ERROR_OFFSET:
- data = cmdReg.error;
- break;
- case NSECTOR_OFFSET:
- data = cmdReg.sec_count;
- break;
- case SECTOR_OFFSET:
- data = cmdReg.sec_num;
- break;
- case LCYL_OFFSET:
- data = cmdReg.cyl_low;
- break;
- case HCYL_OFFSET:
- data = cmdReg.cyl_high;
- break;
- case SELECT_OFFSET:
- data = cmdReg.drive;
- break;
- case STATUS_OFFSET:
- data = status;
- break;
- default:
- panic("Invalid IDE command register offset: %#x\n", offset);
- }
+ switch (offset) {
+ case DATA_OFFSET:
+ data = cmdReg.data;
+ break;
+ case ERROR_OFFSET:
+ data = cmdReg.error;
+ break;
+ case NSECTOR_OFFSET:
+ data = cmdReg.sec_count;
+ break;
+ case SECTOR_OFFSET:
+ data = cmdReg.sec_num;
+ break;
+ case LCYL_OFFSET:
+ data = cmdReg.cyl_low;
+ break;
+ case HCYL_OFFSET:
+ data = cmdReg.cyl_high;
+ break;
+ case SELECT_OFFSET:
+ data = cmdReg.drive;
+ break;
+ case STATUS_OFFSET:
+ data = status;
+ break;
+ default:
+ panic("Invalid IDE command register offset: %#x\n", offset);
+ }
}
else if (type == CONTROL_BLOCK) {
if (offset != ALTSTAT_OFFSET)
@@ -262,7 +261,6 @@ IdeDisk::read(const Addr &offset, RegType_t type)
updateState(action);
return data;
-
}
void