gem5  v21.1.0.2
Public Member Functions | Protected Attributes | List of all members
gem5::RegisterBank< BankByteOrder >::RegisterBase Class Referenceabstract

#include <reg_bank.hh>

Inheritance diagram for gem5::RegisterBank< BankByteOrder >::RegisterBase:
gem5::RegisterBankBase::RegisterBaseBase gem5::RegisterBank< BankByteOrder >::Register< Data, RegByteOrder > gem5::RegisterBank< BankByteOrder >::RegisterBuf gem5::RegisterBank< BankByteOrder >::RegisterRoFill gem5::RegisterBank< BankByteOrder >::Register< BackingType > gem5::X86ISA::I8237::Channel::ChannelRemainingReg gem5::RegisterBank< BankByteOrder >::RegisterLBuf< BufBytes > gem5::RegisterBank< BankByteOrder >::RegisterLBuf< 12 > gem5::RegisterBank< BankByteOrder >::RegisterRao gem5::RegisterBank< BankByteOrder >::RegisterRaz

Public Member Functions

constexpr RegisterBase (const std::string &new_name, size_t new_size)
 
virtual ~RegisterBase ()
 
virtual const std::string & name () const
 
size_t size () const
 
virtual void read (void *buf)=0
 
virtual void read (void *buf, off_t offset, size_t bytes)=0
 
virtual void write (const void *buf)=0
 
virtual void write (const void *buf, off_t offset, size_t bytes)=0
 
virtual void serialize (std::ostream &os) const =0
 
virtual bool unserialize (const std::string &s)=0
 

Protected Attributes

const std::string _name
 
size_t _size = 0
 

Detailed Description

template<ByteOrder BankByteOrder>
class gem5::RegisterBank< BankByteOrder >::RegisterBase

Definition at line 319 of file reg_bank.hh.

Constructor & Destructor Documentation

◆ RegisterBase()

template<ByteOrder BankByteOrder>
constexpr gem5::RegisterBank< BankByteOrder >::RegisterBase::RegisterBase ( const std::string &  new_name,
size_t  new_size 
)
inlineconstexpr

Definition at line 326 of file reg_bank.hh.

◆ ~RegisterBase()

template<ByteOrder BankByteOrder>
virtual gem5::RegisterBank< BankByteOrder >::RegisterBase::~RegisterBase ( )
inlinevirtual

Definition at line 329 of file reg_bank.hh.

Member Function Documentation

◆ name()

template<ByteOrder BankByteOrder>
virtual const std::string& gem5::RegisterBank< BankByteOrder >::RegisterBase::name ( ) const
inlinevirtual

◆ read() [1/2]

template<ByteOrder BankByteOrder>
virtual void gem5::RegisterBank< BankByteOrder >::RegisterBase::read ( void *  buf)
pure virtual

◆ read() [2/2]

template<ByteOrder BankByteOrder>
virtual void gem5::RegisterBank< BankByteOrder >::RegisterBase::read ( void *  buf,
off_t  offset,
size_t  bytes 
)
pure virtual

◆ serialize()

template<ByteOrder BankByteOrder>
virtual void gem5::RegisterBank< BankByteOrder >::RegisterBase::serialize ( std::ostream &  os) const
pure virtual

◆ size()

template<ByteOrder BankByteOrder>
size_t gem5::RegisterBank< BankByteOrder >::RegisterBase::size ( ) const
inline

◆ unserialize()

template<ByteOrder BankByteOrder>
virtual bool gem5::RegisterBank< BankByteOrder >::RegisterBase::unserialize ( const std::string &  s)
pure virtual

◆ write() [1/2]

template<ByteOrder BankByteOrder>
virtual void gem5::RegisterBank< BankByteOrder >::RegisterBase::write ( const void *  buf)
pure virtual

◆ write() [2/2]

template<ByteOrder BankByteOrder>
virtual void gem5::RegisterBank< BankByteOrder >::RegisterBase::write ( const void *  buf,
off_t  offset,
size_t  bytes 
)
pure virtual

Member Data Documentation

◆ _name

template<ByteOrder BankByteOrder>
const std::string gem5::RegisterBank< BankByteOrder >::RegisterBase::_name
protected

◆ _size

template<ByteOrder BankByteOrder>
size_t gem5::RegisterBank< BankByteOrder >::RegisterBase::_size = 0
protected

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

Generated on Tue Sep 21 2021 12:28:03 for gem5 by doxygen 1.8.17