9#ifndef _LIBQBOX_COMPONENTS_IRQ_CTRL_HEXAGON_L2VIC_H 
   10#define _LIBQBOX_COMPONENTS_IRQ_CTRL_HEXAGON_L2VIC_H 
   15#include <module_factory_registery.h> 
   18#include <ports/target.h> 
   19#include <ports/qemu-target-signal-socket.h> 
   20#include <ports/qemu-initiator-signal-socket.h> 
   25    const unsigned int p_num_sources;
 
   26    const unsigned int p_num_outputs;
 
   30    sc_core::sc_vector<QemuTargetSignalSocket> irq_in;
 
   31    sc_core::sc_vector<QemuInitiatorSignalSocket> irq_out;
 
   34    hexagon_l2vic(
const sc_core::sc_module_name& name, sc_core::sc_object* 
o)
 
   43        , socket_fast(
"fastmem", inst)
 
   50    void before_end_of_elaboration()
 override { QemuDevice::before_end_of_elaboration(); }
 
   52    void end_of_elaboration()
 override 
   54        QemuDevice::set_sysbus_as_parent_bus();
 
   55        QemuDevice::end_of_elaboration();
 
   59        socket_fast.init(
sbd, 1);
 
   61        for (
int i = 0; 
i < p_num_sources; 
i++) {
 
   62            irq_in[
i].init(m_dev, 
i);
 
   65        for (
int i = 0; 
i < p_num_outputs; 
i++) {
 
   66            irq_out[
i].init_sbd(
sbd, 
i);
 
 
   71extern "C" void module_register();
 
QEMU device abstraction as a SystemC module.
Definition device.h:37
A QEMU output GPIO exposed as a InitiatorSignalSocket<bool>
Definition qemu-initiator-signal-socket.h:40
This class encapsulates a libqemu-cxx qemu::LibQemu instance. It handles QEMU parameters and instance...
Definition qemu-instance.h:89
A QEMU input GPIO exposed as a TargetSignalSocket<bool>
Definition qemu-target-signal-socket.h:29
void init_named(qemu::Device dev, const char *gpio_name, int gpio_idx)
Initialize this socket with a device, a GPIO namespace, and a GPIO index.
Definition qemu-target-signal-socket.h:78
Definition hexagon-l2vic.h:23
Definition libqemu-cxx.h:627