28class MappableConfObject;
29class RegisterInterface;
57 std::string_view
name()
const override;
64 uint64_t
get()
const override;
66 void set(uint64_t value)
override;
68 uint64_t
read(uint64_t enabled_bits)
override;
70 void write(uint64_t value, uint64_t enabled_bits)
override;
87 std::uint8_t number_of_bits_ {0};
89 std::int8_t offset_ {-1};
92 RegisterInterface *parent_ {
nullptr};
Definition: field-interface.h:34
Base class to represent a Simics field.
Definition: field.h:38
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.
RegisterInterface * parent() const override
void write(uint64_t value, uint64_t enabled_bits) override
uint64_t get() const override
Field & operator=(const Field &)=delete
Field(RegisterInterface *parent, std::string_view field_name)
const std::string & description() const override
Get the description of the field.
std::string_view name() const override
Get the name of the field without level delimiters.
void set_bits(const bits_type &bits)
uint64_t read(uint64_t enabled_bits) override
Field & operator=(Field &&rhs)
Field(MappableConfObject *dev_obj, const std::string &name)
void set(uint64_t value) override
Field(const Field &)=delete
Base class for Bank, Register, and Field classes.
Definition: hierarchical-object.h:44
MappableConfObject * dev_obj() const override
Definition: mappable-conf-object.h:134
Definition: register-interface.h:37
Definition: after-bank.h:33
std::vector< std::pair< uint8_t *, uint8_t > > bits_type
Definition: field-interface.h:30