gem5
v20.1.0.0
|
IDE Disk device model. More...
#include <ide_disk.hh>
Public Types | |
typedef IdeDiskParams | Params |
Public Types inherited from SimObject | |
typedef SimObjectParams | Params |
Public Member Functions | |
IdeDisk (const Params *p) | |
~IdeDisk () | |
Delete the data buffer. More... | |
void | reset (int id) |
Reset the device state. More... | |
void | regStats () override |
Register Statistics. More... | |
void | setController (IdeController *c, Addr page_bytes) |
Set the controller for this device. More... | |
void | readCommand (const Addr offset, int size, uint8_t *data) |
void | readControl (const Addr offset, int size, uint8_t *data) |
void | writeCommand (const Addr offset, int size, const uint8_t *data) |
void | writeControl (const Addr offset, int size, const uint8_t *data) |
void | startDma (const uint32_t &prdTableBase) |
void | abortDma () |
Public Member Functions inherited from SimObject | |
const Params * | params () const |
SimObject (const Params *_params) | |
virtual | ~SimObject () |
virtual const std::string | name () const |
virtual void | init () |
init() is called after all C++ SimObjects have been created and all ports are connected. More... | |
virtual void | loadState (CheckpointIn &cp) |
loadState() is called on each SimObject when restoring from a checkpoint. More... | |
virtual void | initState () |
initState() is called on each SimObject when not restoring from a checkpoint. More... | |
virtual void | regProbePoints () |
Register probe points for this object. More... | |
virtual void | regProbeListeners () |
Register probe listeners for this object. More... | |
ProbeManager * | getProbeManager () |
Get the probe manager for this object. More... | |
virtual Port & | getPort (const std::string &if_name, PortID idx=InvalidPortID) |
Get a port with a given name and index. More... | |
virtual void | startup () |
startup() is the final initialization call before simulation. More... | |
DrainState | drain () override |
Provide a default implementation of the drain interface for objects that don't need draining. More... | |
virtual void | memWriteback () |
Write back dirty buffers to memory using functional writes. More... | |
virtual void | memInvalidate () |
Invalidate the contents of memory buffers. More... | |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
Public Member Functions inherited from EventManager | |
EventQueue * | eventQueue () const |
void | schedule (Event &event, Tick when) |
void | deschedule (Event &event) |
void | reschedule (Event &event, Tick when, bool always=false) |
void | schedule (Event *event, Tick when) |
void | deschedule (Event *event) |
void | reschedule (Event *event, Tick when, bool always=false) |
void | wakeupEventQueue (Tick when=(Tick) -1) |
This function is not needed by the usual gem5 event loop but may be necessary in derived EventQueues which host gem5 on other schedulers. More... | |
void | setCurTick (Tick newVal) |
EventManager (EventManager &em) | |
Event manger manages events in the event queue. More... | |
EventManager (EventManager *em) | |
EventManager (EventQueue *eq) | |
Public Member Functions inherited from Serializable | |
Serializable () | |
virtual | ~Serializable () |
void | serializeSection (CheckpointOut &cp, const char *name) const |
Serialize an object into a new section. More... | |
void | serializeSection (CheckpointOut &cp, const std::string &name) const |
void | unserializeSection (CheckpointIn &cp, const char *name) |
Unserialize an a child object. More... | |
void | unserializeSection (CheckpointIn &cp, const std::string &name) |
Public Member Functions inherited from Drainable | |
DrainState | drainState () const |
Return the current drain state of an object. More... | |
virtual void | notifyFork () |
Notify a child process of a fork. More... | |
Public Member Functions inherited from Stats::Group | |
Group (Group *parent, const char *name=nullptr) | |
Construct a new statistics group. More... | |
virtual | ~Group () |
virtual void | resetStats () |
Callback to reset stats. More... | |
virtual void | preDumpStats () |
Callback before stats are dumped. More... | |
void | addStat (Stats::Info *info) |
Register a stat with this group. More... | |
const std::map< std::string, Group * > & | getStatGroups () const |
Get all child groups associated with this object. More... | |
const std::vector< Info * > & | getStats () const |
Get all stats associated with this object. More... | |
void | addStatGroup (const char *name, Group *block) |
Add a stat block as a child of this block. More... | |
const Info * | resolveStat (std::string name) const |
Resolve a stat by its name within this group. More... | |
Group ()=delete | |
Group (const Group &)=delete | |
Group & | operator= (const Group &)=delete |
Protected Attributes | |
IdeController * | ctrl |
The IDE controller for this disk. More... | |
DiskImage * | image |
The image that contains the data of this disk. More... | |
int | diskDelay |
The disk delay in microseconds. More... | |
Protected Attributes inherited from SimObject | |
const SimObjectParams * | _params |
Cached copy of the object parameters. More... | |
Protected Attributes inherited from EventManager | |
EventQueue * | eventq |
A pointer to this object's event queue. More... | |
Private Member Functions | |
void | startCommand () |
void | intrPost () |
void | intrClear () |
void | doDmaTransfer () |
void | doDmaDataRead () |
void | doDmaRead () |
void | doDmaDataWrite () |
void | doDmaWrite () |
void | dmaPrdReadDone () |
void | dmaReadDone () |
void | dmaWriteDone () |
void | readDisk (uint32_t sector, uint8_t *data) |
void | writeDisk (uint32_t sector, uint8_t *data) |
void | updateState (DevAction_t action) |
bool | isBSYSet () |
bool | isIENSet () |
bool | isDEVSelect () |
void | setComplete () |
uint32_t | getLBABase () |
Addr | pciToDma (Addr pciAddr) |
void | serialize (CheckpointOut &cp) const override |
Serialize an object. More... | |
void | unserialize (CheckpointIn &cp) override |
Unserialize an object. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from SimObject | |
static void | serializeAll (CheckpointOut &cp) |
Serialize all SimObjects in the system. More... | |
static SimObject * | find (const char *name) |
Find the SimObject with the given name and return a pointer to it. More... | |
Static Public Member Functions inherited from Serializable | |
static const std::string & | currentSection () |
Gets the fully-qualified name of the active section. More... | |
static void | serializeAll (const std::string &cpt_dir) |
Serializes all the SimObjects. More... | |
static void | unserializeGlobals (CheckpointIn &cp) |
Protected Member Functions inherited from Drainable | |
Drainable () | |
virtual | ~Drainable () |
virtual void | drainResume () |
Resume execution after a successful drain. More... | |
void | signalDrainDone () const |
Signal that an object is drained. More... | |
IDE Disk device model.
Definition at line 205 of file ide_disk.hh.
typedef IdeDiskParams IdeDisk::Params |
Definition at line 263 of file ide_disk.hh.
IdeDisk::IdeDisk | ( | const Params * | p | ) |
Definition at line 61 of file ide_disk.cc.
References doDmaTransfer().
IdeDisk::~IdeDisk | ( | ) |
void IdeDisk::abortDma | ( | ) |
Definition at line 610 of file ide_disk.cc.
References ACT_CMD_ERROR, devState, Dma_Idle, dmaState, panic, Prepare_Data_Dma, Transfer_Data_Dma, and updateState().
|
private |
Definition at line 354 of file ide_disk.cc.
References ACT_CMD_ERROR, cmdBytesLeft, curPrd, curPrdAddr, curSector, dmaAborted, dmaRead, doDmaDataRead(), doDmaDataWrite(), DPRINTF, PrdTableEntry::getBaseAddr(), PrdTableEntry::getByteCount(), PrdTableEntry::getEOT(), pciToDma(), SectorSize, and updateState().
|
private |
Definition at line 462 of file ide_disk.cc.
References ACT_DMA_DONE, cmdBytesLeft, curPrd, curSector, dataBuffer, Dma_Idle, dmaState, doDmaTransfer(), PrdTableEntry::getByteCount(), PrdTableEntry::getEOT(), SectorSize, updateState(), and writeDisk().
Referenced by doDmaRead().
|
private |
Definition at line 549 of file ide_disk.cc.
References ACT_DMA_DONE, cmdBytesLeft, curPrd, Dma_Idle, dmaState, doDmaTransfer(), DPRINTF, PrdTableEntry::getByteCount(), PrdTableEntry::getEOT(), and updateState().
Referenced by doDmaWrite().
|
private |
Definition at line 378 of file ide_disk.cc.
References curPrd, curTick(), diskDelay, dmaReadWaitEvent, DPRINTF, PrdTableEntry::getByteCount(), EventManager::schedule(), and SectorSize.
Referenced by dmaPrdReadDone().
|
private |
Definition at line 485 of file ide_disk.cc.
References cmdBytesLeft, curPrd, curSector, curTick(), dataBuffer, diskDelay, dmaWriteWaitEvent, DPRINTF, PrdTableEntry::getByteCount(), MAX_DMA_SIZE, readDisk(), EventManager::schedule(), and SectorSize.
Referenced by dmaPrdReadDone().
|
private |
Definition at line 423 of file ide_disk.cc.
References ACT_CMD_ERROR, ChunkGenerator::addr(), ChunkGenerator::complete(), ctrl, curPrd, curTick(), dataBuffer, DMA_BACKOFF_PERIOD, dmaAborted, DmaDevice::dmaPending(), DmaDevice::dmaRead(), dmaReadBytes, dmaReadCG, dmaReadDone(), dmaReadFullPages, dmaReadTxs, dmaReadWaitEvent, ChunkGenerator::done(), DPRINTF, Drainable::drainState(), PrdTableEntry::getBaseAddr(), PrdTableEntry::getByteCount(), MAX_DMA_SIZE, ChunkGenerator::next(), pageBytes, pciToDma(), Running, EventManager::schedule(), ChunkGenerator::size(), and updateState().
|
private |
Definition at line 333 of file ide_disk.cc.
References ACT_CMD_ERROR, ctrl, curPrd, curPrdAddr, curTick(), devState, DMA_BACKOFF_PERIOD, Dma_Transfer, dmaAborted, DmaDevice::dmaPending(), dmaPrdReadEvent, DmaDevice::dmaRead(), dmaState, dmaTransferEvent, DPRINTF, Drainable::drainState(), PrdTableEntry::entry, panic, Running, EventManager::schedule(), Transfer_Data_Dma, and updateState().
Referenced by dmaReadDone(), dmaWriteDone(), and IdeDisk().
|
private |
Definition at line 508 of file ide_disk.cc.
References ACT_CMD_ERROR, ChunkGenerator::addr(), ChunkGenerator::complete(), ctrl, curPrd, curTick(), dataBuffer, DMA_BACKOFF_PERIOD, dmaAborted, DmaDevice::dmaPending(), DmaDevice::dmaWrite(), dmaWriteBytes, dmaWriteCG, dmaWriteDone(), dmaWriteFullPages, dmaWriteTxs, dmaWriteWaitEvent, ChunkGenerator::done(), DPRINTF, Drainable::drainState(), PrdTableEntry::getBaseAddr(), PrdTableEntry::getByteCount(), PrdTableEntry::getEOT(), MAX_DMA_SIZE, ChunkGenerator::next(), pageBytes, pciToDma(), Running, EventManager::schedule(), ChunkGenerator::size(), and updateState().
|
inlineprivate |
Definition at line 357 of file ide_disk.hh.
References cmdReg, CommandReg::cyl_high, CommandReg::cyl_low, CommandReg::head, and CommandReg::sec_num.
Referenced by startCommand().
|
private |
Definition at line 753 of file ide_disk.cc.
References ctrl, DPRINTF, PciDevice::intrClear(), intrPending, and panic.
Referenced by updateState().
|
private |
Definition at line 738 of file ide_disk.cc.
References ctrl, DPRINTF, intrPending, IdeController::intrPost(), and panic.
Referenced by updateState().
|
inlineprivate |
Definition at line 343 of file ide_disk.hh.
References status, and STATUS_BSY_BIT.
|
private |
Definition at line 186 of file ide_disk.cc.
References ctrl, and IdeController::isDiskSelected().
Referenced by updateState().
|
inlineprivate |
Definition at line 192 of file ide_disk.cc.
References ctrl, panic, and PciDevice::pciToDma().
Referenced by dmaPrdReadDone(), doDmaRead(), doDmaWrite(), and startDma().
void IdeDisk::readCommand | ( | const Addr | offset, |
int | size, | ||
uint8_t * | data | ||
) |
Definition at line 205 of file ide_disk.cc.
References ACT_DATA_READ_SHORT, ACT_STAT_READ, cmdReg, CommandReg::cyl_high, CommandReg::cyl_low, data, CommandReg::data, DATA_OFFSET, DPRINTF, CommandReg::drive, DRIVE_OFFSET, CommandReg::error, ERROR_OFFSET, HCYL_OFFSET, LCYL_OFFSET, NSECTOR_OFFSET, ArmISA::offset, panic, CommandReg::sec_count, CommandReg::sec_num, SECTOR_OFFSET, status, STATUS_OFFSET, and updateState().
void IdeDisk::readControl | ( | const Addr | offset, |
int | size, | ||
uint8_t * | data | ||
) |
Definition at line 251 of file ide_disk.cc.
References ALTSTAT_OFFSET, data, DPRINTF, ArmISA::offset, panic, and status.
|
private |
Definition at line 568 of file ide_disk.cc.
References data, image, SimObject::name(), panic, DiskImage::read(), and SectorSize.
Referenced by doDmaDataWrite(), and updateState().
|
overridevirtual |
Register Statistics.
Reimplemented from Stats::Group.
Definition at line 390 of file ide_disk.cc.
References Stats::DataWrap< Derived, InfoProxyType >::desc(), dmaReadBytes, dmaReadFullPages, dmaReadTxs, dmaWriteBytes, dmaWriteFullPages, dmaWriteTxs, SimObject::name(), Stats::DataWrap< Derived, InfoProxyType >::name(), and Stats::Group::regStats().
void IdeDisk::reset | ( | int | id | ) |
Reset the device state.
Definition at line 142 of file ide_disk.cc.
References cmdBytes, cmdBytesLeft, cmdReg, curPrd, curPrdAddr, curSector, dataBuffer, DEV0, DEV1, Device_Idle_NS, Device_Idle_S, devID, devState, Dma_Idle, dmaAborted, dmaRead, dmaState, drqBytesLeft, PrdTableEntry::entry, CommandReg::error, intrPending, MAX_DMA_SIZE, panic, status, and STATUS_DRDY_BIT.
Referenced by updateState().
|
overrideprivatevirtual |
Serialize an object.
Output an object's state into the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 1071 of file ide_disk.cc.
References PrdEntry::baseAddr, PrdEntry::byteCount, cmdBytes, cmdBytesLeft, cmdReg, CommandReg::command, curPrd, curPrdAddr, curSector, CommandReg::cyl_high, CommandReg::cyl_low, CommandReg::data, dataBuffer, devID, devState, dmaAborted, dmaPrdReadEvent, DmaRead, dmaRead, dmaReadEvent, dmaReadWaitEvent, dmaState, dmaTransferEvent, DmaWrite, dmaWriteEvent, dmaWriteWaitEvent, CommandReg::drive, drqBytesLeft, PrdEntry::endOfTable, PrdTableEntry::entry, MipsISA::event, intrPending, MAX_DMA_SIZE, nIENBit, None, PrdRead, ReadWait, EventManager::reschedule(), Event::scheduled(), CommandReg::sec_count, CommandReg::sec_num, SERIALIZE_ARRAY, SERIALIZE_ENUM, SERIALIZE_SCALAR, status, Transfer, Event::when(), and WriteWait.
|
inlineprivate |
Definition at line 347 of file ide_disk.hh.
References status, STATUS_DRDY_BIT, and STATUS_SEEK_BIT.
Referenced by updateState().
|
inline |
|
private |
Definition at line 622 of file ide_disk.cc.
References ACT_CMD_COMPLETE, ACT_DATA_READY, ACT_DMA_READY, ACT_NONE, ATAPI_IDENTIFY_DEVICE, cmdBytes, cmdBytesLeft, cmdReg, CommandReg::command, Command_Execution, curSector, CommandReg::cyl_high, CommandReg::cyl_low, devState, dmaRead, DPRINTF, CommandReg::drive, DRIVE_LBA_BIT, getLBABase(), CommandReg::head, image, M5_FALLTHROUGH, panic, Prepare_Data_Dma, Prepare_Data_In, Prepare_Data_Out, CommandReg::sec_count, CommandReg::sec_num, SectorSize, SET_FEATURES, DiskImage::size(), status, STATUS_BSY_BIT, STATUS_DF_BIT, STATUS_DRQ_BIT, updateState(), WDCC_FLUSHCACHE, WDCC_IDENTIFY, WDCC_IDLE, WDCC_IDP, WDCC_READ, WDCC_READDMA, WDCC_READMULTI, WDCC_RECAL, WDCC_SETMULTI, WDCC_STANDBY_IMMED, WDCC_WRITE, WDCC_WRITEDMA, WDCC_WRITEMULTI, WDSF_READ_NATIVE_MAX, WDSF_SEEK, and WDSF_VERIFY.
Referenced by updateState().
void IdeDisk::startDma | ( | const uint32_t & | prdTableBase | ) |
Definition at line 592 of file ide_disk.cc.
References curPrdAddr, curTick(), devState, Dma_Start, Dma_Transfer, dmaState, dmaTransferEvent, panic, pciToDma(), EventManager::schedule(), Transfer_Data_Dma, and ULL.
|
overrideprivatevirtual |
Unserialize an object.
Read an object's state from the current checkpoint section.
cp | Checkpoint state |
Implements Serializable.
Definition at line 1149 of file ide_disk.cc.
References PrdEntry::baseAddr, PrdEntry::byteCount, cmdBytes, cmdBytesLeft, cmdReg, CommandReg::command, curPrd, curPrdAddr, curSector, CommandReg::cyl_high, CommandReg::cyl_low, CommandReg::data, dataBuffer, devID, devState, dmaAborted, dmaPrdReadEvent, DmaRead, dmaRead, dmaReadEvent, dmaReadWaitEvent, dmaState, dmaTransferEvent, DmaWrite, dmaWriteEvent, dmaWriteWaitEvent, CommandReg::drive, drqBytesLeft, PrdEntry::endOfTable, PrdTableEntry::entry, MipsISA::event, intrPending, MAX_DMA_SIZE, nIENBit, None, PrdRead, ReadWait, EventManager::reschedule(), EventManager::schedule(), CommandReg::sec_count, CommandReg::sec_num, status, Transfer, UNSERIALIZE_ARRAY, UNSERIALIZE_ENUM, UNSERIALIZE_SCALAR, and WriteWait.
|
private |
Definition at line 771 of file ide_disk.cc.
References ACT_CMD_COMPLETE, ACT_CMD_ERROR, ACT_CMD_WRITE, ACT_DATA_READ_BYTE, ACT_DATA_READ_SHORT, ACT_DATA_READY, ACT_DATA_WRITE_BYTE, ACT_DATA_WRITE_SHORT, ACT_DMA_DONE, ACT_DMA_READY, ACT_SELECT_WRITE, ACT_SRST_CLEAR, ACT_SRST_SET, ACT_STAT_READ, ATAPI_IDENTIFY_DEVICE, cmdBytes, cmdBytesLeft, cmdReg, CommandReg::command, Command_Execution, ctrl, curSector, CommandReg::data, Data_Ready_INTRQ_In, Data_Ready_INTRQ_Out, dataBuffer, Device_Dma_Abort, Device_Idle_NS, Device_Idle_S, Device_Idle_SI, Device_Srst, devID, devState, Dma_Idle, Dma_Start, dmaAborted, dmaState, DPRINTF, driveID, drqBytesLeft, intrClear(), intrPending, intrPost(), isDEVSelect(), isIENSet(), MAX_DMA_SIZE, panic, Prepare_Data_Dma, Prepare_Data_In, Prepare_Data_Out, readDisk(), reset(), SectorSize, setComplete(), IdeController::setDmaComplete(), startCommand(), status, STATUS_BSY_BIT, STATUS_DRQ_BIT, STATUS_SEEK_BIT, Transfer_Data_Dma, Transfer_Data_In, Transfer_Data_Out, WDCC_IDENTIFY, and writeDisk().
Referenced by abortDma(), dmaPrdReadDone(), dmaReadDone(), dmaWriteDone(), doDmaRead(), doDmaTransfer(), doDmaWrite(), readCommand(), startCommand(), writeCommand(), and writeControl().
void IdeDisk::writeCommand | ( | const Addr | offset, |
int | size, | ||
const uint8_t * | data | ||
) |
Definition at line 261 of file ide_disk.cc.
References ACT_CMD_WRITE, ACT_DATA_WRITE_SHORT, ACT_SELECT_WRITE, cmdReg, CommandReg::command, COMMAND_OFFSET, CommandReg::cyl_high, CommandReg::cyl_low, data, CommandReg::data, DATA_OFFSET, DPRINTF, CommandReg::drive, DRIVE_OFFSET, FEATURES_OFFSET, HCYL_OFFSET, LCYL_OFFSET, NSECTOR_OFFSET, ArmISA::offset, panic, CommandReg::sec_count, CommandReg::sec_num, SECTOR_OFFSET, and updateState().
void IdeDisk::writeControl | ( | const Addr | offset, |
int | size, | ||
const uint8_t * | data | ||
) |
Definition at line 309 of file ide_disk.cc.
References ACT_SRST_CLEAR, ACT_SRST_SET, CONTROL_IEN_BIT, CONTROL_OFFSET, CONTROL_RST_BIT, data, Device_Srst, devState, DPRINTF, nIENBit, ArmISA::offset, panic, and updateState().
|
private |
Definition at line 578 of file ide_disk.cc.
References data, image, SimObject::name(), panic, SectorSize, and DiskImage::write().
Referenced by dmaReadDone(), and updateState().
|
private |
Number of bytes in command data transfer.
Definition at line 223 of file ide_disk.hh.
Referenced by reset(), serialize(), startCommand(), unserialize(), and updateState().
|
private |
Number of bytes left in command data transfer.
Definition at line 225 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), dmaReadDone(), dmaWriteDone(), doDmaDataWrite(), reset(), serialize(), startCommand(), unserialize(), and updateState().
|
private |
Command block registers.
Definition at line 231 of file ide_disk.hh.
Referenced by getLBABase(), readCommand(), reset(), serialize(), startCommand(), unserialize(), updateState(), and writeCommand().
|
protected |
The IDE controller for this disk.
Definition at line 209 of file ide_disk.hh.
Referenced by doDmaRead(), doDmaTransfer(), doDmaWrite(), intrClear(), intrPost(), isDEVSelect(), pciToDma(), setController(), and updateState().
|
private |
PRD entry.
Definition at line 247 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), dmaReadDone(), dmaWriteDone(), doDmaDataRead(), doDmaDataWrite(), doDmaRead(), doDmaTransfer(), doDmaWrite(), reset(), serialize(), and unserialize().
|
private |
PRD table base address.
Definition at line 245 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), doDmaTransfer(), reset(), serialize(), startDma(), and unserialize().
|
private |
Current sector in access.
Definition at line 229 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), dmaReadDone(), doDmaDataWrite(), reset(), serialize(), startCommand(), unserialize(), and updateState().
|
private |
Data buffer for transfers.
Definition at line 221 of file ide_disk.hh.
Referenced by dmaReadDone(), doDmaDataWrite(), doDmaRead(), doDmaWrite(), reset(), serialize(), unserialize(), updateState(), and ~IdeDisk().
|
private |
Device ID (device0=0/device1=1)
Definition at line 249 of file ide_disk.hh.
Referenced by reset(), serialize(), unserialize(), and updateState().
|
private |
Device state.
Definition at line 237 of file ide_disk.hh.
Referenced by abortDma(), doDmaTransfer(), reset(), serialize(), startCommand(), startDma(), unserialize(), updateState(), and writeControl().
|
protected |
The disk delay in microseconds.
Definition at line 215 of file ide_disk.hh.
Referenced by doDmaDataRead(), and doDmaDataWrite().
|
private |
DMA Aborted.
Definition at line 253 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), doDmaRead(), doDmaTransfer(), doDmaWrite(), reset(), serialize(), unserialize(), and updateState().
|
private |
Definition at line 327 of file ide_disk.hh.
Referenced by doDmaTransfer(), serialize(), and unserialize().
|
private |
Dma transaction is a read.
Definition at line 241 of file ide_disk.hh.
Referenced by dmaPrdReadDone(), reset(), serialize(), startCommand(), and unserialize().
|
private |
Definition at line 256 of file ide_disk.hh.
Referenced by doDmaRead(), and regStats().
|
private |
Definition at line 317 of file ide_disk.hh.
Referenced by doDmaRead().
|
private |
Definition at line 330 of file ide_disk.hh.
Referenced by serialize(), and unserialize().
|
private |
Definition at line 255 of file ide_disk.hh.
Referenced by doDmaRead(), and regStats().
|
private |
Definition at line 257 of file ide_disk.hh.
Referenced by doDmaRead(), and regStats().
|
private |
Definition at line 318 of file ide_disk.hh.
Referenced by doDmaDataRead(), doDmaRead(), serialize(), and unserialize().
|
private |
Dma state.
Definition at line 239 of file ide_disk.hh.
Referenced by abortDma(), dmaReadDone(), dmaWriteDone(), doDmaTransfer(), reset(), serialize(), startDma(), unserialize(), and updateState().
|
private |
Definition at line 312 of file ide_disk.hh.
Referenced by doDmaTransfer(), serialize(), startDma(), and unserialize().
|
private |
Definition at line 259 of file ide_disk.hh.
Referenced by doDmaWrite(), and regStats().
|
private |
Definition at line 323 of file ide_disk.hh.
Referenced by doDmaWrite().
|
private |
Definition at line 333 of file ide_disk.hh.
Referenced by serialize(), and unserialize().
|
private |
Definition at line 258 of file ide_disk.hh.
Referenced by doDmaWrite(), and regStats().
|
private |
Definition at line 260 of file ide_disk.hh.
Referenced by doDmaWrite(), and regStats().
|
private |
Definition at line 324 of file ide_disk.hh.
Referenced by doDmaDataWrite(), doDmaWrite(), serialize(), and unserialize().
|
private |
Drive identification structure for this disk.
Definition at line 219 of file ide_disk.hh.
Referenced by updateState().
|
private |
Number of bytes left in DRQ block.
Definition at line 227 of file ide_disk.hh.
Referenced by reset(), serialize(), unserialize(), and updateState().
|
protected |
The image that contains the data of this disk.
Definition at line 211 of file ide_disk.hh.
Referenced by readDisk(), startCommand(), and writeDisk().
|
private |
Interrupt pending.
Definition at line 251 of file ide_disk.hh.
Referenced by intrClear(), intrPost(), reset(), serialize(), unserialize(), and updateState().
|
private |
Interrupt enable bit.
Definition at line 235 of file ide_disk.hh.
Referenced by isIENSet(), serialize(), unserialize(), and writeControl().
|
private |
Size of OS pages.
Definition at line 243 of file ide_disk.hh.
Referenced by doDmaRead(), doDmaWrite(), and setController().
|
private |
Status register.
Definition at line 233 of file ide_disk.hh.
Referenced by isBSYSet(), readCommand(), readControl(), reset(), serialize(), setComplete(), startCommand(), unserialize(), and updateState().