gem5
v20.0.0.2
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
+
Typedefs
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
+
Enumerations
_
a
b
c
d
e
f
g
h
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
•
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
29
#ifndef __ARCH_ARM_NATIVETRACE_HH__
30
#define __ARCH_ARM_NATIVETRACE_HH__
31
32
#include "
base/types.hh
"
33
#include "
cpu/nativetrace.hh
"
34
#include "params/ArmNativeTrace.hh"
35
36
namespace
Trace
{
37
38
class
ArmNativeTrace
:
public
NativeTrace
39
{
40
public
:
41
enum
StateID
{
42
STATE_R0
,
43
STATE_R1
,
44
STATE_R2
,
45
STATE_R3
,
46
STATE_R4
,
47
STATE_R5
,
48
STATE_R6
,
49
STATE_R7
,
50
STATE_R8
,
51
STATE_R9
,
52
STATE_R10
,
53
STATE_R11
,
54
STATE_FP
=
STATE_R11
,
55
STATE_R12
,
56
STATE_R13
,
57
STATE_SP
=
STATE_R13
,
58
STATE_R14
,
59
STATE_LR
=
STATE_R14
,
60
STATE_R15
,
61
STATE_PC
=
STATE_R15
,
62
STATE_CPSR
,
63
STATE_F0
,
STATE_F1
,
STATE_F2
,
STATE_F3
,
STATE_F4
,
STATE_F5
,
STATE_F6
,
64
STATE_F7
,
STATE_F8
,
STATE_F9
,
STATE_F10
,
STATE_F11
,
STATE_F12
,
65
STATE_F13
,
STATE_F14
,
STATE_F15
,
STATE_F16
,
STATE_F17
,
STATE_F18
,
66
STATE_F19
,
STATE_F20
,
STATE_F21
,
STATE_F22
,
STATE_F23
,
STATE_F24
,
67
STATE_F25
,
STATE_F26
,
STATE_F27
,
STATE_F28
,
STATE_F29
,
STATE_F30
,
68
STATE_F31
,
STATE_FPSCR
,
69
STATE_NUMVALS
70
};
71
72
protected
:
73
struct
ThreadState
{
74
bool
changed
[
STATE_NUMVALS
];
75
uint64_t
state
[2][
STATE_NUMVALS
];
76
uint64_t *
newState
;
77
uint64_t *
oldState
;
78
int
current
;
79
void
update
(
NativeTrace
*parent);
80
void
update
(
ThreadContext
*tc);
81
82
ThreadState
()
83
{
84
for
(
int
i
= 0;
i
<
STATE_NUMVALS
;
i
++) {
85
changed[
i
] =
false
;
86
state[0][
i
] = state[1][
i
] = 0;
87
current = 0;
88
newState = state[0];
89
oldState = state[1];
90
}
91
}
92
};
93
94
ThreadState
nState
,
mState
;
95
96
bool
stopOnPCError
;
97
98
public
:
99
typedef
ArmNativeTraceParams
Params
;
100
101
const
Params *
102
params
()
const
103
{
104
return
dynamic_cast<
const
Params *
>
(
_params
);
105
}
106
107
ArmNativeTrace
(
const
Params *
p
) :
108
NativeTrace
(p), stopOnPCError(p->stop_on_pc_error)
109
{}
110
111
void
check
(
NativeTraceRecord
*record);
112
};
113
114
}
// namespace Trace
115
116
#endif // __ARCH_ARM_NATIVETRACE_HH__
Trace::ArmNativeTrace::STATE_R0
Definition:
nativetrace.hh:42
Trace::ArmNativeTrace::STATE_F26
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_R15
Definition:
nativetrace.hh:60
Trace::ArmNativeTrace::ArmNativeTrace
ArmNativeTrace(const Params *p)
Definition:
nativetrace.hh:107
Trace::ArmNativeTrace::STATE_R2
Definition:
nativetrace.hh:44
Trace::ArmNativeTrace::STATE_F4
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace
Definition:
nativetrace.hh:38
Trace::ArmNativeTrace::STATE_R14
Definition:
nativetrace.hh:58
Trace::ArmNativeTrace::STATE_R5
Definition:
nativetrace.hh:47
Trace::ArmNativeTrace::STATE_R7
Definition:
nativetrace.hh:49
Trace::ArmNativeTrace::STATE_R4
Definition:
nativetrace.hh:46
ArmISA::i
Bitfield< 7 > i
Definition:
miscregs_types.hh:63
Trace::ArmNativeTrace::STATE_CPSR
Definition:
nativetrace.hh:62
Trace::ArmNativeTrace::STATE_F22
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_LR
Definition:
nativetrace.hh:59
Trace::NativeTraceRecord
Definition:
nativetrace.hh:48
Trace::ArmNativeTrace::STATE_F9
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::stopOnPCError
bool stopOnPCError
Definition:
nativetrace.hh:96
Trace::ArmNativeTrace::ThreadState::newState
uint64_t * newState
Definition:
nativetrace.hh:76
Trace::ArmNativeTrace::STATE_F30
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F23
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_F2
Definition:
nativetrace.hh:63
ThreadContext
ThreadContext is the external interface to all thread state for anything outside of the CPU...
Definition:
thread_context.hh:91
Trace::ArmNativeTrace::STATE_R10
Definition:
nativetrace.hh:52
Trace::ArmNativeTrace::STATE_F1
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::nState
ThreadState nState
Definition:
nativetrace.hh:94
Trace::ArmNativeTrace::ThreadState::changed
bool changed[STATE_NUMVALS]
Definition:
nativetrace.hh:74
Trace::ArmNativeTrace::STATE_FP
Definition:
nativetrace.hh:54
Trace::ArmNativeTrace::params
const Params * params() const
Definition:
nativetrace.hh:102
Trace::ArmNativeTrace::ThreadState::current
int current
Definition:
nativetrace.hh:78
nativetrace.hh
Trace::ArmNativeTrace::STATE_F20
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_F0
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::STATE_F12
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::mState
ThreadState mState
Definition:
nativetrace.hh:94
Trace::ArmNativeTrace::StateID
StateID
Definition:
nativetrace.hh:41
Trace::ArmNativeTrace::STATE_F3
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::STATE_F17
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_R13
Definition:
nativetrace.hh:56
Trace::ArmNativeTrace::STATE_NUMVALS
Definition:
nativetrace.hh:69
Trace::ArmNativeTrace::STATE_SP
Definition:
nativetrace.hh:57
Trace::ArmNativeTrace::STATE_F24
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::ThreadState::ThreadState
ThreadState()
Definition:
nativetrace.hh:82
Trace::ArmNativeTrace::STATE_F15
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_R1
Definition:
nativetrace.hh:43
Trace::ArmNativeTrace::STATE_R8
Definition:
nativetrace.hh:50
Trace::ArmNativeTrace::STATE_F13
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::Params
ArmNativeTraceParams Params
Definition:
nativetrace.hh:99
Trace::ArmNativeTrace::STATE_F21
Definition:
nativetrace.hh:66
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:68
Trace::ArmNativeTrace::ThreadState
Definition:
nativetrace.hh:73
Trace::NativeTrace
Definition:
nativetrace.hh:66
Trace::ArmNativeTrace::STATE_FPSCR
Definition:
nativetrace.hh:68
Trace::ArmNativeTrace::STATE_F14
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F28
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F29
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_F16
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F6
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::STATE_F27
Definition:
nativetrace.hh:67
Trace::ArmNativeTrace::STATE_PC
Definition:
nativetrace.hh:61
Trace::ArmNativeTrace::STATE_R3
Definition:
nativetrace.hh:45
Trace::ArmNativeTrace::STATE_F19
Definition:
nativetrace.hh:66
SimObject::_params
const SimObjectParams * _params
Cached copy of the object parameters.
Definition:
sim_object.hh:110
Trace::ArmNativeTrace::STATE_F7
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::STATE_F11
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::ThreadState::update
void update(NativeTrace *parent)
Definition:
nativetrace.cc:65
Trace::ArmNativeTrace::STATE_R12
Definition:
nativetrace.hh:55
Trace::ArmNativeTrace::STATE_F10
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::STATE_R9
Definition:
nativetrace.hh:51
Trace::ArmNativeTrace::STATE_F5
Definition:
nativetrace.hh:63
Trace::ArmNativeTrace::STATE_F25
Definition:
nativetrace.hh:67
MipsISA::p
Bitfield< 0 > p
Definition:
pra_constants.hh:323
Trace::ArmNativeTrace::STATE_F18
Definition:
nativetrace.hh:65
Trace::ArmNativeTrace::STATE_F8
Definition:
nativetrace.hh:64
Trace::ArmNativeTrace::STATE_R11
Definition:
nativetrace.hh:53
Trace::ArmNativeTrace::STATE_R6
Definition:
nativetrace.hh:48
Trace::ArmNativeTrace::check
void check(NativeTraceRecord *record)
Definition:
nativetrace.cc:137
Trace::ArmNativeTrace::ThreadState::oldState
uint64_t * oldState
Definition:
nativetrace.hh:77
Trace
Definition:
nativetrace.cc:50
Trace::ArmNativeTrace::ThreadState::state
uint64_t state[2][STATE_NUMVALS]
Definition:
nativetrace.hh:75
Generated on Mon Jun 8 2020 15:34:40 for gem5 by
doxygen
1.8.13