X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=dev%2Fide_disk.hh;h=f9a413e1ea2a011d925f03df75cfffa793645e11;hb=8bbaaa7478bdddcd098c4da97f4ac1ba5a97ee67;hp=409aaef9a3134f9da6bed4fdf865db4a4ecc4163;hpb=3f7b780af5530cc60228ebd3e895ab26d477614e;p=gem5.git diff --git a/dev/ide_disk.hh b/dev/ide_disk.hh index 409aaef9a..f9a413e1e 100644 --- a/dev/ide_disk.hh +++ b/dev/ide_disk.hh @@ -33,8 +33,9 @@ #ifndef __IDE_DISK_HH__ #define __IDE_DISK_HH__ -#include "dev/ide.hh" #include "dev/disk_image.hh" +#include "dev/ide_atareg.h" +#include "dev/ide_wdcreg.h" #include "dev/io_device.hh" #include "sim/eventq.hh" @@ -204,7 +205,7 @@ class IdeDisk : public SimObject private: /** Drive identification structure for this disk */ - struct hd_driveid driveID; + struct ataparams driveID; /** Data buffer for transfers */ uint8_t *dataBuffer; /** Number of bytes in command data transfer */ @@ -248,7 +249,7 @@ class IdeDisk : public SimObject * @param disk_delay The disk delay in milliseconds */ IdeDisk(const std::string &name, DiskImage *img, PhysicalMemory *phys, - int id, int disk_delay); + int id, Tick disk_delay); /** * Delete the data buffer. @@ -320,7 +321,7 @@ class IdeDisk : public SimObject // Utility functions bool isBSYSet() { return (status & STATUS_BSY_BIT); } bool isIENSet() { return nIENBit; } - bool isDEVSelect() { return ((cmdReg.drive & SELECT_DEV_BIT) == devID); } + bool isDEVSelect(); void setComplete() {