|
gem5
v21.0.1.0
|
#include <reg_bank.hh>
Classes | |
| class | Register |
| class | RegisterBase |
| class | RegisterBuf |
| class | RegisterLBuf |
| class | RegisterRao |
| class | RegisterRaz |
| class | RegisterRoFill |
Public Types | |
| 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 > |
Public Member Functions | |
| 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) |
Static Public Member Functions | |
| 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) |
Private Attributes | |
| std::map< Addr, std::reference_wrapper< RegisterBase > > | _offsetMap |
| Addr | _base = 0 |
| Addr | _size = 0 |
| const std::string | _name |
Definition at line 295 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register16 = Register<uint16_t> |
Definition at line 769 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register16BE = Register<uint16_t, ByteOrder::big> |
Definition at line 771 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register16LE = Register<uint16_t, ByteOrder::little> |
Definition at line 770 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register32 = Register<uint32_t> |
Definition at line 772 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register32BE = Register<uint32_t, ByteOrder::big> |
Definition at line 774 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register32LE = Register<uint32_t, ByteOrder::little> |
Definition at line 773 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register64 = Register<uint64_t> |
Definition at line 775 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register64BE = Register<uint64_t, ByteOrder::big> |
Definition at line 777 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register64LE = Register<uint64_t, ByteOrder::little> |
Definition at line 776 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register8 = Register<uint8_t> |
Definition at line 766 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register8BE = Register<uint8_t, ByteOrder::big> |
Definition at line 768 of file reg_bank.hh.
| using RegisterBank< BankByteOrder >::Register8LE = Register<uint8_t, ByteOrder::little> |
Definition at line 767 of file reg_bank.hh.
|
inlineconstexpr |
Definition at line 780 of file reg_bank.hh.
|
inlinevirtual |
Definition at line 784 of file reg_bank.hh.
|
inline |
Definition at line 798 of file reg_bank.hh.
Referenced by Plic::PlicRegisters::init(), and TEST_F().
|
inline |
Definition at line 787 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::addRegister(), Uart8250::Registers::Registers(), and TEST_F().
|
inline |
Definition at line 800 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::read(), TEST_F(), and RegisterBank< ByteOrder::little >::write().
|
inline |
Definition at line 802 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::addRegisters(), RegisterBank< ByteOrder::little >::read(), TEST_F(), and RegisterBank< ByteOrder::little >::write().
|
inlinevirtual |
Definition at line 805 of file reg_bank.hh.
Referenced by X86ISA::I8237::read(), Clint::read(), Plic::read(), Uart8250::read(), and TEST_F().
|
inlinestaticconstexpr |
Definition at line 301 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::writeWithMask().
|
inline |
Definition at line 801 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::read(), TEST_F(), and RegisterBank< ByteOrder::little >::write().
|
inlinevirtual |
Definition at line 862 of file reg_bank.hh.
Referenced by TEST_F(), X86ISA::I8237::write(), Clint::write(), Plic::write(), and Uart8250::write().
|
inlinestaticconstexpr |
Definition at line 308 of file reg_bank.hh.
Referenced by RegisterBank< BankByteOrder >::Register< BackingType >::update().
|
private |
Definition at line 760 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::addRegisters(), and RegisterBank< ByteOrder::little >::base().
|
private |
Definition at line 762 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::name().
|
private |
Definition at line 758 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::addRegisters(), RegisterBank< ByteOrder::little >::read(), and RegisterBank< ByteOrder::little >::write().
|
private |
Definition at line 761 of file reg_bank.hh.
Referenced by RegisterBank< ByteOrder::little >::addRegisters(), and RegisterBank< ByteOrder::little >::size().