24 cci::cci_param<unsigned int> p_nr_frames;
25 cci::cci_param<unsigned int> p_nr_views;
26 cci::cci_param<unsigned int> p_cnttid;
40 sc_core::sc_vector<QemuInitiatorSignalSocket> irq;
49 , p_nr_frames(
"nr_frames", 2,
"Number of frames")
50 , p_nr_views(
"nr_views", 1,
"Number of views")
51 , p_cnttid(
"cnttid", 0x11,
"Value of cnttid")
53 , view_socket(
"mem_view", inst)
54 , irq(
"irq", p_nr_frames.get_value(), [](
const char*
n,
size_t i) { return new QemuInitiatorSignalSocket(n); })
58 void before_end_of_elaboration()
override
60 QemuDevice::before_end_of_elaboration();
62 m_dev.set_prop_int(
"nr_frames", p_nr_frames);
63 m_dev.set_prop_int(
"nr_views", p_nr_views);
64 m_dev.set_prop_int(
"cnttid", p_cnttid);
67 void end_of_elaboration()
override
69 QemuDevice::set_sysbus_as_parent_bus();
70 QemuDevice::end_of_elaboration();
74 view_socket.init(
sbd, 1);
76 for (
uint32_t i = 0;
i < p_nr_frames.get_value(); ++
i) {
77 irq[
i].init_sbd(
sbd,
i);