]>
git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - sim/ppc/spreg.c
1 /* DO NOT EDIT: GENERATED BY spreg-gen.py.
3 Copyright (C) 1994-1995 Andrew Cagney <cagney@highland.com.au>
4 Copyright (C) 1996-2023 Free Software Foundation, Inc.
6 This file is part of the GNU simulators.
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>. */
27 typedef struct _spreg_info
{
35 static const spreg_info spr_info
[nr_of_sprs
+1] = {
36 { "mq", 1, 0, 0, spr_mq
/*0*/ },
37 { "xer", 1, 0, 0, spr_xer
/*1*/ },
40 { "rtcu", 1, 0, 0, spr_rtcu
/*4*/ },
41 { "rtcl", 1, 0, 0, spr_rtcl
/*5*/ },
44 { "lr", 1, 0, 0, spr_lr
/*8*/ },
45 { "ctr", 1, 0, 0, spr_ctr
/*9*/ },
54 { "dsisr", 1, 0, 0, spr_dsisr
/*18*/ },
55 { "dar", 1, 0, 0, spr_dar
/*19*/ },
58 { "dec", 1, 0, 0, spr_dec
/*22*/ },
61 { "sdr1", 1, 0, 0, spr_sdr1
/*25*/ },
62 { "srr0", 1, 0, 0, spr_srr0
/*26*/ },
63 { "srr1", 1, 0, 0, spr_srr1
/*27*/ },
292 { "vrsave", 1, 0, 0, spr_vrsave
/*256*/ },
304 { "tbrl", 1, 0, 0, spr_tbrl
/*268*/ },
305 { "tbru", 1, 0, 0, spr_tbru
/*269*/ },
308 { "sprg0", 1, 0, 0, spr_sprg0
/*272*/ },
309 { "sprg1", 1, 0, 0, spr_sprg1
/*273*/ },
310 { "sprg2", 1, 0, 0, spr_sprg2
/*274*/ },
311 { "sprg3", 1, 0, 0, spr_sprg3
/*275*/ },
318 { "ear", 1, 0, 0, spr_ear
/*282*/ },
320 { "tbl", 1, 0, 0, spr_tbl
/*284*/ },
321 { "tbu", 1, 0, 0, spr_tbu
/*285*/ },
323 { "pvr", 1, 0, 0, spr_pvr
/*287*/ },
548 { "spefscr", 1, 0, 0, spr_spefscr
/*512*/ },
564 { "ibat0u", 1, 0, 0, spr_ibat0u
/*528*/ },
565 { "ibat0l", 1, 0, 0, spr_ibat0l
/*529*/ },
566 { "ibat1u", 1, 0, 0, spr_ibat1u
/*530*/ },
567 { "ibat1l", 1, 0, 0, spr_ibat1l
/*531*/ },
568 { "ibat2u", 1, 0, 0, spr_ibat2u
/*532*/ },
569 { "ibat2l", 1, 0, 0, spr_ibat2l
/*533*/ },
570 { "ibat3u", 1, 0, 0, spr_ibat3u
/*534*/ },
571 { "ibat3l", 1, 0, 0, spr_ibat3l
/*535*/ },
572 { "dbat0u", 1, 0, 0, spr_dbat0u
/*536*/ },
573 { "dbat0l", 1, 0, 0, spr_dbat0l
/*537*/ },
574 { "dbat1u", 1, 0, 0, spr_dbat1u
/*538*/ },
575 { "dbat1l", 1, 0, 0, spr_dbat1l
/*539*/ },
576 { "dbat2u", 1, 0, 0, spr_dbat2u
/*540*/ },
577 { "dbat2l", 1, 0, 0, spr_dbat2l
/*541*/ },
578 { "dbat3u", 1, 0, 0, spr_dbat3u
/*542*/ },
579 { "dbat3l", 1, 0, 0, spr_dbat3l
/*543*/ },
972 { "ummcr0", 1, 0, 0, spr_ummcr0
/*936*/ },
973 { "upmc1", 1, 0, 0, spr_upmc1
/*937*/ },
974 { "upmc2", 1, 0, 0, spr_upmc2
/*938*/ },
975 { "usia", 1, 0, 0, spr_usia
/*939*/ },
976 { "ummcr1", 1, 0, 0, spr_ummcr1
/*940*/ },
977 { "upmc3", 1, 0, 0, spr_upmc3
/*941*/ },
978 { "upmc4", 1, 0, 0, spr_upmc4
/*942*/ },
988 { "mmcr0", 1, 0, 0, spr_mmcr0
/*952*/ },
989 { "pmc1", 1, 0, 0, spr_pmc1
/*953*/ },
990 { "pmc2", 1, 0, 0, spr_pmc2
/*954*/ },
991 { "sia", 1, 0, 0, spr_sia
/*955*/ },
992 { "mmcr1", 1, 0, 0, spr_mmcr1
/*956*/ },
993 { "pmc3", 1, 0, 0, spr_pmc3
/*957*/ },
994 { "pmc4", 1, 0, 0, spr_pmc4
/*958*/ },
995 { "sda", 1, 0, 0, spr_sda
/*959*/ },
1000 { 0, 0, 0, 0, 964 },
1001 { 0, 0, 0, 0, 965 },
1002 { 0, 0, 0, 0, 966 },
1003 { 0, 0, 0, 0, 967 },
1004 { 0, 0, 0, 0, 968 },
1005 { 0, 0, 0, 0, 969 },
1006 { 0, 0, 0, 0, 970 },
1007 { 0, 0, 0, 0, 971 },
1008 { 0, 0, 0, 0, 972 },
1009 { 0, 0, 0, 0, 973 },
1010 { 0, 0, 0, 0, 974 },
1011 { 0, 0, 0, 0, 975 },
1012 { "dmiss", 1, 0, 0, spr_dmiss
/*976*/ },
1013 { "dcmp", 1, 0, 0, spr_dcmp
/*977*/ },
1014 { "hash1", 1, 0, 0, spr_hash1
/*978*/ },
1015 { "hash2", 1, 0, 0, spr_hash2
/*979*/ },
1016 { "imiss", 1, 0, 0, spr_imiss
/*980*/ },
1017 { "icmp", 1, 0, 0, spr_icmp
/*981*/ },
1018 { "rpa", 1, 0, 0, spr_rpa
/*982*/ },
1019 { 0, 0, 0, 0, 983 },
1020 { 0, 0, 0, 0, 984 },
1021 { 0, 0, 0, 0, 985 },
1022 { 0, 0, 0, 0, 986 },
1023 { 0, 0, 0, 0, 987 },
1024 { 0, 0, 0, 0, 988 },
1025 { 0, 0, 0, 0, 989 },
1026 { 0, 0, 0, 0, 990 },
1027 { 0, 0, 0, 0, 991 },
1028 { 0, 0, 0, 0, 992 },
1029 { 0, 0, 0, 0, 993 },
1030 { 0, 0, 0, 0, 994 },
1031 { 0, 0, 0, 0, 995 },
1032 { 0, 0, 0, 0, 996 },
1033 { 0, 0, 0, 0, 997 },
1034 { 0, 0, 0, 0, 998 },
1035 { 0, 0, 0, 0, 999 },
1036 { 0, 0, 0, 0, 1000 },
1037 { 0, 0, 0, 0, 1001 },
1038 { 0, 0, 0, 0, 1002 },
1039 { 0, 0, 0, 0, 1003 },
1040 { 0, 0, 0, 0, 1004 },
1041 { 0, 0, 0, 0, 1005 },
1042 { 0, 0, 0, 0, 1006 },
1043 { 0, 0, 0, 0, 1007 },
1044 { "hid0", 1, 0, 0, spr_hid0
/*1008*/ },
1045 { "hid1", 1, 0, 0, spr_hid1
/*1009*/ },
1046 { "iabr", 1, 0, 0, spr_iabr
/*1010*/ },
1047 { 0, 0, 0, 0, 1011 },
1048 { 0, 0, 0, 0, 1012 },
1049 { "dabr", 1, 0, 0, spr_dabr
/*1013*/ },
1050 { 0, 0, 0, 0, 1014 },
1051 { 0, 0, 0, 0, 1015 },
1052 { 0, 0, 0, 0, 1016 },
1053 { "l2cr", 1, 0, 0, spr_l2cr
/*1017*/ },
1054 { 0, 0, 0, 0, 1018 },
1055 { "ictc", 1, 0, 0, spr_ictc
/*1019*/ },
1056 { "thrm1", 1, 0, 0, spr_thrm1
/*1020*/ },
1057 { "thrm2", 1, 0, 0, spr_thrm2
/*1021*/ },
1058 { "thrm3", 1, 0, 0, spr_thrm3
/*1022*/ },
1059 { "pir", 1, 0, 0, spr_pir
/*1023*/ },
1060 { 0, 0, 0, 0, 1024 },
1063 INLINE_SPREG(int) spr_is_valid(sprs spr
)
1065 #ifdef WITH_SPREG_SWITCH_TABLE
1143 return spr_info
[spr
].is_valid
;
1147 INLINE_SPREG(int) spr_is_readonly(sprs spr
)
1149 #ifdef WITH_SPREG_SWITCH_TABLE
1152 return spr_info
[spr
].is_readonly
;
1156 INLINE_SPREG(const char *) spr_name(sprs spr
)
1158 return spr_info
[spr
].name
;
1161 INLINE_SPREG(int) spr_index(sprs spr
)
1163 return spr_info
[spr
].index
;
1166 INLINE_SPREG(int) spr_length(sprs spr
)
1168 #ifdef WITH_SPREG_SWITCH_TABLE
1171 return spr_info
[spr
].length
;
1175 #endif /* _SPREG_C_ */