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
alpha
ipr.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2003-2005 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
#include "
arch/alpha/ipr.hh
"
32
33
#include <cassert>
34
#include <cstring>
35
36
namespace
AlphaISA
{
37
38
md_ipr_names
MiscRegIndexToIpr
[
NumInternalProcRegs
] = {
39
40
//Write only
41
RAW_IPR_HWINT_CLR
,
// H/W interrupt clear register
42
RAW_IPR_SL_XMIT
,
// serial line transmit register
43
RAW_IPR_DC_FLUSH
,
44
RAW_IPR_IC_FLUSH
,
// instruction cache flush control
45
RAW_IPR_ALT_MODE
,
// alternate mode register
46
RAW_IPR_DTB_IA
,
// DTLB invalidate all register
47
RAW_IPR_DTB_IAP
,
// DTLB invalidate all process register
48
RAW_IPR_ITB_IA
,
// ITLB invalidate all register
49
RAW_IPR_ITB_IAP
,
// ITLB invalidate all process register
50
51
//Read only
52
RAW_IPR_INTID
,
// interrupt ID register
53
RAW_IPR_SL_RCV
,
// serial line receive register
54
RAW_IPR_MM_STAT
,
// data MMU fault status register
55
RAW_IPR_ITB_PTE_TEMP
,
// ITLB page table entry temp register
56
RAW_IPR_DTB_PTE_TEMP
,
// DTLB page table entry temporary register
57
58
RAW_IPR_ISR
,
// interrupt summary register
59
RAW_IPR_ITB_TAG
,
// ITLB tag register
60
RAW_IPR_ITB_PTE
,
// ITLB page table entry register
61
RAW_IPR_ITB_ASN
,
// ITLB address space register
62
RAW_IPR_ITB_IS
,
// ITLB invalidate select register
63
RAW_IPR_SIRR
,
// software interrupt request register
64
RAW_IPR_ASTRR
,
// asynchronous system trap request register
65
RAW_IPR_ASTER
,
// asynchronous system trap enable register
66
RAW_IPR_EXC_ADDR
,
// exception address register
67
RAW_IPR_EXC_SUM
,
// exception summary register
68
RAW_IPR_EXC_MASK
,
// exception mask register
69
RAW_IPR_PAL_BASE
,
// PAL base address register
70
RAW_IPR_ICM
,
// instruction current mode
71
RAW_IPR_IPLR
,
// interrupt priority level register
72
RAW_IPR_IFAULT_VA_FORM
,
// formatted faulting virtual addr register
73
RAW_IPR_IVPTBR
,
// virtual page table base register
74
RAW_IPR_ICSR
,
// instruction control and status register
75
RAW_IPR_IC_PERR_STAT
,
// inst cache parity error status register
76
RAW_IPR_PMCTR
,
// performance counter register
77
78
// PAL temporary registers...
79
// register meanings gleaned from osfpal.s source code
80
RAW_IPR_PALtemp0
,
// local scratch
81
RAW_IPR_PALtemp1
,
// local scratch
82
RAW_IPR_PALtemp2
,
// entUna
83
RAW_IPR_PALtemp3
,
// CPU specific impure area pointer
84
RAW_IPR_PALtemp4
,
// memory management temp
85
RAW_IPR_PALtemp5
,
// memory management temp
86
RAW_IPR_PALtemp6
,
// memory management temp
87
RAW_IPR_PALtemp7
,
// entIF
88
RAW_IPR_PALtemp8
,
// intmask
89
RAW_IPR_PALtemp9
,
// entSys
90
RAW_IPR_PALtemp10
,
// ??
91
RAW_IPR_PALtemp11
,
// entInt
92
RAW_IPR_PALtemp12
,
// entArith
93
RAW_IPR_PALtemp13
,
// reserved for platform specific PAL
94
RAW_IPR_PALtemp14
,
// reserved for platform specific PAL
95
RAW_IPR_PALtemp15
,
// reserved for platform specific PAL
96
RAW_IPR_PALtemp16
,
// scratch / whami<7:0> / mces<4:0>
97
RAW_IPR_PALtemp17
,
// sysval
98
RAW_IPR_PALtemp18
,
// usp
99
RAW_IPR_PALtemp19
,
// ksp
100
RAW_IPR_PALtemp20
,
// PTBR
101
RAW_IPR_PALtemp21
,
// entMM
102
RAW_IPR_PALtemp22
,
// kgp
103
RAW_IPR_PALtemp23
,
// PCBB
104
105
RAW_IPR_DTB_ASN
,
// DTLB address space number register
106
RAW_IPR_DTB_CM
,
// DTLB current mode register
107
RAW_IPR_DTB_TAG
,
// DTLB tag register
108
RAW_IPR_DTB_PTE
,
// DTLB page table entry register
109
110
RAW_IPR_VA
,
// fault virtual address register
111
RAW_IPR_VA_FORM
,
// formatted virtual address register
112
RAW_IPR_MVPTBR
,
// MTU virtual page table base register
113
RAW_IPR_DTB_IS
,
// DTLB invalidate single register
114
RAW_IPR_CC
,
// cycle counter register
115
RAW_IPR_CC_CTL
,
// cycle counter control register
116
RAW_IPR_MCSR
,
// MTU control register
117
118
RAW_IPR_DC_PERR_STAT
,
// Dcache parity error status register
119
RAW_IPR_DC_TEST_CTL
,
// Dcache test tag control register
120
RAW_IPR_DC_TEST_TAG
,
// Dcache test tag register
121
RAW_IPR_DC_TEST_TAG_TEMP
,
// Dcache test tag temporary register
122
RAW_IPR_DC_MODE
,
// Dcache mode register
123
RAW_IPR_MAF_MODE
// miss address file mode register
124
};
125
126
int
IprToMiscRegIndex
[
MaxInternalProcRegs
];
127
128
void
129
initializeIprTable
()
130
{
131
static
bool
initialized =
false
;
132
if
(initialized)
133
return
;
134
135
memset(IprToMiscRegIndex, -1,
MaxInternalProcRegs
*
sizeof
(
int
));
136
137
for
(
int
x
= 0;
x
<
NumInternalProcRegs
;
x
++)
138
IprToMiscRegIndex[MiscRegIndexToIpr[
x
]] =
x
;
139
}
140
141
}
// namespace AlphaISA
142
AlphaISA::RAW_IPR_PALtemp19
Definition:
ipr.hh:91
AlphaISA::RAW_IPR_IC_PERR_STAT
Definition:
ipr.hh:67
AlphaISA::RAW_IPR_PALtemp0
Definition:
ipr.hh:72
AlphaISA::RAW_IPR_PALtemp8
Definition:
ipr.hh:80
AlphaISA::RAW_IPR_DTB_IAP
Definition:
ipr.hh:107
AlphaISA::RAW_IPR_PALtemp14
Definition:
ipr.hh:86
AlphaISA::RAW_IPR_CC_CTL
Definition:
ipr.hh:112
AlphaISA::RAW_IPR_PALtemp23
Definition:
ipr.hh:95
AlphaISA::RAW_IPR_ITB_PTE
Definition:
ipr.hh:44
AlphaISA::RAW_IPR_PALtemp3
Definition:
ipr.hh:75
AlphaISA::RAW_IPR_VA
Definition:
ipr.hh:104
AlphaISA::initializeIprTable
void initializeIprTable()
Definition:
ipr.cc:129
AlphaISA::RAW_IPR_PALtemp7
Definition:
ipr.hh:79
ipr.hh
AlphaISA::RAW_IPR_DC_PERR_STAT
Definition:
ipr.hh:116
AlphaISA::RAW_IPR_ITB_TAG
Definition:
ipr.hh:43
AlphaISA::RAW_IPR_PALtemp5
Definition:
ipr.hh:77
AlphaISA::RAW_IPR_VA_FORM
Definition:
ipr.hh:105
AlphaISA::RAW_IPR_PALtemp17
Definition:
ipr.hh:89
AlphaISA::RAW_IPR_PALtemp18
Definition:
ipr.hh:90
AlphaISA::RAW_IPR_ASTER
Definition:
ipr.hh:52
AlphaISA::RAW_IPR_PMCTR
Definition:
ipr.hh:68
AlphaISA::MaxInternalProcRegs
Definition:
ipr.hh:123
AlphaISA::RAW_IPR_HWINT_CLR
Definition:
ipr.hh:62
AlphaISA::RAW_IPR_PALtemp16
Definition:
ipr.hh:88
AlphaISA::RAW_IPR_IVPTBR
Definition:
ipr.hh:61
AlphaISA::RAW_IPR_PALtemp4
Definition:
ipr.hh:76
AlphaISA::RAW_IPR_DTB_TAG
Definition:
ipr.hh:99
AlphaISA::RAW_IPR_DTB_CM
Definition:
ipr.hh:98
AlphaISA::RAW_IPR_PALtemp2
Definition:
ipr.hh:74
AlphaISA::RAW_IPR_PAL_BASE
Definition:
ipr.hh:56
AlphaISA::RAW_IPR_EXC_ADDR
Definition:
ipr.hh:53
AlphaISA::RAW_IPR_IPLR
Definition:
ipr.hh:58
AlphaISA::RAW_IPR_ASTRR
Definition:
ipr.hh:51
AlphaISA::RAW_IPR_DC_FLUSH
Definition:
ipr.hh:115
AlphaISA::RAW_IPR_IFAULT_VA_FORM
Definition:
ipr.hh:60
AlphaISA::RAW_IPR_SL_XMIT
Definition:
ipr.hh:63
AlphaISA::RAW_IPR_PALtemp10
Definition:
ipr.hh:82
AlphaISA::RAW_IPR_PALtemp21
Definition:
ipr.hh:93
AlphaISA::RAW_IPR_ICSR
Definition:
ipr.hh:65
AlphaISA::md_ipr_names
md_ipr_names
Definition:
ipr.hh:41
AlphaISA::RAW_IPR_PALtemp13
Definition:
ipr.hh:85
AlphaISA::RAW_IPR_DC_TEST_CTL
Definition:
ipr.hh:117
AlphaISA::RAW_IPR_ICM
Definition:
ipr.hh:57
AlphaISA::RAW_IPR_MCSR
Definition:
ipr.hh:113
AlphaISA::RAW_IPR_PALtemp6
Definition:
ipr.hh:78
AlphaISA::RAW_IPR_DTB_PTE_TEMP
Definition:
ipr.hh:101
AlphaISA::RAW_IPR_DC_TEST_TAG
Definition:
ipr.hh:118
AlphaISA::RAW_IPR_INTID
Definition:
ipr.hh:59
AlphaISA::RAW_IPR_DTB_PTE
Definition:
ipr.hh:100
AlphaISA::IprToMiscRegIndex
int IprToMiscRegIndex[MaxInternalProcRegs]
Definition:
ipr.cc:126
AlphaISA::RAW_IPR_SL_RCV
Definition:
ipr.hh:64
AlphaISA::RAW_IPR_ITB_IS
Definition:
ipr.hh:49
AlphaISA::RAW_IPR_DTB_IA
Definition:
ipr.hh:108
AlphaISA::RAW_IPR_EXC_MASK
Definition:
ipr.hh:55
AlphaISA::RAW_IPR_DTB_IS
Definition:
ipr.hh:109
AlphaISA::RAW_IPR_MAF_MODE
Definition:
ipr.hh:121
AlphaISA::RAW_IPR_EXC_SUM
Definition:
ipr.hh:54
AlphaISA::RAW_IPR_PALtemp1
Definition:
ipr.hh:73
AlphaISA::RAW_IPR_MM_STAT
Definition:
ipr.hh:103
AlphaISA::RAW_IPR_ITB_PTE_TEMP
Definition:
ipr.hh:46
AlphaISA::RAW_IPR_ITB_ASN
Definition:
ipr.hh:45
AlphaISA::RAW_IPR_SIRR
Definition:
ipr.hh:50
AlphaISA::RAW_IPR_ISR
Definition:
ipr.hh:42
AlphaISA::RAW_IPR_ITB_IAP
Definition:
ipr.hh:48
AlphaISA::RAW_IPR_DTB_ASN
Definition:
ipr.hh:97
AlphaISA::RAW_IPR_PALtemp11
Definition:
ipr.hh:83
AlphaISA::RAW_IPR_PALtemp9
Definition:
ipr.hh:81
AlphaISA::RAW_IPR_MVPTBR
Definition:
ipr.hh:106
AlphaISA::MiscRegIndexToIpr
md_ipr_names MiscRegIndexToIpr[NumInternalProcRegs]
Definition:
ipr.cc:38
AlphaISA::RAW_IPR_IC_FLUSH
Definition:
ipr.hh:66
AlphaISA
Definition:
decoder.cc:33
AlphaISA::RAW_IPR_CC
Definition:
ipr.hh:111
X86ISA::x
Bitfield< 1 > x
Definition:
types.hh:105
AlphaISA::RAW_IPR_PALtemp22
Definition:
ipr.hh:94
AlphaISA::NumInternalProcRegs
Definition:
ipr.hh:217
AlphaISA::RAW_IPR_PALtemp20
Definition:
ipr.hh:92
AlphaISA::RAW_IPR_PALtemp15
Definition:
ipr.hh:87
AlphaISA::RAW_IPR_PALtemp12
Definition:
ipr.hh:84
AlphaISA::RAW_IPR_DC_TEST_TAG_TEMP
Definition:
ipr.hh:119
AlphaISA::RAW_IPR_DC_MODE
Definition:
ipr.hh:120
AlphaISA::RAW_IPR_ALT_MODE
Definition:
ipr.hh:110
AlphaISA::RAW_IPR_ITB_IA
Definition:
ipr.hh:47
Generated on Fri Feb 28 2020 16:26:56 for gem5 by
doxygen
1.8.13