gem5  v21.1.0.2
Classes | Public Member Functions | Public Attributes | List of all members
gem5::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 gem5::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 107 of file ide_ctrl.hh.

Constructor & Destructor Documentation

◆ Channel()

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

Member Function Documentation

◆ accessBMI()

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

◆ accessCommand()

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

◆ accessControl()

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

Definition at line 220 of file ide_ctrl.cc.

References data, gem5::ArmISA::offset, and gem5::IdeController::read().

Referenced by gem5::IdeController::dispatchAccess().

◆ name()

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

Definition at line 112 of file ide_ctrl.hh.

References _name.

◆ select()

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

Definition at line 147 of file ide_ctrl.hh.

References device0, device1, selectBit, and selected.

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

◆ serialize()

void gem5::IdeController::Channel::serialize ( const std::string &  base,
std::ostream &  os 
) const

Definition at line 410 of file ide_ctrl.cc.

References gem5::X86ISA::base, gem5::paramOut(), and gem5::ArmISA::status.

Referenced by gem5::IdeController::serialize().

◆ unserialize()

void gem5::IdeController::Channel::unserialize ( const std::string &  base,
CheckpointIn cp 
)

Definition at line 438 of file ide_ctrl.cc.

References gem5::X86ISA::base, gem5::paramIn(), and gem5::ArmISA::status.

Referenced by gem5::IdeController::unserialize().

Member Data Documentation

◆ _name

std::string gem5::IdeController::Channel::_name

Definition at line 109 of file ide_ctrl.hh.

Referenced by name().

◆ bmiRegs

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

◆ device0

IdeDisk* gem5::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 139 of file ide_ctrl.hh.

Referenced by gem5::IdeController::IdeController(), select(), and gem5::IdeController::setDmaComplete().

◆ device1

IdeDisk * gem5::IdeController::Channel::device1 = nullptr

◆ selectBit

bool gem5::IdeController::Channel::selectBit = false

Definition at line 144 of file ide_ctrl.hh.

Referenced by select().

◆ selected

IdeDisk* gem5::IdeController::Channel::selected = nullptr

Currently selected disk.

Definition at line 142 of file ide_ctrl.hh.

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


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

Generated on Tue Sep 21 2021 12:27:42 for gem5 by doxygen 1.8.17