8#ifndef __REMOTE_CORTEX_M55__
9#define __REMOTE_CORTEX_M55__
13#include <cci_configuration>
14#include <libgsutils.h>
16#include <cpu_arm/cpu_arm_cortex_m55/include/cortex-m55.h>
17#include <qemu-instance.h>
18#include "gs_memory/include/gs_memory.h"
19#include "router/include/router.h"
21#include "pass/include/pass.h"
22#include <module_factory_registery.h>
29 RemoteCPU(
const sc_core::sc_module_name& n, sc_core::sc_object* obj)
34 : sc_core::sc_module(n)
35 , m_broker(cci::cci_get_broker())
36 , m_gdb_port(
"gdb_port", 0,
"GDB port")
37 , m_qemu_inst(qemu_inst)
39 , m_cpu(
"cpu", m_qemu_inst)
41 unsigned int m_irq_num = m_broker.get_param_handle(std::string(this->name()) +
".cpu.nvic.num_irq")
45 if (!m_gdb_port.is_default_value()) m_cpu.p_gdb_port = m_gdb_port;
47 SCP_INFO(()) <<
"number of irqs = " << m_irq_num;
54 cci::cci_broker_handle m_broker;
55 cci::cci_param<int> m_gdb_port;
60GSC_MODULE_REGISTER(
RemoteCPU, sc_core::sc_object*);
This class encapsulates a libqemu-cxx qemu::LibQemu instance. It handles QEMU parameters and instance...
Definition qemu-instance.h:86
Definition remote_cpu.h:25
Definition cortex-m55.h:20
A SystemC TLM router module for transaction routing based on address.
Definition router.h:114
tlm_utils::multi_passthrough_target_socket< router< BUSWIDTH, CacheType >, BUSWIDTH > target_socket
Target socket to receive transactions from initiators.
Definition router.h:593
initiator_socket_type initiator_socket
Initiator socket to connect to targets.
Definition router.h:591