SystemC Library API Reference Manual
Reference documentation for the Simics SystemC Library.
 
Loading...
Searching...
No Matches
init.h
Go to the documentation of this file.
1/*
2 © 2015 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_AWARENESS_INIT_H
15#define SIMICS_SYSTEMC_AWARENESS_INIT_H
16
32
35
36#include <tlm>
37
38namespace simics {
39namespace systemc {
40namespace awareness {
41
42template <typename TPAYLOAD>
44 static injection::InjectGp<TPAYLOAD> injectGp;
46 injectEthernetCommon;
53#if defined SIMICS_6_API || defined SHOW_OBSOLETE_API
54 static injection::extension::InjectPciExpress<TPAYLOAD> injectPciExpress;
55#endif
57 injectPciUpstreamOperation;
59 injectSerialDevice;
60}
61
62template <typename TYPES>
64#if INTC_EXT
65 Adapter::spy_factory_registry()->createSpyFactory<TYPES>();
66
67 ProxyFactoryRegistry *registry
70 registry->addFactory(new ProxyFactoryInitiatorSocket<TYPES>);
71#endif
72}
73
74template <unsigned int BUSWIDTH, typename TYPES>
75static void registerSocketType() {
76 registerInjectorType<typename TYPES::tlm_payload_type>();
77 registerFactoryType<TYPES>();
78 static simics2tlm::GasketFactory<BUSWIDTH, TYPES> simics2tlm_factory;
79 static tlm2simics::GasketFactory<BUSWIDTH, TYPES> tlm2simics_factory;
81 multi_simics2tlm_factory;
83 multi_tlm2simics_factory;
84}
85
86} // namespace awareness
87} // namespace systemc
88} // namespace simics
89
90#endif
static awareness::ProxyBuilder * proxy_builder()
Definition: adapter.h:216
ProxyFactoryRegistry * proxy_factory_registry()
Definition: proxy_factory_socket.h:68
Definition: proxy_factory_registry.h:27
void addFactory(ProxyFactoryInterface *factory)
Definition: proxy_factory_registry.h:30
Definition: proxy_factory_socket.h:99
Definition: inject_gp.h:32
Definition: inject_pci_upstream_operation.h:32
Definition: gasket_factory.h:108
Definition: gasket_factory.h:129
void registerInjectorType()
Definition: init.h:43
void registerFactoryType()
Definition: init.h:63
Definition: adapter.h:79