gem5
v21.0.1.0
|
Classes | |
struct | BMIRegs |
Registers used for bus master interface. More... | |
Public Member Functions | |
const std::string | name () |
void | select (bool select_device_1) |
void | accessCommand (Addr offset, int size, uint8_t *data, bool read) |
void | accessControl (Addr offset, int size, uint8_t *data, bool read) |
void | accessBMI (Addr offset, int size, uint8_t *data, bool read) |
Channel (std::string newName) | |
void | serialize (const std::string &base, std::ostream &os) const |
void | unserialize (const std::string &base, CheckpointIn &cp) |
Public Attributes | |
std::string | _name |
struct IdeController::Channel::BMIRegs | bmiRegs |
IdeDisk * | device0 = nullptr |
IDE disks connected to this controller For more details about device0 and device1 see: https://en.wikipedia.org/wiki/Parallel_ATA #Multiple_devices_on_a_cable. More... | |
IdeDisk * | device1 = nullptr |
IdeDisk * | selected = nullptr |
Currently selected disk. More... | |
bool | selectBit = false |
Definition at line 103 of file ide_ctrl.hh.
IdeController::Channel::Channel | ( | std::string | newName | ) |
Definition at line 65 of file ide_ctrl.cc.
References bmiRegs, IdeController::Channel::BMIRegs::reset(), and IdeController::Channel::BMIRegs::status.
void IdeController::Channel::accessBMI | ( | Addr | offset, |
int | size, | ||
uint8_t * | data, | ||
bool | read | ||
) |
Definition at line 231 of file ide_ctrl.cc.
References BMICommand, BMIDescTablePtr, BMIStatus, data, DPRINTF, htole(), letoh(), ArmISA::offset, panic, and IdeController::read().
Referenced by IdeController::dispatchAccess().
void IdeController::Channel::accessCommand | ( | Addr | offset, |
int | size, | ||
uint8_t * | data, | ||
bool | read | ||
) |
Definition at line 197 of file ide_ctrl.cc.
References data, ArmISA::offset, IdeController::read(), IdeDisk::readCommand(), select(), selected, and IdeDisk::writeCommand().
Referenced by IdeController::dispatchAccess().
void IdeController::Channel::accessControl | ( | Addr | offset, |
int | size, | ||
uint8_t * | data, | ||
bool | read | ||
) |
Definition at line 217 of file ide_ctrl.cc.
References data, ArmISA::offset, and IdeController::read().
Referenced by IdeController::dispatchAccess().
|
inline |
Definition at line 108 of file ide_ctrl.hh.
References _name.
|
inline |
Definition at line 143 of file ide_ctrl.hh.
References device0, device1, selectBit, and selected.
Referenced by accessCommand(), and IdeController::IdeController().
void IdeController::Channel::serialize | ( | const std::string & | base, |
std::ostream & | os | ||
) | const |
Definition at line 407 of file ide_ctrl.cc.
References X86ISA::base, paramOut(), and ArmISA::status.
Referenced by IdeController::serialize().
void IdeController::Channel::unserialize | ( | const std::string & | base, |
CheckpointIn & | cp | ||
) |
Definition at line 435 of file ide_ctrl.cc.
References X86ISA::base, paramIn(), and ArmISA::status.
Referenced by IdeController::unserialize().
std::string IdeController::Channel::_name |
Definition at line 105 of file ide_ctrl.hh.
Referenced by name().
struct IdeController::Channel::BMIRegs IdeController::Channel::bmiRegs |
Referenced by Channel(), IdeController::intrPost(), and IdeController::setDmaComplete().
IdeDisk* IdeController::Channel::device0 = nullptr |
IDE disks connected to this controller For more details about device0 and device1 see: https://en.wikipedia.org/wiki/Parallel_ATA #Multiple_devices_on_a_cable.
Definition at line 135 of file ide_ctrl.hh.
Referenced by IdeController::IdeController(), select(), and IdeController::setDmaComplete().
IdeDisk * IdeController::Channel::device1 = nullptr |
Definition at line 135 of file ide_ctrl.hh.
Referenced by IdeController::IdeController(), select(), and IdeController::setDmaComplete().
bool IdeController::Channel::selectBit = false |
Definition at line 140 of file ide_ctrl.hh.
Referenced by select().
IdeDisk* IdeController::Channel::selected = nullptr |
Currently selected disk.
Definition at line 138 of file ide_ctrl.hh.
Referenced by accessCommand(), IdeController::isDiskSelected(), and select().