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

#include <field-templates.h>

Inheritance diagram for simics::Write1OnlyField:
simics::Field simics::HierarchicalObject simics::FieldInterface simics::HierarchicalObjectInterface simics::ValueAccessorInterface simics::ValueMutatorInterface

Public Member Functions

void write (uint64_t value, uint64_t enabled_bits) override
 
 Field (MappableConfObject *dev_obj, const std::string &name)
 
 Field (RegisterInterface *parent, std::string_view field_name)
 
 Field (const Field &)=delete
 
 Field (Field &&rhs)
 
- Public Member Functions inherited from simics::Field
 Field (MappableConfObject *dev_obj, const std::string &name)
 
 Field (RegisterInterface *parent, std::string_view field_name)
 
 Field (const Field &)=delete
 
Fieldoperator= (const Field &)=delete
 
 Field (Field &&rhs)
 
Fieldoperator= (Field &&rhs)
 
virtual ~Field ()=default
 
std::string_view name () const override
 Get the name of the field without level delimiters.
 
const std::string & description () const override
 Get the description of the field.
 
unsigned number_of_bits () const override
 
void init (std::string_view desc, const bits_type &bits, int8_t offset) override
 Initialize the field with a description, size in bits and an offset.
 
RegisterInterfaceparent () const 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
 
size_t offset () const
 
void set_bits (const bits_type &bits)
 
- Public Member Functions inherited from simics::HierarchicalObject
 HierarchicalObject (MappableConfObject *dev_obj, const std::string &name)
 Constructor for HierarchicalObject.
 
virtual ~HierarchicalObject ()
 
 HierarchicalObject (const HierarchicalObject &)=delete
 
HierarchicalObjectoperator= (const HierarchicalObject &)=delete
 
 HierarchicalObject (HierarchicalObject &&rhs) noexcept
 
HierarchicalObjectoperator= (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
 
MappableConfObjectdev_obj () const override
 
ConfObjectRef bank_obj_ref () const override
 
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
 
- Public Member Functions inherited from simics::FieldInterface
virtual ~FieldInterface ()=default
 
virtual std::string_view name () const =0
 Get the name of the field without level delimiters.
 
virtual const std::string & description () const =0
 Get the description of the field.
 
virtual unsigned number_of_bits () const =0
 
virtual void init (std::string_view desc, const bits_type &bits, int8_t offset)=0
 Initialize the field with a description, size in bits and an offset.
 
virtual RegisterInterfaceparent () const =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
 

Additional Inherited Members

- Static Public Member Functions inherited from simics::HierarchicalObject
static bool is_valid_hierarchical_name (std::string_view name)
 
static std::string_view::size_type 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}
 
static const uint64_t Register_Read_Exception {3}
 
static const uint64_t Register_Write_Exception {4}
 

Member Function Documentation

◆ Field() [1/4]

simics::Field::Field ( const Field )
delete

◆ Field() [2/4]

simics::Field::Field ( Field &&  rhs)

◆ Field() [3/4]

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

◆ Field() [4/4]

simics::Field::Field ( RegisterInterface parent,
std::string_view  field_name 
)

◆ write()

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

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