gem5  v21.0.1.0
Public Member Functions | Private Attributes | List of all members
Uart8250::Registers::BankedRegister Class Reference

#include <uart8250.hh>

Inheritance diagram for Uart8250::Registers::BankedRegister:
Uart8250::Registers::PairedRegister

Public Member Functions

 BankedRegister (RegisterBase &reg1, RegisterBase &reg2)
 
void select (bool second)
 
const std::string & name () const override
 
void read (void *buf) override
 
void read (void *buf, off_t offset, size_t bytes) override
 
void write (const void *buf) override
 
void write (const void *buf, off_t offset, size_t bytes) override
 
- Public Member Functions inherited from Uart8250::Registers::PairedRegister
 PairedRegister (RegisterBase &reg1, RegisterBase &reg2)
 
void serialize (std::ostream &os) const override
 
bool unserialize (const std::string &s) override
 

Private Attributes

RegisterBaseselected = nullptr
 

Additional Inherited Members

- Protected Attributes inherited from Uart8250::Registers::PairedRegister
RegisterBase_reg1
 
RegisterBase_reg2
 

Detailed Description

Definition at line 114 of file uart8250.hh.

Constructor & Destructor Documentation

◆ BankedRegister()

Uart8250::Registers::BankedRegister::BankedRegister ( RegisterBase reg1,
RegisterBase reg2 
)
inline

Definition at line 120 of file uart8250.hh.

Member Function Documentation

◆ name()

const std::string& Uart8250::Registers::BankedRegister::name ( ) const
inlineoverride

Definition at line 127 of file uart8250.hh.

References RegisterBank< BankByteOrder >::RegisterBase::name(), and selected.

◆ read() [1/2]

void Uart8250::Registers::BankedRegister::read ( void *  buf)
inlineoverride

Definition at line 132 of file uart8250.hh.

References RegisterBank< BankByteOrder >::RegisterBase::read(), and selected.

◆ read() [2/2]

void Uart8250::Registers::BankedRegister::read ( void *  buf,
off_t  offset,
size_t  bytes 
)
inlineoverride

◆ select()

void Uart8250::Registers::BankedRegister::select ( bool  second)
inline

◆ write() [1/2]

void Uart8250::Registers::BankedRegister::write ( const void *  buf)
inlineoverride

Definition at line 138 of file uart8250.hh.

References selected, and RegisterBank< BankByteOrder >::RegisterBase::write().

◆ write() [2/2]

void Uart8250::Registers::BankedRegister::write ( const void *  buf,
off_t  offset,
size_t  bytes 
)
inlineoverride

Member Data Documentation

◆ selected

RegisterBase* Uart8250::Registers::BankedRegister::selected = nullptr
private

Definition at line 117 of file uart8250.hh.

Referenced by name(), read(), select(), and write().


The documentation for this class was generated from the following file:

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