gem5
v20.1.0.0
systemc
tlm_bridge
sc_ext.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2015, University of Kaiserslautern
3
* Copyright (c) 2016, Dresden University of Technology (TU Dresden)
4
* All rights reserved.
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions are
8
* met:
9
*
10
* 1. Redistributions of source code must retain the above copyright notice,
11
* this list of conditions and the following disclaimer.
12
*
13
* 2. Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
*
17
* 3. Neither the name of the copyright holder nor the names of its
18
* contributors may be used to endorse or promote products derived from
19
* this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER
25
* OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#include "
systemc/tlm_bridge/sc_ext.hh
"
35
36
#include "
systemc/ext/utils/sc_report_handler.hh
"
37
38
namespace
Gem5SystemC
39
{
40
41
Gem5Extension::Gem5Extension
(
PacketPtr
_packet)
42
{
43
packet
= _packet;
44
pipeThrough
=
false
;
45
}
46
47
Gem5Extension
&
48
Gem5Extension::getExtension
(
const
tlm::tlm_generic_payload
*payload)
49
{
50
Gem5Extension
*result = NULL;
51
payload->
get_extension
(result);
52
sc_assert
(result != NULL);
53
return
*result;
54
}
55
56
Gem5Extension
&
57
Gem5Extension::getExtension
(
const
tlm::tlm_generic_payload
&payload)
58
{
59
return
Gem5Extension::getExtension
(&payload);
60
}
61
62
PacketPtr
63
Gem5Extension::getPacket
()
64
{
65
return
packet
;
66
}
67
68
tlm::tlm_extension_base
*
69
Gem5Extension::clone
()
const
70
{
71
return
new
Gem5Extension
(
packet
);
72
}
73
74
void
75
Gem5Extension::copy_from
(
const
tlm::tlm_extension_base
&
ext
)
76
{
77
const
Gem5Extension
&cpyFrom =
static_cast<
const
Gem5Extension
&
>
(
ext
);
78
packet
= cpyFrom.
packet
;
79
}
80
81
}
// namespace Gem5SystemC
sc_ext.hh
Gem5SystemC::Gem5Extension::getPacket
PacketPtr getPacket()
Definition:
sc_ext.cc:63
sc_assert
#define sc_assert(expr)
Definition:
sc_report_handler.hh:135
Gem5SystemC::Gem5Extension::Gem5Extension
Gem5Extension(PacketPtr _packet)
Definition:
sc_ext.cc:41
Gem5SystemC
Definition:
sc_ext.cc:38
tlm::tlm_extension_base
Definition:
gp.hh:65
ArmISA::ext
Bitfield< 12 > ext
Definition:
miscregs_types.hh:422
Gem5SystemC::Gem5Extension::clone
virtual tlm_extension_base * clone() const
Definition:
sc_ext.cc:69
tlm::tlm_generic_payload::get_extension
void get_extension(T *&ext) const
Definition:
gp.hh:381
Gem5SystemC::Gem5Extension::pipeThrough
bool pipeThrough
Definition:
sc_ext.hh:62
sc_report_handler.hh
tlm::tlm_generic_payload
Definition:
gp.hh:133
Gem5SystemC::Gem5Extension::getExtension
static Gem5Extension & getExtension(const tlm::tlm_generic_payload *payload)
Definition:
sc_ext.cc:48
Packet
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Definition:
packet.hh:257
Gem5SystemC::Gem5Extension
Definition:
sc_ext.hh:43
Gem5SystemC::Gem5Extension::copy_from
virtual void copy_from(const tlm_extension_base &ext)
Definition:
sc_ext.cc:75
Gem5SystemC::Gem5Extension::packet
PacketPtr packet
Definition:
sc_ext.hh:61
Generated on Wed Sep 30 2020 14:02:18 for gem5 by
doxygen
1.8.17