quic/qbox
Loading...
Searching...
No Matches
transaction_forwarder_if.h
1/*
2 * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All Rights Reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#ifndef __TRANSACTION_FORWARD_IF__
8#define __TRANSACTION_FORWARD_IF__
9
10#include <systemc>
11#include <tlm>
12
13namespace gs {
14
15enum ForwarderType {
16 CONTAINER /*modules container*/,
17 PASS /*PassRPC model to work in LOCAL or REMOTE mode*/,
18 SC_MODULE /*Generic sc_module*/
19};
20
21template <ForwarderType E>
23{
24public:
25 virtual void fw_b_transport(int id, tlm::tlm_generic_payload& trans, sc_core::sc_time& delay) = 0;
26
27 virtual unsigned int fw_transport_dbg(int id, tlm::tlm_generic_payload& trans) = 0;
28
29 virtual bool fw_get_direct_mem_ptr(int id, tlm::tlm_generic_payload& trans, tlm::tlm_dmi& dmi_data) = 0;
30
31 virtual void fw_invalidate_direct_mem_ptr(sc_dt::uint64 start, sc_dt::uint64 end) = 0;
32
33 virtual void fw_handle_signal(int id, bool value) = 0;
34
35 virtual ~transaction_forwarder_if() = default;
36};
37} // namespace gs
38#endif
Definition target.h:160
Definition transaction_forwarder_if.h:23
Tool which reads a Lua configuration file and sets parameters.
Definition biflow.cc:10