1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
|
/* DO NOT EDIT: GENERATED BY spreg-gen.py.
Copyright (C) 1994-1995 Andrew Cagney <cagney@highland.com.au>
Copyright (C) 1996-2023 Free Software Foundation, Inc.
This file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _SPREG_H_
#define _SPREG_H_
typedef unsigned_word spreg;
typedef enum {
spr_mq = 0,
spr_xer = 1,
spr_rtcu = 4,
spr_rtcl = 5,
spr_lr = 8,
spr_ctr = 9,
spr_dsisr = 18,
spr_dar = 19,
spr_dec = 22,
spr_sdr1 = 25,
spr_srr0 = 26,
spr_srr1 = 27,
spr_vrsave = 256,
spr_tbrl = 268,
spr_tbru = 269,
spr_sprg0 = 272,
spr_sprg1 = 273,
spr_sprg2 = 274,
spr_sprg3 = 275,
spr_ear = 282,
spr_tbl = 284,
spr_tbu = 285,
spr_pvr = 287,
spr_spefscr = 512,
spr_ibat0u = 528,
spr_ibat0l = 529,
spr_ibat1u = 530,
spr_ibat1l = 531,
spr_ibat2u = 532,
spr_ibat2l = 533,
spr_ibat3u = 534,
spr_ibat3l = 535,
spr_dbat0u = 536,
spr_dbat0l = 537,
spr_dbat1u = 538,
spr_dbat1l = 539,
spr_dbat2u = 540,
spr_dbat2l = 541,
spr_dbat3u = 542,
spr_dbat3l = 543,
spr_ummcr0 = 936,
spr_upmc1 = 937,
spr_upmc2 = 938,
spr_usia = 939,
spr_ummcr1 = 940,
spr_upmc3 = 941,
spr_upmc4 = 942,
spr_mmcr0 = 952,
spr_pmc1 = 953,
spr_pmc2 = 954,
spr_sia = 955,
spr_mmcr1 = 956,
spr_pmc3 = 957,
spr_pmc4 = 958,
spr_sda = 959,
spr_dmiss = 976,
spr_dcmp = 977,
spr_hash1 = 978,
spr_hash2 = 979,
spr_imiss = 980,
spr_icmp = 981,
spr_rpa = 982,
spr_hid0 = 1008,
spr_hid1 = 1009,
spr_iabr = 1010,
spr_dabr = 1013,
spr_l2cr = 1017,
spr_ictc = 1019,
spr_thrm1 = 1020,
spr_thrm2 = 1021,
spr_thrm3 = 1022,
spr_pir = 1023,
nr_of_sprs = 1024
} sprs;
INLINE_SPREG(int) spr_is_valid(sprs spr);
INLINE_SPREG(int) spr_is_readonly(sprs spr);
INLINE_SPREG(const char *) spr_name(sprs spr);
INLINE_SPREG(int) spr_index(sprs spr);
INLINE_SPREG(int) spr_length(sprs spr);
#endif /* _SPREG_H_ */
|