18#ifndef CPP_API_EXTENSIONS_EXAMPLES_REG_INTEGRATION_EXAMPLE_REGS_H
19#define CPP_API_EXTENSIONS_EXAMPLES_REG_INTEGRATION_EXAMPLE_REGS_H
31 :
simics::MappableConfObject(o) {
39 using PortBank::PortBank;
43 for (
unsigned i = 0; i < numOfRegs; ++i) {
45 reg_pair.second->reset();
51 using BankRegister::BankRegister;
55 using RegisterField::RegisterField;
60 using RegisterField::RegisterField;
void add_io_regs_bank(simics::ConfClass *cls)
GeneratedRegisterDevice(simics::ConfObjectRef o)
Definition: regs.h:30
static void init_class(simics::ConfClass *cls)
void resetAllRegisters()
Definition: regs.h:41
REG1 reg1
Definition: regs.h:78
Extends Port with bank required interfaces.
Definition: bank-port.h:71
BankPort(ConfObjectRef o)
Definition: bank-port.h:82
Definition: register-templates.h:44
unsigned number_of_registers() const override
Get the number of registers in the bank.
std::pair< size_t, RegisterInterface * > register_at_index(unsigned index) const override
Get the register at a specific index.
Represents Simics C type conf_class_t.
Definition: conf-class.h:52
Represents Simics C type conf_object_t.
Definition: conf-object.h:38
Definition: mappable-conf-object.h:134
Definition: bank-templates.h:31
Definition: field-templates.h:36
Definition: after-bank.h:33
detail::HierarchicalObjectName Name
Type used to name a resource.
Definition: common-types.h:43
std::string_view Description
Type used to describe a resource.
Definition: common-types.h:46
detail::ConstSizeT BitWidth
Type used for the number/width of bit.
Definition: common-types.h:52
detail::ConstSizeT Offset
Type used for memory address offset.
Definition: common-types.h:49
detail::ConstSizeT InitValue
Type used for initial value.
Definition: common-types.h:55
detail::ConstSizeT ByteSize
Type used for the number/size of byte TODO(xiuliang): add valid value checker?
Definition: common-types.h:59