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// -*- mode: C++; c-file-style: "virtutech-c++" -*-
2
3/*
4 © 2015 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_AWARENESS_INIT_H
17#define SIMICS_SYSTEMC_AWARENESS_INIT_H
18
33
36
37#include <tlm>
38
39namespace simics {
40namespace systemc {
41namespace awareness {
42
43template <typename TPAYLOAD>
45 static injection::InjectGp<TPAYLOAD> injectGp;
47 injectEthernetCommon;
53#if defined SIMICS_5_API || defined SIMICS_6_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:242
ProxyFactoryRegistry * proxy_factory_registry()
Definition: proxy_factory_socket.h:70
Definition: proxy_factory_registry.h:29
void addFactory(ProxyFactoryInterface *factory)
Definition: proxy_factory_registry.h:32
Definition: proxy_factory_socket.h:101
Definition: inject_gp.h:34
Definition: inject_pci_upstream_operation.h:34
Definition: gasket_factory.h:110
Definition: gasket_factory.h:131
void registerInjectorType()
Definition: init.h:44
void registerFactoryType()
Definition: init.h:63
Definition: pci_bus_interface.h:24