|
| | Register (MappableConfObject *dev_obj, const std::string &hierarchical_name) |
| |
| | Register (const Register &)=delete |
| |
| Register & | operator= (const Register &)=delete |
| |
| | Register (Register &&rhs) |
| |
| Register & | operator= (Register &&rhs) |
| |
| virtual | ~Register ()=default |
| |
| std::string_view | name () const override |
| |
| const std::string & | hierarchical_name () const override |
| |
| const std::string & | description () const override |
| |
| MappableConfObject * | dev_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 |
| | Initialize the register with a description, size in bytes and an initial value.
|
| |
| void | reset () override |
| | Reset to the initial value.
|
| |
| bool | is_read_only () const override |
| |
| bool | is_mapped () const override |
| |
| void | set_byte_pointers (const register_memory_t &byte_pointers) override |
| | Set the byte address of the register.
|
| |
| 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 |
| | Parse the field information.
|
| |
| std::vector< field_t > | fields_info () const override |
| |
| BankInterface * | parent () const override |
| |
| virtual | ~RegisterInterface ()=default |
| |
| virtual std::string_view | name () const =0 |
| | Get the name of the register without level delimiters.
|
| |
| virtual MappableConfObject * | dev_obj () const =0 |
| | Get the device object.
|
| |
| virtual const std::string & | description () const =0 |
| | Get the description of the register.
|
| |
| virtual const std::string & | hierarchical_name () const =0 |
| | Get the full name of the register including bank name.
|
| |
| virtual ConfObjectRef | bank_obj_ref () const =0 |
| | Get the bank object.
|
| |
| virtual unsigned | number_of_bytes () const =0 |
| |
| virtual void | init (std::string_view desc, unsigned number_of_bytes, uint64_t init_val)=0 |
| | Initialize the register with a description, size in bytes and an initial value.
|
| |
| virtual void | reset ()=0 |
| | Reset to the initial value.
|
| |
| virtual bool | is_read_only () const =0 |
| |
| virtual bool | is_mapped () const =0 |
| |
| virtual void | parse_field (const field_t &f)=0 |
| | Parse the field information.
|
| |
| virtual void | add_field (std::string_view field_name, std::string_view desc, Offset offset, BitWidth width)=0 |
| | Add a field to the register.
|
| |
| virtual std::vector< field_t > | fields_info () const =0 |
| |
| virtual BankInterface * | parent () const =0 |
| |
| virtual void | set_byte_pointers (const register_memory_t &byte_pointers)=0 |
| | Set the byte address of the register.
|
| |
| virtual | ~ValueAccessorInterface ()=default |
| |
| virtual uint64_t | get () const =0 |
| |
| virtual uint64_t | read (uint64_t enabled_bits)=0 |
| |
| virtual | ~ValueMutatorInterface ()=default |
| |
| virtual void | set (uint64_t value)=0 |
| |
| virtual void | write (uint64_t value, uint64_t enabled_bits)=0 |
| |
| | HierarchicalObject (MappableConfObject *dev_obj, const std::string &name) |
| | Constructor for HierarchicalObject.
|
| |
| virtual | ~HierarchicalObject () |
| |
| | HierarchicalObject (const HierarchicalObject &)=delete |
| |
| HierarchicalObject & | operator= (const HierarchicalObject &)=delete |
| |
| | HierarchicalObject (HierarchicalObject &&rhs) noexcept |
| |
| HierarchicalObject & | operator= (HierarchicalObject &&rhs) noexcept |
| |
| template<typename T > |
| T * | dev_ptr () |
| |
| 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 |
| |
| MappableConfObject * | dev_obj () const override |
| |
| ConfObjectRef | bank_obj_ref () const override |
| |
| std::string_view | parent_name () const override |
| |
| FieldInterface * | lookup_field (const std::string &name) const override |
| |
| RegisterInterface * | lookup_register (const std::string &name) const override |
| |
| BankInterface * | lookup_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 MappableConfObject * | dev_obj () const =0 |
| |
| virtual ConfObjectRef | bank_obj_ref () const =0 |
| |
| virtual std::string_view | parent_name () const =0 |
| |
| virtual FieldInterface * | lookup_field (const std::string &name) const =0 |
| |
| virtual RegisterInterface * | lookup_register (const std::string &name) const =0 |
| |
| virtual BankInterface * | lookup_bank (const std::string &name) const =0 |
| |
Base class to represent a Simics register.
Register with default behavior which allows access to any bit, without any side-effects.