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// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2013 Intel Corporation
5
6 This software and the related documents are Intel copyrighted materials, and
7 your use of them is governed by the express license under which they were
8 provided to you ("License"). Unless the License provides otherwise, you may
9 not use, modify, copy, publish, distribute, disclose or transmit this software
10 or the related documents without Intel's prior written permission.
11
12 This software and the related documents are provided as is, with no express or
13 implied warranties, other than those that are expressly stated in the License.
14*/
15
16#ifndef SIMICS_SYSTEMC_TLM2SIMICS_GASKET_INTERFACE_H
17#define SIMICS_SYSTEMC_TLM2SIMICS_GASKET_INTERFACE_H
18
20
21#include <memory>
22
23#include <string>
24
25namespace simics {
26namespace systemc {
27namespace tlm2simics {
28
31 public:
32 typedef std::shared_ptr<GasketInterface> Ptr;
36
41 virtual void invalidate_direct_mem_ptr(sc_dt::uint64 start_range,
42 sc_dt::uint64 end_range) = 0;
43 virtual sc_core::sc_object *get_initiator_socket() const = 0;
44 virtual std::string gasket_name() const = 0;
46
49 virtual void register_nb_transport_fw() {}
50
51 virtual ~GasketInterface() {}
52};
53
54} // namespace tlm2simics
55} // namespace systemc
56} // namespace simics
57
58#endif
Interface used by tlm2simics gaskets, implemented by Gasket base class.
Definition: gasket_interface.h:30
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:49
std::shared_ptr< GasketInterface > Ptr
Definition: gasket_interface.h:32
virtual void set_transaction_handler(TransactionHandlerInterface *transaction_handler)=0
Target object in Simics side receiving the TLM transaction.
virtual ~GasketInterface()
Definition: gasket_interface.h:51
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:36
Definition: pci_bus_interface.h:24