gem5
v21.0.1.0
|
#include <uart8250.hh>
Classes | |
class | BankedRegister |
class | PairedRegister |
class | RWSwitchedRegister |
Public Member Functions | |
Registers (Uart8250 *uart, const std::string &new_name) | |
![]() | |
constexpr | RegisterBank (const std::string &new_name, Addr new_base) |
virtual | ~RegisterBank () |
void | addRegisters (std::initializer_list< std::reference_wrapper< RegisterBase >> regs) |
void | addRegister (RegisterBase ®) |
Addr | base () const |
Addr | size () const |
const std::string & | name () const |
virtual void | read (Addr addr, void *buf, Addr bytes) |
virtual void | write (Addr addr, const void *buf, Addr bytes) |
Public Attributes | |
Register8 | rbr = {"rbr"} |
Register8 | thr = {"thr"} |
RWSwitchedRegister | rbrThr |
Register8 | dll = {"dll"} |
BankedRegister | rbrThrDll |
Register< Ier > | ier = {"ier", 0} |
Register8 | dlh = {"dlh"} |
BankedRegister | ierDlh |
Register< Iir > | iir = {"iir"} |
Register8 | fcr = {"fcr"} |
RWSwitchedRegister | iirFcr |
Register< Lcr > | lcr = {"lcr"} |
Register8 | mcr = {"mcr"} |
Register< Lsr > | lsr = {"lsr"} |
Register8 | msr = {"msr"} |
RegisterRaz | sr = {"sr", 1} |
Additional Inherited Members | |
![]() | |
using | Register8 = Register< uint8_t > |
using | Register8LE = Register< uint8_t, ByteOrder::little > |
using | Register8BE = Register< uint8_t, ByteOrder::big > |
using | Register16 = Register< uint16_t > |
using | Register16LE = Register< uint16_t, ByteOrder::little > |
using | Register16BE = Register< uint16_t, ByteOrder::big > |
using | Register32 = Register< uint32_t > |
using | Register32LE = Register< uint32_t, ByteOrder::little > |
using | Register32BE = Register< uint32_t, ByteOrder::big > |
using | Register64 = Register< uint64_t > |
using | Register64LE = Register< uint64_t, ByteOrder::little > |
using | Register64BE = Register< uint64_t, ByteOrder::big > |
![]() | |
template<typename Data > | |
static constexpr Data | readWithMask (const Data &value, const Data &bitmask) |
template<typename Data > | |
static constexpr Data | writeWithMask (const Data &old, const Data &value, const Data &bitmask) |
Definition at line 90 of file uart8250.hh.
Uart8250::Registers::Registers | ( | Uart8250 * | uart, |
const std::string & | new_name | ||
) |
Definition at line 93 of file uart8250.cc.
References RegisterBank< BankByteOrder >::addRegisters(), Uart::device, ier, ierDlh, iir, iirFcr, lcr, lsr, mcr, msr, rbr, rbrThrDll, RegisterBank< BankByteOrder >::Register< Data, RegByteOrder >::reader(), Uart8250::readIir(), RegisterBank< BankByteOrder >::Register< Data, RegByteOrder >::readonly(), Uart8250::readRbr(), X86ISA::reg, Uart8250::Registers::BankedRegister::select(), sr, thr, UART_MCR_LOOP, Uart8250::writeIer(), RegisterBank< BankByteOrder >::Register< Data, RegByteOrder >::writer(), and Uart8250::writeThr().
Register8 Uart8250::Registers::dlh = {"dlh"} |
Definition at line 175 of file uart8250.hh.
Register8 Uart8250::Registers::dll = {"dll"} |
Definition at line 170 of file uart8250.hh.
Register8 Uart8250::Registers::fcr = {"fcr"} |
Definition at line 180 of file uart8250.hh.
Register<Ier> Uart8250::Registers::ier = {"ier", 0} |
Definition at line 174 of file uart8250.hh.
Referenced by Uart8250::dataAvailable(), Uart8250::processIntrEvent(), Uart8250::readRbr(), Registers(), Uart8250::serialize(), Uart8250::unserialize(), and Uart8250::writeThr().
BankedRegister Uart8250::Registers::ierDlh |
Definition at line 176 of file uart8250.hh.
Referenced by Registers().
Register<Iir> Uart8250::Registers::iir = {"iir"} |
Definition at line 179 of file uart8250.hh.
Referenced by Registers().
RWSwitchedRegister Uart8250::Registers::iirFcr |
Definition at line 181 of file uart8250.hh.
Referenced by Registers().
Register<Lcr> Uart8250::Registers::lcr = {"lcr"} |
Definition at line 184 of file uart8250.hh.
Referenced by Registers(), Uart8250::serialize(), and Uart8250::unserialize().
Register<Lsr> Uart8250::Registers::lsr = {"lsr"} |
Definition at line 186 of file uart8250.hh.
Referenced by Registers().
Register8 Uart8250::Registers::mcr = {"mcr"} |
Definition at line 185 of file uart8250.hh.
Referenced by Registers(), Uart8250::serialize(), and Uart8250::unserialize().
Register8 Uart8250::Registers::msr = {"msr"} |
Definition at line 187 of file uart8250.hh.
Referenced by Registers().
Register8 Uart8250::Registers::rbr = {"rbr"} |
Definition at line 166 of file uart8250.hh.
Referenced by Registers().
RWSwitchedRegister Uart8250::Registers::rbrThr |
Definition at line 168 of file uart8250.hh.
BankedRegister Uart8250::Registers::rbrThrDll |
Definition at line 171 of file uart8250.hh.
Referenced by Registers().
RegisterRaz Uart8250::Registers::sr = {"sr", 1} |
Definition at line 190 of file uart8250.hh.
Referenced by Registers().
Register8 Uart8250::Registers::thr = {"thr"} |
Definition at line 167 of file uart8250.hh.
Referenced by Registers().