SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
gasket_interface.h
Go to the documentation of this file.
1/*
2 © 2013 Intel Corporation
3
4 This software and the related documents are Intel copyrighted materials, and
5 your use of them is governed by the express license under which they were
6 provided to you ("License"). Unless the License provides otherwise, you may
7 not use, modify, copy, publish, distribute, disclose or transmit this software
8 or the related documents without Intel's prior written permission.
9
10 This software and the related documents are provided as is, with no express or
11 implied warranties, other than those that are expressly stated in the License.
12*/
13
14#ifndef SIMICS_SYSTEMC_TLM2SIMICS_GASKET_INTERFACE_H
15#define SIMICS_SYSTEMC_TLM2SIMICS_GASKET_INTERFACE_H
16
18
19#include <memory>
20
21#include <string>
22
23namespace simics {
24namespace systemc {
25namespace tlm2simics {
26
29 public:
30 typedef std::shared_ptr<GasketInterface> Ptr;
34
39 virtual void invalidate_direct_mem_ptr(sc_dt::uint64 start_range,
40 sc_dt::uint64 end_range) = 0;
41 virtual sc_core::sc_object *get_initiator_socket() const = 0;
42 virtual std::string gasket_name() const = 0;
44
47 virtual void register_nb_transport_fw() {}
48
49 virtual ~GasketInterface() {}
50};
51
52} // namespace tlm2simics
53} // namespace systemc
54} // namespace simics
55
56#endif
Interface used by tlm2simics gaskets, implemented by Gasket base class.
Definition: gasket_interface.h:28
virtual TransactionHandlerInterface * transaction_handler()=0
virtual void invalidate_direct_mem_ptr(sc_dt::uint64 start_range, sc_dt::uint64 end_range)=0
Calling this method will end up calling the same method on the target socket, that will forward the c...
virtual void register_nb_transport_fw()
For gaskets support non-blocking transport, call this function to register the non-blocking transport...
Definition: gasket_interface.h:47
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:30
virtual void set_transaction_handler(TransactionHandlerInterface *transaction_handler)=0
Target object in Simics side receiving the TLM transaction.
virtual ~GasketInterface()
Definition: gasket_interface.h:49
virtual std::string gasket_name() const =0
virtual sc_core::sc_object * get_initiator_socket() const =0
Interface used by Gasket, implemented by protocol specific transaction handlers.
Definition: transaction_handler_interface.h:34
Definition: adapter.h:79