gem5  v21.0.1.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Public Member Functions | Public Attributes | List of all members
IdeController::Channel Struct Reference

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
 
IdeDiskdevice0 = 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...
 
IdeDiskdevice1 = nullptr
 
IdeDiskselected = nullptr
 Currently selected disk. More...
 
bool selectBit = false
 

Detailed Description

Definition at line 103 of file ide_ctrl.hh.

Constructor & Destructor Documentation

◆ Channel()

IdeController::Channel::Channel ( std::string  newName)

Member Function Documentation

◆ accessBMI()

void IdeController::Channel::accessBMI ( Addr  offset,
int  size,
uint8_t *  data,
bool  read 
)

◆ accessCommand()

void IdeController::Channel::accessCommand ( Addr  offset,
int  size,
uint8_t *  data,
bool  read 
)

◆ accessControl()

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().

◆ name()

const std::string IdeController::Channel::name ( )
inline

Definition at line 108 of file ide_ctrl.hh.

References _name.

◆ select()

void IdeController::Channel::select ( bool  select_device_1)
inline

Definition at line 143 of file ide_ctrl.hh.

References device0, device1, selectBit, and selected.

Referenced by accessCommand(), and IdeController::IdeController().

◆ serialize()

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().

◆ unserialize()

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().

Member Data Documentation

◆ _name

std::string IdeController::Channel::_name

Definition at line 105 of file ide_ctrl.hh.

Referenced by name().

◆ bmiRegs

struct IdeController::Channel::BMIRegs IdeController::Channel::bmiRegs

◆ device0

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().

◆ device1

IdeDisk * IdeController::Channel::device1 = nullptr

◆ selectBit

bool IdeController::Channel::selectBit = false

Definition at line 140 of file ide_ctrl.hh.

Referenced by select().

◆ selected

IdeDisk* IdeController::Channel::selected = nullptr

Currently selected disk.

Definition at line 138 of file ide_ctrl.hh.

Referenced by accessCommand(), IdeController::isDiskSelected(), and select().


The documentation for this struct was generated from the following files:

Generated on Tue Jun 22 2021 15:28:39 for gem5 by doxygen 1.8.17