C++ Device API Reference Manual
Reference documentation for the Simics C++ Device API.
 
Loading...
Searching...
No Matches
simics::RegisterInterface Class Referenceabstract

#include <register-interface.h>

Inheritance diagram for simics::RegisterInterface:
simics::ValueAccessorInterface simics::ValueMutatorInterface simics::Register simics::AliasRegister simics::BankRegister< TRegister, Args > simics::ClearOnReadRegister simics::ConstantRegister simics::DesignLimitationRegister simics::IgnoreWriteRegister simics::Read0Register simics::ReadConstantRegister simics::ReadOnlyRegister simics::ReadUnimplRegister simics::ReservedRegister simics::SilentConstantRegister simics::SilentUnimplRegister simics::UndocumentedRegister simics::UnimplRegister simics::UnmappedRegister simics::Write0OnlyRegister simics::Write1ClearsRegister simics::Write1OnlyRegister simics::WriteOnceRegister simics::WriteOnlyRegister simics::WriteUnimplRegister

Public Member Functions

virtual ~RegisterInterface ()=default
 
virtual std::string_view name () const =0
 
virtual const std::string & hierarchical_name () const =0
 
virtual const std::string & description () const =0
 
virtual MappableConfObjectdev_obj () const =0
 
virtual ConfObjectRef bank_obj_ref () const =0
 
virtual unsigned number_of_bytes () const =0
 
virtual void init (std::string_view desc, unsigned number_of_bytes, uint64_t init_val)=0
 
virtual void reset ()=0
 
virtual bool is_read_only () const =0
 
virtual bool is_mapped () const =0
 
virtual void parse_field (const field_t &f)=0
 
virtual std::vector< field_tfields_info () const =0
 
virtual BankInterfaceparent () const =0
 
virtual void set_byte_pointers (const register_memory_t &byte_pointers)=0
 
- Public Member Functions inherited from simics::ValueAccessorInterface
virtual ~ValueAccessorInterface ()=default
 
virtual uint64_t get () const =0
 
virtual uint64_t read (uint64_t enabled_bits)=0
 
- Public Member Functions inherited from simics::ValueMutatorInterface
virtual ~ValueMutatorInterface ()=default
 
virtual void set (uint64_t value)=0
 
virtual void write (uint64_t value, uint64_t enabled_bits)=0
 

Constructor & Destructor Documentation

◆ ~RegisterInterface()

virtual simics::RegisterInterface::~RegisterInterface ( )
virtualdefault

Member Function Documentation

◆ bank_obj_ref()

virtual ConfObjectRef simics::RegisterInterface::bank_obj_ref ( ) const
pure virtual

Implemented in simics::Register.

◆ description()

virtual const std::string & simics::RegisterInterface::description ( ) const
pure virtual

Implemented in simics::Register.

◆ dev_obj()

virtual MappableConfObject * simics::RegisterInterface::dev_obj ( ) const
pure virtual

Implemented in simics::Register.

◆ fields_info()

virtual std::vector< field_t > simics::RegisterInterface::fields_info ( ) const
pure virtual

◆ hierarchical_name()

virtual const std::string & simics::RegisterInterface::hierarchical_name ( ) const
pure virtual

Implemented in simics::Register.

◆ init()

virtual void simics::RegisterInterface::init ( std::string_view  desc,
unsigned  number_of_bytes,
uint64_t  init_val 
)
pure virtual

◆ is_mapped()

virtual bool simics::RegisterInterface::is_mapped ( ) const
pure virtual

◆ is_read_only()

virtual bool simics::RegisterInterface::is_read_only ( ) const
pure virtual

◆ name()

virtual std::string_view simics::RegisterInterface::name ( ) const
pure virtual

Implemented in simics::Register.

◆ number_of_bytes()

virtual unsigned simics::RegisterInterface::number_of_bytes ( ) const
pure virtual

Implemented in simics::Register.

◆ parent()

virtual BankInterface * simics::RegisterInterface::parent ( ) const
pure virtual

Implemented in simics::Register.

◆ parse_field()

virtual void simics::RegisterInterface::parse_field ( const field_t f)
pure virtual

Implemented in simics::Register.

◆ reset()

virtual void simics::RegisterInterface::reset ( )
pure virtual

Implemented in simics::Register.

◆ set_byte_pointers()

virtual void simics::RegisterInterface::set_byte_pointers ( const register_memory_t byte_pointers)
pure virtual

Implemented in simics::Register.


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