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

#include <register-templates.h>

Inheritance diagram for simics::ReadOnlyRegister:
simics::Register simics::RegisterInterface simics::HierarchicalObject simics::ValueAccessorInterface simics::ValueMutatorInterface simics::HierarchicalObjectInterface simics::ReadOnlyClearOnReadRegister

Public Member Functions

bool is_read_only () const override
 
void write (uint64_t value, uint64_t enabled_bits) override
 
 Register (MappableConfObject *dev_obj, const std::string &name)
 
 Register (BankInterface *parent, std::string_view reg_name)
 
 Register (const Register &)=delete
 
 Register (Register &&rhs)
 
- Public Member Functions inherited from simics::Register
 Register (MappableConfObject *dev_obj, const std::string &name)
 
 Register (BankInterface *parent, std::string_view reg_name)
 
 Register (const Register &)=delete
 
Registeroperator= (const Register &)=delete
 
 Register (Register &&rhs)
 
Registeroperator= (Register &&rhs)
 
std::string_view name () const override
 
const std::string & hierarchical_name () const override
 
const std::string & description () const override
 
MappableConfObjectdev_obj () const override
 
ConfObjectRef bank_obj_ref () const override
 
unsigned number_of_bytes () const override
 
void init (std::string_view desc, unsigned number_of_bytes, uint64_t init_val) override
 
void reset () override
 
bool is_read_only () const override
 
bool is_mapped () const override
 
void set_byte_pointers (const register_memory_t &byte_pointers) override
 
uint64_t get () const override
 
void set (uint64_t value) override
 
uint64_t read (uint64_t enabled_bits) override
 
void write (uint64_t value, uint64_t enabled_bits) override
 
void parse_field (const field_t &f) override
 
std::vector< field_tfields_info () const override
 
BankInterfaceparent () const override
 
- Public Member Functions inherited from simics::RegisterInterface
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
 
- Public Member Functions inherited from simics::HierarchicalObject
 HierarchicalObject (MappableConfObject *dev_obj, const std::string &name)
 
 HierarchicalObject (MappableConfObject *dev_obj, const std::string &name, FieldInterface *iface)
 
 HierarchicalObject (MappableConfObject *dev_obj, const std::string &name, RegisterInterface *iface)
 
 HierarchicalObject (MappableConfObject *dev_obj, const std::string &name, BankInterface *iface)
 
virtual ~HierarchicalObject ()
 
 HierarchicalObject (const HierarchicalObject &)=delete
 
HierarchicalObjectoperator= (const HierarchicalObject &)=delete
 
 HierarchicalObject (HierarchicalObject &&rhs) noexcept
 
HierarchicalObjectoperator= (HierarchicalObject &&rhs) noexcept
 
void init_iface (BankInterface *iface)
 
void init_iface (RegisterInterface *iface)
 
void init_iface (FieldInterface *iface)
 
const std::string & hierarchical_name () const override
 
std::string_view name () const override
 
const std::string & description () const override
 
void set_description (std::string_view desc) override
 
Level hierarchy_level () const override
 
std::string_view bank_name () const override
 
MappableConfObjectdev_obj () const override
 
ConfObjectRef bank_obj_ref () const override
 
template<typename T >
T * dev_ptr ()
 
std::string_view parent_name () const override
 
FieldInterfacelookup_field (const std::string &name) const override
 
RegisterInterfacelookup_register (const std::string &name) const override
 
BankInterfacelookup_bank (const std::string &name) const override
 
virtual const std::string & hierarchical_name () const =0
 
virtual std::string_view name () const =0
 
virtual const std::string & description () const =0
 
virtual void set_description (std::string_view desc)=0
 
virtual Level hierarchy_level () const =0
 
virtual std::string_view bank_name () const =0
 
virtual MappableConfObjectdev_obj () const =0
 
virtual ConfObjectRef bank_obj_ref () const =0
 
virtual std::string_view parent_name () const =0
 
virtual FieldInterfacelookup_field (const std::string &name) const =0
 
virtual RegisterInterfacelookup_register (const std::string &name) const =0
 
virtual BankInterfacelookup_bank (const std::string &name) const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from simics::HierarchicalObject
static bool is_valid_hierarchical_name (std::string_view name)
 
static int level_of_hierarchical_name (std::string_view name)
 
- Static Public Attributes inherited from simics::HierarchicalObject
static const uint64_t Register_Read {1}
 Log group ID for Register_Read and Register_Write is fixed.
 
static const uint64_t Register_Write {2}
 
- Protected Member Functions inherited from simics::Register
void set_init_value (uint64_t init_val)
 

Member Function Documentation

◆ is_read_only()

bool simics::ReadOnlyRegister::is_read_only ( ) const
inlineoverridevirtual

◆ Register() [1/4]

simics::Register::Register ( BankInterface parent,
std::string_view  reg_name 
)
inline

◆ Register() [2/4]

simics::Register::Register ( const Register )
delete

◆ Register() [3/4]

simics::Register::Register ( MappableConfObject dev_obj,
const std::string &  name 
)
inline

◆ Register() [4/4]

simics::Register::Register ( Register &&  rhs)
inline

◆ write()

void simics::ReadOnlyRegister::write ( uint64_t  value,
uint64_t  enabled_bits 
)
inlineoverridevirtual

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