22 cci::cci_param<uint64_t> p_config_table_addr;
23 cci::cci_param<uint32_t> p_qtimer_base_addr;
24 cci::cci_param<uint32_t> p_hexagon_start_addr;
25 cci::cci_param<std::string> p_dsp_arch;
26 cci::cci_param<bool> p_isdben_trusted;
27 cci::cci_param<bool> p_isdben_secure;
35 , p_config_table_addr(
"config_table_addr", 0xffffffffULL,
"config table address")
36 , p_qtimer_base_addr(
"qtimer_base_addr", 0xffffffffULL,
"qtimer base address")
37 , p_hexagon_start_addr(
"hexagon_start_addr", 0xffffffffULL,
"execution start address")
38 , p_dsp_arch(
"dsp_arch",
"v68",
"DSP arch")
39 , p_isdben_trusted(
"isdben_trusted",
true,
"isdben trusted")
40 , p_isdben_secure(
"isdben_secure",
true,
"isdben secure")
45 void end_of_elaboration()
override
47 QemuDevice::set_sysbus_as_parent_bus();
48 QemuDevice::end_of_elaboration();
51 void before_end_of_elaboration()
override
53 QemuDevice::before_end_of_elaboration();
55 const std::string
dsp_arch = p_dsp_arch.get_value();
56 qemu::CpuHexagon::Rev_t
dsp_rev = qemu::CpuHexagon::parse_dsp_arch(
dsp_arch);
57 if (
dsp_rev == qemu::CpuHexagon::unknown_rev) {
60 hex_greg_devs.set_prop_int(
"config-table-addr", p_config_table_addr);
61 hex_greg_devs.set_prop_int(
"qtimer-base-addr", p_qtimer_base_addr);
64 hex_greg_devs.set_prop_bool(
"isdben-trusted", p_isdben_trusted);
65 hex_greg_devs.set_prop_bool(
"isdben-secure", p_isdben_secure);