14#ifndef SIMICS_SYSTEMC_INJECTION_ATTR_DMI_H
15#define SIMICS_SYSTEMC_INJECTION_ATTR_DMI_H
32 explicit AttrDmi(tlm::tlm_dmi *dmi) : dmi_(dmi) {}
36 attr_value_t *attr)
override {
37 if (key ==
"dmi_ptr") {
39 if (!parser->value(&v))
42 dmi_->set_dmi_ptr(
reinterpret_cast<unsigned char*
> (v));
43 }
else if (key ==
"start_address") {
45 if (!parser->value(&v))
48 dmi_->set_start_address(v);
49 }
else if (key ==
"end_address") {
51 if (!parser->value(&v))
54 dmi_->set_end_address(v);
55 }
else if (key ==
"read_latency") {
57 if (!parser->value(&v))
60 dmi_->set_read_latency(sc_core::sc_time::from_value(v));
61 }
else if (key ==
"write_latency") {
63 if (!parser->value(&v))
66 dmi_->set_write_latency(sc_core::sc_time::from_value(v));
67 }
else if (key ==
"granted_access") {
69 if (!parser->value(&v))
72 dmi_->set_granted_access(
static_cast<tlm::tlm_dmi::dmi_access_e
>(
#define ATTR_DICT_PARSER_NAMESPACE(ns)
Definition: attr_dict_parser.h:32
Definition: attr_dict_parser.h:40
Definition: attr_dict_parser.h:38
Definition: attr_dmi.h:30
AttrDmi(tlm::tlm_dmi *dmi)
Definition: attr_dmi.h:32
bool parse(AttrDictParser *parser, const std::string &key, attr_value_t *attr) override
Definition: attr_dmi.h:35