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
power
types.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 The University of Edinburgh
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: Timothy M. Jones
29
*/
30
31
#ifndef __ARCH_POWER_TYPES_HH__
32
#define __ARCH_POWER_TYPES_HH__
33
34
#include "
arch/generic/types.hh
"
35
#include "
base/bitunion.hh
"
36
#include "
base/types.hh
"
37
38
namespace
PowerISA
39
{
40
41
typedef
uint32_t
MachInst
;
42
43
BitUnion32
(
ExtMachInst
)
44
45
// Registers
46
Bitfield<25, 21>
rs
;
47
Bitfield<20, 16>
ra
;
48
49
// Shifts and masks
50
Bitfield<15, 11>
sh
;
51
Bitfield<10, 6>
mb
;
52
Bitfield< 5, 1>
me
;
53
54
// Immediate fields
55
Bitfield<15, 0>
si
;
56
Bitfield<15, 0>
d
;
57
58
// Special purpose register identifier
59
Bitfield<20, 11>
spr
;
60
Bitfield<25, 2>
li
;
61
Bitfield<1>
aa
;
62
Bitfield<25, 23>
bf
;
63
Bitfield<15, 2>
bd
;
64
Bitfield<25, 21>
bo
;
65
Bitfield<20, 16>
bi
;
66
Bitfield<20, 18>
bfa
;
67
68
// Record bits
69
Bitfield<0>
rc31
;
70
Bitfield<10>
oe
;
71
72
// Condition register fields
73
Bitfield<25, 21>
bt
;
74
Bitfield<20, 16>
ba
;
75
Bitfield<15, 11>
bb
;
76
77
// FXM field for mtcrf instruction
78
Bitfield<19, 12>
fxm
;
79
EndBitUnion
(
ExtMachInst
)
80
81
typedef
GenericISA
::SimplePCState<MachInst>
PCState
;
82
83
// typedef uint64_t LargestRead;
84
// // Need to use 64 bits to make sure that read requests get handled properly
85
86
// typedef int RegContextParam;
87
// typedef int RegContextVal;
88
89
}
// PowerISA namespace
90
91
namespace
std
{
92
93
template
<>
94
struct
hash<
PowerISA
::
ExtMachInst
> :
public
hash<uint32_t> {
95
size_t
operator()
(
const
PowerISA::ExtMachInst
&emi)
const
{
96
return
hash<uint32_t>::operator()((uint32_t)emi);
97
};
98
};
99
100
}
101
102
#endif // __ARCH_POWER_TYPES_HH__
types.hh
PowerISA::me
Bitfield< 5, 1 > me
Definition:
types.hh:52
PowerISA::sh
Bitfield< 15, 11 > sh
Definition:
types.hh:50
PowerISA::ba
Bitfield< 20, 16 > ba
Definition:
types.hh:74
PowerISA::bfa
Bitfield< 20, 18 > bfa
Definition:
types.hh:66
PowerISA::bt
Bitfield< 25, 21 > bt
Definition:
types.hh:73
std
Overload hash function for BasicBlockRange type.
Definition:
vec_reg.hh:586
PowerISA::bi
Bitfield< 20, 16 > bi
Definition:
types.hh:65
PowerISA::spr
Bitfield< 20, 11 > spr
Definition:
types.hh:59
PowerISA::BitUnion32
BitUnion32(Cr) SubBitUnion(cr0
PowerISA::si
Bitfield< 15, 0 > si
Definition:
types.hh:55
PowerISA::MachInst
uint32_t MachInst
Definition:
types.hh:41
SparcISA::PCState
GenericISA::DelaySlotUPCState< MachInst > PCState
Definition:
types.hh:43
PowerISA::rs
rs
Definition:
types.hh:46
PowerISA
Definition:
decoder.cc:33
PowerISA::aa
Bitfield< 1 > aa
Definition:
types.hh:61
PowerISA::bb
Bitfield< 15, 11 > bb
Definition:
types.hh:75
types.hh
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
PowerISA::fxm
Bitfield< 19, 12 > fxm
Definition:
types.hh:78
PowerISA::bd
Bitfield< 15, 2 > bd
Definition:
types.hh:63
PowerISA::ra
Bitfield< 20, 16 > ra
Definition:
types.hh:47
PowerISA::li
Bitfield< 25, 2 > li
Definition:
types.hh:60
PowerISA::mb
Bitfield< 10, 6 > mb
Definition:
types.hh:51
PowerISA::rc31
Bitfield< 0 > rc31
Definition:
types.hh:69
PowerISA::bo
Bitfield< 25, 21 > bo
Definition:
types.hh:64
PowerISA::d
Bitfield< 15, 0 > d
Definition:
types.hh:56
PowerISA::EndBitUnion
EndBitUnion(Cr) BitUnion32(Xer) Bitfield< 31 > so
bitunion.hh
PowerISA::bf
Bitfield< 25, 23 > bf
Definition:
types.hh:62
SparcISA::ExtMachInst
uint64_t ExtMachInst
Definition:
types.hh:41
PowerISA::oe
Bitfield< 7 > oe
Definition:
miscregs.hh:90
std::hash< PowerISA::ExtMachInst >::operator()
size_t operator()(const PowerISA::ExtMachInst &emi) const
Definition:
types.hh:95
GenericISA
Definition:
debugfaults.hh:48
Generated on Fri Feb 28 2020 16:26:56 for gem5 by
doxygen
1.8.13