summaryrefslogtreecommitdiff
path: root/dev/ide_disk.hh
diff options
context:
space:
mode:
authorBenjamin Nash <benash@umich.edu>2005-07-13 12:30:13 -0400
committerBenjamin Nash <benash@umich.edu>2005-07-13 12:30:13 -0400
commit32b52fe7126091692c0a76314bb3692fa3f70d27 (patch)
tree70a8172ea171a31ffc88c683eadeb1a9f1175c9a /dev/ide_disk.hh
parent6d7911dea0a4f60cbe6726416a9e3248843cc03b (diff)
downloadgem5-32b52fe7126091692c0a76314bb3692fa3f70d27.tar.xz
Various changes to m5/dev files to work with FreeBSD.
dev/ide_ctrl.cc: dev/ide_disk.cc: dev/pcidev.cc: Made endian-independent. dev/ide_disk.hh: fixed. dev/pciconfigall.cc: The data to write is contained in a 32-bit unsigned int now. The union method would not have worked on big-endian machines. dev/pcidev.hh: Fixed typo. dev/tsunami_io.cc: Return zero on RTC alarm reads. dev/uart8250.cc: Fix uart interrupt handling. --HG-- extra : convert_revision : b5c08e8e77644c399c20888666406805ff1b6649
Diffstat (limited to 'dev/ide_disk.hh')
-rw-r--r--dev/ide_disk.hh8
1 files changed, 3 insertions, 5 deletions
diff --git a/dev/ide_disk.hh b/dev/ide_disk.hh
index 0fcd863ec..9799e2d38 100644
--- a/dev/ide_disk.hh
+++ b/dev/ide_disk.hh
@@ -84,6 +84,7 @@ class PrdTableEntry {
#define LCYL_OFFSET (4)
#define HCYL_OFFSET (5)
#define SELECT_OFFSET (6)
+#define DRIVE_OFFSET (6)
#define STATUS_OFFSET (7)
#define COMMAND_OFFSET (7)
@@ -105,10 +106,7 @@ class PrdTableEntry {
typedef struct CommandReg {
uint16_t data;
- union {
- uint8_t error;
- uint8_t features;
- };
+ uint8_t error;
uint8_t sec_count;
uint8_t sec_num;
uint8_t cyl_low;
@@ -272,7 +270,7 @@ class IdeDisk : public SimObject
}
// Device register read/write
- uint16_t read(const Addr &offset, RegType_t type);
+ void read(const Addr &offset, RegType_t type, uint8_t *data);
void write(const Addr &offset, bool byte, bool cmdBlk, const uint8_t *data);
// Start/abort functions