gem5
v19.0.0.0
Main Page
Related Pages
Modules
+
Namespaces
Namespace List
+
Namespace Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
m
n
o
p
r
s
t
u
v
w
x
+
Enumerations
a
b
c
d
e
f
i
l
m
o
p
r
s
t
v
x
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Classes
Class List
Class Index
Class Hierarchy
+
Class Members
+
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
+
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
y
+
Enumerations
a
b
c
d
e
f
g
h
i
l
m
o
p
r
s
t
u
w
+
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Related Functions
:
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Files
File List
+
File Members
+
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
+
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
z
+
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
z
+
Typedefs
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
w
+
Enumerations
a
b
c
d
e
f
g
i
l
m
o
p
r
s
t
v
w
+
Enumerator
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
x
+
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
arch
arm
nativetrace.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 The Regents of The University of Michigan
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions are
7
* met: redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer;
9
* redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution;
12
* neither the name of the copyright holders nor the names of its
13
* contributors may be used to endorse or promote products derived from
14
* this software without specific prior written permission.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*
28
* Authors: Gabe Black
29
*/
30
31
#ifndef __ARCH_ARM_NATIVETRACE_HH__
32
#define __ARCH_ARM_NATIVETRACE_HH__
33
34
#include "
base/types.hh
"
35
#include "
cpu/nativetrace.hh
"
36
#include "params/ArmNativeTrace.hh"
37
38
namespace
Trace
{
39
40
class
ArmNativeTrace
:
public
NativeTrace
41
{
42
public
:
43
enum
StateID
{
44
STATE_R0
,
45
STATE_R1
,
46
STATE_R2
,
47
STATE_R3
,
48
STATE_R4
,
49
STATE_R5
,
50
STATE_R6
,
51
STATE_R7
,
52
STATE_R8
,
53
STATE_R9
,
54
STATE_R10
,
55
STATE_R11
,
56
STATE_FP
=
STATE_R11
,
57
STATE_R12
,
58
STATE_R13
,
59
STATE_SP
=
STATE_R13
,
60
STATE_R14
,
61
STATE_LR
=
STATE_R14
,
62
STATE_R15
,
63
STATE_PC
=
STATE_R15
,
64
STATE_CPSR
,
65
STATE_F0
,
STATE_F1
,
STATE_F2
,
STATE_F3
,
STATE_F4
,
STATE_F5
,
STATE_F6
,
66
STATE_F7
,
STATE_F8
,
STATE_F9
,
STATE_F10
,
STATE_F11
,
STATE_F12
,
67
STATE_F13
,
STATE_F14
,
STATE_F15
,
STATE_F16
,
STATE_F17
,
STATE_F18
,
68
STATE_F19
,
STATE_F20
,
STATE_F21
,
STATE_F22
,
STATE_F23
,
STATE_F24
,
69
STATE_F25
,
STATE_F26
,
STATE_F27
,
STATE_F28
,
STATE_F29
,
STATE_F30
,
70
STATE_F31
,
STATE_FPSCR
,
71
STATE_NUMVALS
72
};
73
74
protected
:
75
struct
ThreadState
{
76
bool
changed
[
STATE_NUMVALS
];
77
uint64_t
state
[2][
STATE_NUMVALS
];
78
uint64_t *
newState
;
79
uint64_t *
oldState
;
80
int
current
;
81
void
update
(
NativeTrace
*parent);
82
void
update
(
ThreadContext
*tc);
83
84
ThreadState
()
85
{
86
for
(
int
i
= 0;
i
<
STATE_NUMVALS
;
i
++) {
87
changed[
i
] =
false
;
88
state[0][
i
] = state[1][
i
] = 0;
89
current = 0;
90
newState = state[0];
91
oldState = state[1];
92
}
93
}
94
};
95
96
ThreadState
nState
,
mState
;
97
98
bool
stopOnPCError
;
99
100
public
:
101
typedef
ArmNativeTraceParams
Params
;
102
103
const
Params *
104
params
()
const
105
{
106
return
dynamic_cast<
const
Params *
>
(
_params
);
107
}
108
109
ArmNativeTrace
(
const
Params *
p
) :
110
NativeTrace
(p), stopOnPCError(p->stop_on_pc_error)
111
{}
112
113
void
check
(
NativeTraceRecord
*record);
114
};
115
116
}
// namespace Trace
117
118
#endif // __ARCH_ARM_NATIVETRACE_HH__
Trace::ArmNativeTrace::STATE_R0
Definition:
nativetrace.hh:44
Trace::ArmNativeTrace::STATE_F26
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_R15
Definition:
nativetrace.hh:62
Trace::ArmNativeTrace::ArmNativeTrace
ArmNativeTrace(const Params *p)
Definition:
nativetrace.hh:109
Trace::ArmNativeTrace::STATE_R2
Definition:
nativetrace.hh:46
Trace::ArmNativeTrace::STATE_F4
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace
Definition:
nativetrace.hh:40
Trace::ArmNativeTrace::STATE_R14
Definition:
nativetrace.hh:60
Trace::ArmNativeTrace::STATE_R5
Definition:
nativetrace.hh:49
Trace::ArmNativeTrace::STATE_R7
Definition:
nativetrace.hh:51
Trace::ArmNativeTrace::STATE_R4
Definition:
nativetrace.hh:48
ArmISA::i
Bitfield< 7 > i
Definition:
miscregs_types.hh:66
Trace::ArmNativeTrace::STATE_CPSR
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::STATE_F22
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_LR
Definition:
nativetrace.hh:61
Trace::NativeTraceRecord
Definition:
nativetrace.hh:50
Trace::ArmNativeTrace::STATE_F9
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::stopOnPCError
bool stopOnPCError
Definition:
nativetrace.hh:98
Trace::ArmNativeTrace::ThreadState::newState
uint64_t * newState
Definition:
nativetrace.hh:78
Trace::ArmNativeTrace::STATE_F30
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_F23
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_F2
Definition:
nativetrace.hh:65
ThreadContext
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Definition:
thread_context.hh:93
Trace::ArmNativeTrace::STATE_R10
Definition:
nativetrace.hh:54
Trace::ArmNativeTrace::STATE_F1
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::nState
ThreadState nState
Definition:
nativetrace.hh:96
Trace::ArmNativeTrace::ThreadState::changed
bool changed[STATE_NUMVALS]
Definition:
nativetrace.hh:76
Trace::ArmNativeTrace::STATE_FP
Definition:
nativetrace.hh:56
Trace::ArmNativeTrace::params
const Params * params() const
Definition:
nativetrace.hh:104
Trace::ArmNativeTrace::ThreadState::current
int current
Definition:
nativetrace.hh:80
nativetrace.hh
Trace::ArmNativeTrace::STATE_F20
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_F0
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F12
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::mState
ThreadState mState
Definition:
nativetrace.hh:96
Trace::ArmNativeTrace::StateID
StateID
Definition:
nativetrace.hh:43
Trace::ArmNativeTrace::STATE_F3
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F17
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_R13
Definition:
nativetrace.hh:58
Trace::ArmNativeTrace::STATE_NUMVALS
Definition:
nativetrace.hh:71
Trace::ArmNativeTrace::STATE_SP
Definition:
nativetrace.hh:59
Trace::ArmNativeTrace::STATE_F24
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::ThreadState::ThreadState
ThreadState()
Definition:
nativetrace.hh:84
Trace::ArmNativeTrace::STATE_F15
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_R1
Definition:
nativetrace.hh:45
Trace::ArmNativeTrace::STATE_R8
Definition:
nativetrace.hh:52
Trace::ArmNativeTrace::STATE_F13
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::Params
ArmNativeTraceParams Params
Definition:
nativetrace.hh:101
Trace::ArmNativeTrace::STATE_F21
Definition:
nativetrace.hh:68
types.hh
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
Trace::ArmNativeTrace::STATE_F31
Definition:
nativetrace.hh:70
Trace::ArmNativeTrace::ThreadState
Definition:
nativetrace.hh:75
Trace::NativeTrace
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_FPSCR
Definition:
nativetrace.hh:70
Trace::ArmNativeTrace::STATE_F14
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F28
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_F29
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_F16
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F6
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F27
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_PC
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::STATE_R3
Definition:
nativetrace.hh:47
Trace::ArmNativeTrace::STATE_F19
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_F7
Definition:
nativetrace.hh:66
SimObject::_params
const SimObjectParams * _params
Cached copy of the object parameters.
Definition:
sim_object.hh:110
Trace::ArmNativeTrace::STATE_F11
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::ThreadState::update
void update(NativeTrace *parent)
Definition:
nativetrace.cc:67
Trace::ArmNativeTrace::STATE_R12
Definition:
nativetrace.hh:57
Trace::ArmNativeTrace::STATE_F10
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_R9
Definition:
nativetrace.hh:53
Trace::ArmNativeTrace::STATE_F5
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F25
Definition:
nativetrace.hh:69
MipsISA::p
Bitfield< 0 > p
Definition:
pra_constants.hh:325
Trace::ArmNativeTrace::STATE_F18
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F8
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_R11
Definition:
nativetrace.hh:55
Trace::ArmNativeTrace::STATE_R6
Definition:
nativetrace.hh:50
Trace::ArmNativeTrace::check
void check(NativeTraceRecord *record)
Definition:
nativetrace.cc:139
Trace::ArmNativeTrace::ThreadState::oldState
uint64_t * oldState
Definition:
nativetrace.hh:79
Trace
Definition:
nativetrace.cc:52
Trace::ArmNativeTrace::ThreadState::state
uint64_t state[2][STATE_NUMVALS]
Definition:
nativetrace.hh:77
Generated on Fri Feb 28 2020 16:26:57 for gem5 by
doxygen
1.8.13