[PATCH v3] Use flexible target descriptions for Linux PowerPC
Rogerio Alves
rcardoso@linux.ibm.com
Fri Jan 29 07:38:03 GMT 2021
From: Rogerio Alves <rogealve@br.ibm.com>
gdb/Changelog:
YYYY-MM-DD Rogerio A. Cardoso <rcardoso@linux.ibm.com>
* ppc-linux-nat.c: Remove include arch/ppc-linux-tdesc.h.
(read_description): Create flexible tdesc with
ppc_create_target_description.
* ppc-linux-tdep.c (_initialize_ppc_linux_tdep): Remove old
target description initializations. Remove includes from
old target descriptions.
(ppc_linux_core_read_description): Add new powerpc features
check to enable avaliable cpu features.
* target-descriptions.c (maint_print_c_tdesc_cmd): Add rs6000/
to features list.
* arch/ppc-linux-common.h: Include "gdbsupport/tdesc.h".
(struct ppc_linux_features) <dscr, ebb, fpscr, pmu, ppr,
struct htm, oea, tar>: New fields.
(struct ppc_linux_features) <isa205, isa207,
ppr_dscr>: Removed fields.
(struct target_desc): Remove declaration.
(ppc_linux_no_features): Initialize new fields.
(ppc_linux_has_isa205): Rename to ppc_linux_has_isa205. Comment
changed.
(ppc_linux_match_description): Rename to
ppc_create_target_description.
* arch/ppc-linux-common.c: Remove include arch/ppc-linux-tdesc.h.
Include rs6000/ features *.c files.
(ppc_create_target_description): New function.
(ppc_linux_match_description): Rename to
ppc_create_target_description. Add new checks to cpu features.
(ppc_linux_has_isa205): Rename to ppc_linux_has_fpscr64.
* arch/ppc-linux-tdesc.h: Remove file.
* features/Makefile: Add rs6000-feature.
(WHICH): Remove rs6000/powerpc-*l files.
(XMLTOC): Remove rs6000/powerpc-*l files.
(FEATURE_XMLFILES): Add rs6000/power-*.xml features.
* features/rs6000/powerpc-32l.xml: Remove file.
* features/rs6000/powerpc-64l.xml: Remove file.
* features/rs6000/powerpc-altivec32l.xml: Remove file.
* features/rs6000/powerpc-altivec64l.xml: Remove file.
* features/rs6000/powerpc-e500l.xml: Remove file.
* features/rs6000/powerpc-isa205-32l.xml: Remove file.
* features/rs6000/powerpc-isa205-64l.xml: Remove file.
* features/rs6000/powerpc-isa205-altivec32l.xml: Remove file.
* features/rs6000/powerpc-isa205-altivec64l.xml: Remove file.
* features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml: Remove file.
* features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml: Remove file.
* features/rs6000/powerpc-isa205-vsx32l.xml: Remove file.
* features/rs6000/powerpc-isa205-vsx64l.xml: Remove file.
* features/rs6000/powerpc-isa207-htm-vsx32l.xml: Remove file.
* features/rs6000/powerpc-isa207-htm-vsx64l.xml: Remove file.
* features/rs6000/powerpc-isa207-vsx32l.xml: Remove file.
* features/rs6000/powerpc-isa207-vsx64l.xml: Remove file.
* features/rs6000/powerpc-vsx32l.xml: Remove file.
* features/rs6000/powerpc-vsx64l.xml: Remove file.
* features/rs6000/powerpc-32l.c: Remove file.
* features/rs6000/powerpc-64l.c: Remove file.
* features/rs6000/powerpc-altivec32l.c: Remove file.
* features/rs6000/powerpc-altivec64l.c: Remove file.
* features/rs6000/powerpc-e500l.c: Remove file.
* features/rs6000/powerpc-isa205-32l.c: Remove file.
* features/rs6000/powerpc-isa205-64l.c: Remove file.
* features/rs6000/powerpc-isa205-altivec32l.c: Remove file.
* features/rs6000/powerpc-isa205-altivec64l.c: Remove file.
* features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c: Remove file.
* features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c: Remove file.
* features/rs6000/powerpc-isa205-vsx32l.c: Remove file.
* features/rs6000/powerpc-isa205-vsx64l.c: Remove file.
* features/rs6000/powerpc-isa207-htm-vsx32l.c: Remove file.
* features/rs6000/powerpc-isa207-htm-vsx64l.c: Remove file.
* features/rs6000/powerpc-isa207-vsx32l.c: Remove file.
* features/rs6000/powerpc-isa207-vsx64l.c: Remove file.
* features/rs6000/powerpc-vsx32l.c: Remove file.
* features/rs6000/powerpc-vsx64l.c: Remove file.
* features/rs6000/power-fpu-isa205.xml: Renamed to
(power-fpu-fpscr64.xml).
* features/rs6000/power-altivec.c: New generated file.
* features/rs6000/power-core.c: New generated file.
* features/rs6000/power64-core.c: New generated file.
* features/rs6000/power-dscr.c: New generated file.
* features/rs6000/power-ebb.c: New generated file.
* features/rs6000/power-fpu-fpscr64.c: New generated file.
* features/rs6000/power-fpu.c: New generated file.
* features/rs6000/power-htm-altivec.c: New generated file.
* features/rs6000/power-htm-core.c: New generated file.
* features/rs6000/power64-htm-core.c: New generated file.
* features/rs6000/power-htm-dscr.c: New generated file.
* features/rs6000/power-htm-fpu.c: New generated file.
* features/rs6000/power-htm-ppr.c: New generated file.
* features/rs6000/power-htm-spr.c: New generated file.
* features/rs6000/power-htm-tar.c: New generated file.
* features/rs6000/power-htm-vsx.c: New generated file.
* features/rs6000/power-linux-pmu.c: New generated file.
* features/rs6000/power-linux.c: New generated file.
* features/rs6000/power64-linux.c: New generated file.
* features/rs6000/power-oea.c: New generated file.
* features/rs6000/power-ppr.c: New generated file.
* features/rs6000/power-spe.c: New generated file.
* features/rs6000/power-tar.c: New generated file.
* features/rs6000/power-vsx.c: New generated file.
* regformats/rs6000/powerpc-32l.dat: Remove file.
* regformats/rs6000/powerpc-64l.dat: Remove file.
* regformats/rs6000/powerpc-altivec32l.dat: Remove file.
* regformats/rs6000/powerpc-altivec64l.dat: Remove file.
* regformats/rs6000/powerpc-e500l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-32l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-64l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-altivec32l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-altivec64l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat: Remove
file.
* regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat: Remove
file.
* regformats/rs6000/powerpc-isa205-vsx32l.dat: Remove file.
* regformats/rs6000/powerpc-isa205-vsx64l.dat: Remove file.
* regformats/rs6000/powerpc-isa207-htm-vsx32l.dat: Remove file.
* regformats/rs6000/powerpc-isa207-htm-vsx64l.dat: Remove file.
* regformats/rs6000/powerpc-isa207-vsx32l.dat: Remove file.
* regformats/rs6000/powerpc-isa207-vsx64l.dat: Remove file.
* regformats/rs6000/powerpc-vsx32l.dat: Remove file.
* regformats/rs6000/powerpc-vsx64l.dat: Remove file.
gdbserver/Changelog:
YYYY-MM-DD Rogerio A. Cardoso <rcardoso@linux.ibm.com>
* configure.srv: (powerpc*-*-linux*): Remove all srv_regobj.
Remove rs6000/powerpc-*l.xml from srv_xmlfiles.
Add linux-ppc-tdesc.o srv_tgtobj. Add linux-ppc-tdesc-ipa.o
and arch/ppc-linux-common-ipa.o to ipa_obj.
* linux-ppc-tdesc-init.h: Remove file.
* linux-ppc-tdesc.h: New file.
* linux-ppc-tdesc.cc: New file.
* linux-ppc-ipa.cc: Remove include linux-ppc-tdesc-init.h.
(get_ipa_tdesc): Remove old static tdesc selections. Return
ppc_linux_read_description.
(initialize_low_tracepoint): Remove registers initializations.
Return ppc_linux_read_description.
* linux-ppc-low.cc: Remove include linux-ppc-tdesc-init.h.
(ppc_arch_setup): Replace ppc_linux_match_description to
ppc_create_target_description. Add new features check.
---
*Changes from v2: (Per Ulrich review) Created descriptions that match with old descriptions
for IPA even if IPA doesn't collects registers other than GPR. Create
new function to convert idx to features. Fix some errors. Remove
unnecessary includes. Add missing cpu features files. (per Pedro Alves
review) fix some typos. Also fix some errors missed in previous patches.
gdb/arch/ppc-linux-common.c | 137 ++++--
gdb/arch/ppc-linux-common.h | 47 ++-
gdb/arch/ppc-linux-tdesc.h | 46 --
gdb/features/Makefile | 55 ++-
gdb/features/rs6000/power-altivec.c | 74 ++++
gdb/features/rs6000/power-core.c | 52 +++
gdb/features/rs6000/power-dscr.c | 14 +
gdb/features/rs6000/power-ebb.c | 16 +
gdb/features/rs6000/power-fpu-fpscr64.c | 48 +++
...r-fpu-isa205.xml => power-fpu-fpscr64.xml} | 0
gdb/features/rs6000/power-fpu.c | 48 +++
gdb/features/rs6000/power-htm-altivec.c | 74 ++++
gdb/features/rs6000/power-htm-core.c | 49 +++
gdb/features/rs6000/power-htm-dscr.c | 14 +
gdb/features/rs6000/power-htm-fpu.c | 46 ++
gdb/features/rs6000/power-htm-ppr.c | 14 +
gdb/features/rs6000/power-htm-spr.c | 16 +
gdb/features/rs6000/power-htm-tar.c | 14 +
gdb/features/rs6000/power-htm-vsx.c | 45 ++
gdb/features/rs6000/power-linux-pmu.c | 18 +
gdb/features/rs6000/power-linux.c | 16 +
gdb/features/rs6000/power-oea.c | 62 +++
gdb/features/rs6000/power-ppr.c | 14 +
gdb/features/rs6000/power-spe.c | 49 +++
gdb/features/rs6000/power-tar.c | 14 +
gdb/features/rs6000/power-vsx.c | 45 ++
gdb/features/rs6000/power64-core.c | 52 +++
gdb/features/rs6000/power64-htm-core.c | 49 +++
gdb/features/rs6000/power64-linux.c | 16 +
gdb/features/rs6000/powerpc-32l.c | 97 -----
gdb/features/rs6000/powerpc-32l.xml | 17 -
gdb/features/rs6000/powerpc-64l.c | 97 -----
gdb/features/rs6000/powerpc-64l.xml | 17 -
gdb/features/rs6000/powerpc-altivec32l.c | 160 -------
gdb/features/rs6000/powerpc-altivec32l.xml | 19 -
gdb/features/rs6000/powerpc-altivec64l.c | 160 -------
gdb/features/rs6000/powerpc-altivec64l.xml | 19 -
gdb/features/rs6000/powerpc-e500l.c | 98 -----
gdb/features/rs6000/powerpc-e500l.xml | 14 -
gdb/features/rs6000/powerpc-isa205-32l.c | 97 -----
gdb/features/rs6000/powerpc-isa205-32l.xml | 17 -
gdb/features/rs6000/powerpc-isa205-64l.c | 97 -----
gdb/features/rs6000/powerpc-isa205-64l.xml | 17 -
.../rs6000/powerpc-isa205-altivec32l.c | 160 -------
.../rs6000/powerpc-isa205-altivec32l.xml | 19 -
.../rs6000/powerpc-isa205-altivec64l.c | 160 -------
.../rs6000/powerpc-isa205-altivec64l.xml | 19 -
.../rs6000/powerpc-isa205-ppr-dscr-vsx32l.c | 200 ---------
.../rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml | 18 -
.../rs6000/powerpc-isa205-ppr-dscr-vsx64l.c | 200 ---------
.../rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml | 18 -
gdb/features/rs6000/powerpc-isa205-vsx32l.c | 194 ---------
gdb/features/rs6000/powerpc-isa205-vsx32l.xml | 20 -
gdb/features/rs6000/powerpc-isa205-vsx64l.c | 194 ---------
gdb/features/rs6000/powerpc-isa205-vsx64l.xml | 20 -
.../rs6000/powerpc-isa207-htm-vsx32l.c | 396 ------------------
.../rs6000/powerpc-isa207-htm-vsx32l.xml | 29 --
.../rs6000/powerpc-isa207-htm-vsx64l.c | 396 ------------------
.../rs6000/powerpc-isa207-htm-vsx64l.xml | 29 --
gdb/features/rs6000/powerpc-isa207-vsx32l.c | 215 ----------
gdb/features/rs6000/powerpc-isa207-vsx32l.xml | 21 -
gdb/features/rs6000/powerpc-isa207-vsx64l.c | 215 ----------
gdb/features/rs6000/powerpc-isa207-vsx64l.xml | 21 -
gdb/features/rs6000/powerpc-vsx32l.c | 194 ---------
gdb/features/rs6000/powerpc-vsx32l.xml | 20 -
gdb/features/rs6000/powerpc-vsx64l.c | 194 ---------
gdb/features/rs6000/powerpc-vsx64l.xml | 20 -
gdb/ppc-linux-nat.c | 79 +++-
gdb/ppc-linux-tdep.c | 106 +++--
gdb/regformats/rs6000/powerpc-32l.dat | 78 ----
gdb/regformats/rs6000/powerpc-64l.dat | 78 ----
gdb/regformats/rs6000/powerpc-altivec32l.dat | 112 -----
gdb/regformats/rs6000/powerpc-altivec64l.dat | 112 -----
gdb/regformats/rs6000/powerpc-e500l.dat | 80 ----
gdb/regformats/rs6000/powerpc-isa205-32l.dat | 78 ----
gdb/regformats/rs6000/powerpc-isa205-64l.dat | 78 ----
.../rs6000/powerpc-isa205-altivec32l.dat | 112 -----
.../rs6000/powerpc-isa205-altivec64l.dat | 112 -----
.../rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat | 146 -------
.../rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat | 146 -------
.../rs6000/powerpc-isa205-vsx32l.dat | 144 -------
.../rs6000/powerpc-isa205-vsx64l.dat | 144 -------
.../rs6000/powerpc-isa207-htm-vsx32l.dat | 296 -------------
.../rs6000/powerpc-isa207-htm-vsx64l.dat | 296 -------------
.../rs6000/powerpc-isa207-vsx32l.dat | 155 -------
.../rs6000/powerpc-isa207-vsx64l.dat | 155 -------
gdb/regformats/rs6000/powerpc-vsx32l.dat | 144 -------
gdb/regformats/rs6000/powerpc-vsx64l.dat | 144 -------
gdb/target-descriptions.c | 3 +-
gdbserver/configure.srv | 49 +--
gdbserver/linux-ppc-ipa.cc | 82 +---
gdbserver/linux-ppc-low.cc | 195 ++++-----
gdbserver/linux-ppc-tdesc-init.h | 106 -----
gdbserver/linux-ppc-tdesc.cc | 156 +++++++
gdbserver/linux-ppc-tdesc.h | 46 ++
95 files changed, 1433 insertions(+), 7041 deletions(-)
delete mode 100644 gdb/arch/ppc-linux-tdesc.h
create mode 100644 gdb/features/rs6000/power-altivec.c
create mode 100644 gdb/features/rs6000/power-core.c
create mode 100644 gdb/features/rs6000/power-dscr.c
create mode 100644 gdb/features/rs6000/power-ebb.c
create mode 100644 gdb/features/rs6000/power-fpu-fpscr64.c
rename gdb/features/rs6000/{power-fpu-isa205.xml => power-fpu-fpscr64.xml} (100%)
create mode 100644 gdb/features/rs6000/power-fpu.c
create mode 100644 gdb/features/rs6000/power-htm-altivec.c
create mode 100644 gdb/features/rs6000/power-htm-core.c
create mode 100644 gdb/features/rs6000/power-htm-dscr.c
create mode 100644 gdb/features/rs6000/power-htm-fpu.c
create mode 100644 gdb/features/rs6000/power-htm-ppr.c
create mode 100644 gdb/features/rs6000/power-htm-spr.c
create mode 100644 gdb/features/rs6000/power-htm-tar.c
create mode 100644 gdb/features/rs6000/power-htm-vsx.c
create mode 100644 gdb/features/rs6000/power-linux-pmu.c
create mode 100644 gdb/features/rs6000/power-linux.c
create mode 100644 gdb/features/rs6000/power-oea.c
create mode 100644 gdb/features/rs6000/power-ppr.c
create mode 100644 gdb/features/rs6000/power-spe.c
create mode 100644 gdb/features/rs6000/power-tar.c
create mode 100644 gdb/features/rs6000/power-vsx.c
create mode 100644 gdb/features/rs6000/power64-core.c
create mode 100644 gdb/features/rs6000/power64-htm-core.c
create mode 100644 gdb/features/rs6000/power64-linux.c
delete mode 100644 gdb/features/rs6000/powerpc-32l.c
delete mode 100644 gdb/features/rs6000/powerpc-32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-64l.c
delete mode 100644 gdb/features/rs6000/powerpc-64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-altivec32l.c
delete mode 100644 gdb/features/rs6000/powerpc-altivec32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-altivec64l.c
delete mode 100644 gdb/features/rs6000/powerpc-altivec64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-e500l.c
delete mode 100644 gdb/features/rs6000/powerpc-e500l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-altivec64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa205-vsx64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.c
delete mode 100644 gdb/features/rs6000/powerpc-isa207-vsx64l.xml
delete mode 100644 gdb/features/rs6000/powerpc-vsx32l.c
delete mode 100644 gdb/features/rs6000/powerpc-vsx32l.xml
delete mode 100644 gdb/features/rs6000/powerpc-vsx64l.c
delete mode 100644 gdb/features/rs6000/powerpc-vsx64l.xml
delete mode 100644 gdb/regformats/rs6000/powerpc-32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-altivec32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-altivec64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-e500l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-vsx32l.dat
delete mode 100644 gdb/regformats/rs6000/powerpc-vsx64l.dat
delete mode 100644 gdbserver/linux-ppc-tdesc-init.h
create mode 100644 gdbserver/linux-ppc-tdesc.cc
create mode 100644 gdbserver/linux-ppc-tdesc.h
diff --git a/gdb/arch/ppc-linux-common.c b/gdb/arch/ppc-linux-common.c
index 183fc03395..a5e8263723 100644
--- a/gdb/arch/ppc-linux-common.c
+++ b/gdb/arch/ppc-linux-common.c
@@ -19,7 +19,31 @@
#include "gdbsupport/common-defs.h"
#include "arch/ppc-linux-common.h"
-#include "arch/ppc-linux-tdesc.h"
+
+#include "../features/rs6000/power-altivec.c"
+#include "../features/rs6000/power-core.c"
+#include "../features/rs6000/power-dscr.c"
+#include "../features/rs6000/power-ebb.c"
+#include "../features/rs6000/power-fpu-fpscr64.c"
+#include "../features/rs6000/power-fpu.c"
+#include "../features/rs6000/power-htm-altivec.c"
+#include "../features/rs6000/power-htm-core.c"
+#include "../features/rs6000/power-htm-dscr.c"
+#include "../features/rs6000/power-htm-fpu.c"
+#include "../features/rs6000/power-htm-ppr.c"
+#include "../features/rs6000/power-htm-spr.c"
+#include "../features/rs6000/power-htm-tar.c"
+#include "../features/rs6000/power-htm-vsx.c"
+#include "../features/rs6000/power-linux-pmu.c"
+#include "../features/rs6000/power-linux.c"
+#include "../features/rs6000/power-ppr.c"
+#include "../features/rs6000/power-oea.c"
+#include "../features/rs6000/power-spe.c"
+#include "../features/rs6000/power-tar.c"
+#include "../features/rs6000/power-vsx.c"
+#include "../features/rs6000/power64-core.c"
+#include "../features/rs6000/power64-htm-core.c"
+#include "../features/rs6000/power64-linux.c"
/* Decimal Floating Point bit in AT_HWCAP.
@@ -31,56 +55,105 @@
#endif
bool
-ppc_linux_has_isa205 (CORE_ADDR hwcap)
+ppc_linux_has_fpscr64 (CORE_ADDR hwcap)
{
/* Power ISA 2.05 (implemented by Power 6 and newer processors)
- increases the FPSCR from 32 bits to 64 bits. Even though Power 7
- supports this ISA version, it doesn't have PPC_FEATURE_ARCH_2_05
- set, only PPC_FEATURE_ARCH_2_06. Since for now the only bits
+ increases the FPSCR from 32 bits to 64 bits. Since for now the only bits
used in the higher half of the register are for Decimal Floating
Point, we check if that feature is available to decide the size
of the FPSCR. */
return ((hwcap & PPC_FEATURE_HAS_DFP) != 0);
}
-const struct target_desc *
-ppc_linux_match_description (struct ppc_linux_features features)
+target_desc *
+ppc_linux_create_target_description (struct ppc_linux_features features)
{
- struct target_desc *tdesc = NULL;
+ target_desc *tdesc = allocate_target_description ();
+ long regnum = 0;
if (features.wordsize == 8)
{
- if (features.vsx)
- tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx64l
- : features.isa207? tdesc_powerpc_isa207_vsx64l
- : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx64l
- : features.isa205? tdesc_powerpc_isa205_vsx64l
- : tdesc_powerpc_vsx64l);
- else if (features.altivec)
- tdesc = (features.isa205? tdesc_powerpc_isa205_altivec64l
- : tdesc_powerpc_altivec64l);
- else
- tdesc = (features.isa205? tdesc_powerpc_isa205_64l
- : tdesc_powerpc_64l);
+ #ifndef IN_PROCESS_AGENT
+ set_tdesc_architecture (tdesc, "power:common64");
+ set_tdesc_osabi (tdesc, "GNU/Linux");
+ #endif
+ regnum = create_feature_rs6000_power64_core (tdesc, regnum);
+ regnum = create_feature_rs6000_power64_linux (tdesc, regnum);
+
+ if (features.htm.core)
+ regnum = create_feature_rs6000_power64_htm_core (tdesc, regnum);
}
else
{
gdb_assert (features.wordsize == 4);
- if (features.vsx)
- tdesc = (features.htm? tdesc_powerpc_isa207_htm_vsx32l
- : features.isa207? tdesc_powerpc_isa207_vsx32l
- : features.ppr_dscr? tdesc_powerpc_isa205_ppr_dscr_vsx32l
- : features.isa205? tdesc_powerpc_isa205_vsx32l
- : tdesc_powerpc_vsx32l);
- else if (features.altivec)
- tdesc = (features.isa205? tdesc_powerpc_isa205_altivec32l
- : tdesc_powerpc_altivec32l);
- else
- tdesc = (features.isa205? tdesc_powerpc_isa205_32l
- : tdesc_powerpc_32l);
+ #ifndef IN_PROCESS_AGENT
+ set_tdesc_architecture (tdesc, "power:common");
+ set_tdesc_osabi (tdesc, "GNU/Linux");
+ #endif
+ regnum = create_feature_rs6000_power_core (tdesc, regnum);
+ regnum = create_feature_rs6000_power_linux (tdesc, regnum);
+
+ if (features.htm.core)
+ regnum = create_feature_rs6000_power_htm_core (tdesc, regnum);
+ }
+
+ if (features.altivec)
+ regnum = create_feature_rs6000_power_altivec (tdesc, regnum);
+
+ if (features.dscr)
+ regnum = create_feature_rs6000_power_dscr (tdesc, regnum);
+
+ if (features.ebb)
+ regnum = create_feature_rs6000_power_ebb (tdesc, regnum);
+
+ if (features.fpscr64)
+ regnum = create_feature_rs6000_power_fpu_fpscr64 (tdesc, regnum);
+ else
+ regnum = create_feature_rs6000_power_fpu (tdesc, regnum);
+
+ if (features.htm.core)
+ {
+ if (features.htm.altivec)
+ regnum = create_feature_rs6000_power_htm_altivec (tdesc, regnum);
+
+ if (features.htm.dscr)
+ regnum = create_feature_rs6000_power_htm_dscr (tdesc, regnum);
+
+ if (features.htm.fpu)
+ regnum = create_feature_rs6000_power_htm_fpu (tdesc, regnum);
+
+ if (features.htm.ppr)
+ regnum = create_feature_rs6000_power_htm_ppr (tdesc, regnum);
+
+ if (features.htm.spr)
+ regnum = create_feature_rs6000_power_htm_spr (tdesc, regnum);
+
+ if (features.htm.tar)
+ regnum = create_feature_rs6000_power_htm_tar (tdesc, regnum);
+
+ if (features.htm.vsx)
+ regnum = create_feature_rs6000_power_htm_vsx (tdesc, regnum);
}
+ if (features.oea)
+ regnum = create_feature_rs6000_power_oea (tdesc, regnum);
+
+ if (features.pmu)
+ regnum = create_feature_rs6000_power_linux_pmu (tdesc, regnum);
+
+ if (features.ppr)
+ regnum = create_feature_rs6000_power_ppr (tdesc, regnum);
+
+ if (features.spe)
+ regnum = create_feature_rs6000_power_spe (tdesc, regnum);
+
+ if (features.tar)
+ regnum = create_feature_rs6000_power_tar (tdesc, regnum);
+
+ if (features.vsx)
+ regnum = create_feature_rs6000_power_vsx (tdesc, regnum);
+
gdb_assert (tdesc != NULL);
return tdesc;
diff --git a/gdb/arch/ppc-linux-common.h b/gdb/arch/ppc-linux-common.h
index 40209abdf1..d89c63f039 100644
--- a/gdb/arch/ppc-linux-common.h
+++ b/gdb/arch/ppc-linux-common.h
@@ -20,7 +20,7 @@
#ifndef ARCH_PPC_LINUX_COMMON_H
#define ARCH_PPC_LINUX_COMMON_H
-struct target_desc;
+#include "gdbsupport/tdesc.h"
/* The core file VMX regset has 34 16-byte fields (32 16-byte vector
registers, plus two fields containing 4-byte registers, VSCR and
@@ -45,19 +45,34 @@ struct target_desc;
#define PPC_LINUX_SIZEOF_CDSCRREGSET 8
#define PPC_LINUX_SIZEOF_CTARREGSET 8
-/* Check if the hwcap auxv entry indicates that isa205 is supported. */
-bool ppc_linux_has_isa205 (CORE_ADDR hwcap);
+/* Check if the hwcap auxv entry indicates that FPSCR is 64 bits. */
+bool ppc_linux_has_fpscr64 (CORE_ADDR hwcap);
/* Features used to determine the target description. */
struct ppc_linux_features
{
unsigned int wordsize;
bool altivec;
+ bool dscr;
+ bool ebb;
+ bool fpscr64;
+ struct htm
+ {
+ bool altivec;
+ bool core;
+ bool dscr;
+ bool fpu;
+ bool ppr;
+ bool spr;
+ bool tar;
+ bool vsx;
+ } htm;
+ bool oea;
+ bool pmu;
+ bool ppr;
+ bool spe;
+ bool tar;
bool vsx;
- bool isa205;
- bool ppr_dscr;
- bool isa207;
- bool htm;
};
/* Base value for ppc_linux_features variables. */
@@ -67,12 +82,26 @@ const struct ppc_linux_features ppc_linux_no_features = {
false,
false,
false,
+ {
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ false,
+ },
+ false,
+ false,
+ false,
+ false,
false,
false,
};
-/* Return a target description that matches FEATURES. */
-const struct target_desc * ppc_linux_match_description
+/* Create a target description that matches FEATURES. */
+target_desc * ppc_linux_create_target_description
(struct ppc_linux_features features);
#endif /* ARCH_PPC_LINUX_COMMON_H */
diff --git a/gdb/arch/ppc-linux-tdesc.h b/gdb/arch/ppc-linux-tdesc.h
deleted file mode 100644
index 082123748e..0000000000
--- a/gdb/arch/ppc-linux-tdesc.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Target description declarations shared between gdb, gdbserver and IPA.
-
- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- 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 ARCH_PPC_LINUX_TDESC_H
-#define ARCH_PPC_LINUX_TDESC_H
-
-struct target_desc;
-
-extern struct target_desc *tdesc_powerpc_32l;
-extern struct target_desc *tdesc_powerpc_altivec32l;
-extern struct target_desc *tdesc_powerpc_vsx32l;
-extern struct target_desc *tdesc_powerpc_isa205_32l;
-extern struct target_desc *tdesc_powerpc_isa205_altivec32l;
-extern struct target_desc *tdesc_powerpc_isa205_vsx32l;
-extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l;
-extern struct target_desc *tdesc_powerpc_isa207_vsx32l;
-extern struct target_desc *tdesc_powerpc_isa207_htm_vsx32l;
-extern struct target_desc *tdesc_powerpc_e500l;
-
-extern struct target_desc *tdesc_powerpc_64l;
-extern struct target_desc *tdesc_powerpc_altivec64l;
-extern struct target_desc *tdesc_powerpc_vsx64l;
-extern struct target_desc *tdesc_powerpc_isa205_64l;
-extern struct target_desc *tdesc_powerpc_isa205_altivec64l;
-extern struct target_desc *tdesc_powerpc_isa205_vsx64l;
-extern struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l;
-extern struct target_desc *tdesc_powerpc_isa207_vsx64l;
-extern struct target_desc *tdesc_powerpc_isa207_htm_vsx64l;
-
-#endif /* ARCH_PPC_LINUX_TDESC_H */
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index cc65baa6ed..0ff5d89eb2 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -50,18 +50,6 @@ WHICH = arm/arm-with-iwmmxt arm/arm-with-vfpv2 arm/arm-with-vfpv3 \
microblaze-with-stack-protect \
mips64-linux mips64-dsp-linux \
nios2-linux \
- rs6000/powerpc-32 \
- rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \
- rs6000/powerpc-64l rs6000/powerpc-altivec64l rs6000/powerpc-vsx32l \
- rs6000/powerpc-vsx64l \
- rs6000/powerpc-isa205-32l rs6000/powerpc-isa205-64l \
- rs6000/powerpc-isa205-altivec32l rs6000/powerpc-isa205-altivec64l \
- rs6000/powerpc-isa205-vsx32l rs6000/powerpc-isa205-vsx64l \
- rs6000/powerpc-isa205-ppr-dscr-vsx32l \
- rs6000/powerpc-isa205-ppr-dscr-vsx64l \
- rs6000/powerpc-isa207-vsx32l rs6000/powerpc-isa207-vsx64l \
- rs6000/powerpc-isa207-htm-vsx32l \
- rs6000/powerpc-isa207-htm-vsx64l \
s390-linux32 s390-linux64 s390x-linux64 \
s390-linux32v1 s390-linux64v1 s390x-linux64v1 \
s390-linux32v2 s390-linux64v2 s390x-linux64v2 \
@@ -118,7 +106,6 @@ XMLTOC = \
nios2.xml \
or1k.xml \
rs6000/powerpc-32.xml \
- rs6000/powerpc-32l.xml \
rs6000/powerpc-403.xml \
rs6000/powerpc-403gc.xml \
rs6000/powerpc-405.xml \
@@ -128,32 +115,14 @@ XMLTOC = \
rs6000/powerpc-603.xml \
rs6000/powerpc-604.xml \
rs6000/powerpc-64.xml \
- rs6000/powerpc-64l.xml \
rs6000/powerpc-7400.xml \
rs6000/powerpc-750.xml \
rs6000/powerpc-860.xml \
rs6000/powerpc-altivec32.xml \
- rs6000/powerpc-altivec32l.xml \
rs6000/powerpc-altivec64.xml \
- rs6000/powerpc-altivec64l.xml \
rs6000/powerpc-e500.xml \
- rs6000/powerpc-e500l.xml \
- rs6000/powerpc-isa205-32l.xml \
- rs6000/powerpc-isa205-64l.xml \
- rs6000/powerpc-isa205-altivec32l.xml \
- rs6000/powerpc-isa205-altivec64l.xml \
- rs6000/powerpc-isa205-vsx32l.xml \
- rs6000/powerpc-isa205-vsx64l.xml \
- rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml \
- rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml \
- rs6000/powerpc-isa207-vsx32l.xml \
- rs6000/powerpc-isa207-vsx64l.xml \
- rs6000/powerpc-isa207-htm-vsx32l.xml \
- rs6000/powerpc-isa207-htm-vsx64l.xml \
rs6000/powerpc-vsx32.xml \
- rs6000/powerpc-vsx32l.xml \
rs6000/powerpc-vsx64.xml \
- rs6000/powerpc-vsx64l.xml \
rs6000/rs6000.xml \
rx.xml \
s390-linux32.xml \
@@ -182,6 +151,7 @@ aarch64-feature = 1
arm-feature = 1
i386-feature = 1
riscv-feature = 1
+rs6000-feature =1
tic6x-feature = 1
all: $(OUTPUTS)
@@ -237,6 +207,29 @@ FEATURE_XMLFILES = aarch64-core.xml \
riscv/64bit-cpu.xml \
riscv/64bit-csr.xml \
riscv/64bit-fpu.xml \
+ rs6000/power64-core.xml \
+ rs6000/power64-htm-core.xml \
+ rs6000/power64-linux.xml \
+ rs6000/power-altivec.xml \
+ rs6000/power-core.xml \
+ rs6000/power-dscr.xml \
+ rs6000/power-ebb.xml \
+ rs6000/power-fpu-fpscr64.xml \
+ rs6000/power-fpu.xml \
+ rs6000/power-htm-altivec.xml \
+ rs6000/power-htm-core.xml \
+ rs6000/power-htm-dscr.xml \
+ rs6000/power-htm-fpu.xml \
+ rs6000/power-htm-ppr.xml \
+ rs6000/power-htm-spr.xml \
+ rs6000/power-htm-tar.xml \
+ rs6000/power-htm-vsx.xml \
+ rs6000/power-linux-pmu.xml \
+ rs6000/power-linux.xml \
+ rs6000/power-ppr.xml \
+ rs6000/power-spe.xml \
+ rs6000/power-tar.xml \
+ rs6000/power-vsx.xml \
rx.xml \
tic6x-c6xp.xml \
tic6x-core.xml \
diff --git a/gdb/features/rs6000/power-altivec.c b/gdb/features/rs6000/power-altivec.c
new file mode 100644
index 0000000000..ec9ccd7bdb
--- /dev/null
+++ b/gdb/features/rs6000/power-altivec.c
@@ -0,0 +1,74 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-altivec.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_altivec (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
+ tdesc_type *element_type;
+ element_type = tdesc_named_type (feature, "ieee_single");
+ tdesc_create_vector (feature, "v4f", element_type, 4);
+
+ element_type = tdesc_named_type (feature, "int32");
+ tdesc_create_vector (feature, "v4i32", element_type, 4);
+
+ element_type = tdesc_named_type (feature, "int16");
+ tdesc_create_vector (feature, "v8i16", element_type, 8);
+
+ element_type = tdesc_named_type (feature, "int8");
+ tdesc_create_vector (feature, "v16i8", element_type, 16);
+
+ tdesc_type_with_fields *type_with_fields;
+ type_with_fields = tdesc_create_union (feature, "vec128");
+ tdesc_type *field_type;
+ field_type = tdesc_named_type (feature, "uint128");
+ tdesc_add_field (type_with_fields, "uint128", field_type);
+ field_type = tdesc_named_type (feature, "v4f");
+ tdesc_add_field (type_with_fields, "v4_float", field_type);
+ field_type = tdesc_named_type (feature, "v4i32");
+ tdesc_add_field (type_with_fields, "v4_int32", field_type);
+ field_type = tdesc_named_type (feature, "v8i16");
+ tdesc_add_field (type_with_fields, "v8_int16", field_type);
+ field_type = tdesc_named_type (feature, "v16i8");
+ tdesc_add_field (type_with_fields, "v16_int8", field_type);
+
+ tdesc_create_reg (feature, "vr0", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr1", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr2", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr3", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr4", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr5", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr6", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr7", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr8", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr9", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr10", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr11", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr12", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr13", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr14", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr15", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr16", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr17", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr18", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr19", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr20", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr21", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr22", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr23", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr24", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr25", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr26", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr27", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr28", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr29", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr30", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vr31", regnum++, 1, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "vscr", regnum++, 1, "vector", 32, "int");
+ tdesc_create_reg (feature, "vrsave", regnum++, 1, "vector", 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-core.c b/gdb/features/rs6000/power-core.c
new file mode 100644
index 0000000000..41573ba4cc
--- /dev/null
+++ b/gdb/features/rs6000/power-core.c
@@ -0,0 +1,52 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-core.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_core (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
+ tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r13", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r14", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r15", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r16", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r17", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r18", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r19", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r20", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r21", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r22", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r23", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r24", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r25", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r26", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r27", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r28", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r29", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r30", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "r31", regnum++, 1, NULL, 32, "uint32");
+ regnum = 64;
+ tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 32, "code_ptr");
+ tdesc_create_reg (feature, "msr", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 32, "code_ptr");
+ tdesc_create_reg (feature, "ctr", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "xer", regnum++, 1, NULL, 32, "uint32");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-dscr.c b/gdb/features/rs6000/power-dscr.c
new file mode 100644
index 0000000000..71b87f9563
--- /dev/null
+++ b/gdb/features/rs6000/power-dscr.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-dscr.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_dscr (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
+ tdesc_create_reg (feature, "dscr", regnum++, 1, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-ebb.c b/gdb/features/rs6000/power-ebb.c
new file mode 100644
index 0000000000..5c2d359f3c
--- /dev/null
+++ b/gdb/features/rs6000/power-ebb.c
@@ -0,0 +1,16 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-ebb.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_ebb (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
+ tdesc_create_reg (feature, "bescr", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "ebbhr", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "ebbrr", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-fpu-fpscr64.c b/gdb/features/rs6000/power-fpu-fpscr64.c
new file mode 100644
index 0000000000..b8340fb291
--- /dev/null
+++ b/gdb/features/rs6000/power-fpu-fpscr64.c
@@ -0,0 +1,48 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-fpu-fpscr64.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_fpu_fpscr64 (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
+ regnum = 32;
+ tdesc_create_reg (feature, "f0", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f1", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f2", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f3", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f4", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f5", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f6", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f7", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f8", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f9", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f10", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f11", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f12", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f13", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f14", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f15", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f16", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f17", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f18", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f19", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f20", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f21", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f22", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f23", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f24", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f25", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f26", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f27", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f28", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f29", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f30", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f31", regnum++, 1, NULL, 64, "ieee_double");
+ regnum = 70;
+ tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 64, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-fpu-isa205.xml b/gdb/features/rs6000/power-fpu-fpscr64.xml
similarity index 100%
rename from gdb/features/rs6000/power-fpu-isa205.xml
rename to gdb/features/rs6000/power-fpu-fpscr64.xml
diff --git a/gdb/features/rs6000/power-fpu.c b/gdb/features/rs6000/power-fpu.c
new file mode 100644
index 0000000000..0a8147aad2
--- /dev/null
+++ b/gdb/features/rs6000/power-fpu.c
@@ -0,0 +1,48 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-fpu.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_fpu (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
+ regnum = 32;
+ tdesc_create_reg (feature, "f0", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f1", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f2", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f3", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f4", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f5", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f6", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f7", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f8", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f9", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f10", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f11", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f12", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f13", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f14", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f15", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f16", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f17", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f18", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f19", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f20", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f21", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f22", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f23", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f24", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f25", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f26", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f27", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f28", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f29", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f30", regnum++, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f31", regnum++, 1, NULL, 64, "ieee_double");
+ regnum = 70;
+ tdesc_create_reg (feature, "fpscr", regnum++, 1, "float", 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-altivec.c b/gdb/features/rs6000/power-htm-altivec.c
new file mode 100644
index 0000000000..029ad33cb8
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-altivec.c
@@ -0,0 +1,74 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-altivec.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_altivec (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
+ tdesc_type *element_type;
+ element_type = tdesc_named_type (feature, "ieee_single");
+ tdesc_create_vector (feature, "v4f", element_type, 4);
+
+ element_type = tdesc_named_type (feature, "int32");
+ tdesc_create_vector (feature, "v4i32", element_type, 4);
+
+ element_type = tdesc_named_type (feature, "int16");
+ tdesc_create_vector (feature, "v8i16", element_type, 8);
+
+ element_type = tdesc_named_type (feature, "int8");
+ tdesc_create_vector (feature, "v16i8", element_type, 16);
+
+ tdesc_type_with_fields *type_with_fields;
+ type_with_fields = tdesc_create_union (feature, "vec128");
+ tdesc_type *field_type;
+ field_type = tdesc_named_type (feature, "uint128");
+ tdesc_add_field (type_with_fields, "uint128", field_type);
+ field_type = tdesc_named_type (feature, "v4f");
+ tdesc_add_field (type_with_fields, "v4_float", field_type);
+ field_type = tdesc_named_type (feature, "v4i32");
+ tdesc_add_field (type_with_fields, "v4_int32", field_type);
+ field_type = tdesc_named_type (feature, "v8i16");
+ tdesc_add_field (type_with_fields, "v8_int16", field_type);
+ field_type = tdesc_named_type (feature, "v16i8");
+ tdesc_add_field (type_with_fields, "v16_int8", field_type);
+
+ tdesc_create_reg (feature, "cvr0", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr1", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr2", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr3", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr4", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr5", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr6", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr7", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr8", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr9", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr10", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr11", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr12", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr13", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr14", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr15", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr16", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr17", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr18", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr19", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr20", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr21", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr22", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr23", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr24", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr25", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr26", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr27", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr28", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr29", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr30", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvr31", regnum++, 0, NULL, 128, "vec128");
+ tdesc_create_reg (feature, "cvscr", regnum++, 0, "vector", 32, "int");
+ tdesc_create_reg (feature, "cvrsave", regnum++, 0, "vector", 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-core.c b/gdb/features/rs6000/power-htm-core.c
new file mode 100644
index 0000000000..d21c79cf5b
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-core.c
@@ -0,0 +1,49 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-core.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_core (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
+ tdesc_create_reg (feature, "cr0", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr1", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr2", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr3", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr4", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr5", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr6", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr7", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr8", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr9", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr10", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr11", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr12", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr13", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr14", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr15", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr16", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr17", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr18", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr19", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr20", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr21", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr22", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr23", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr24", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr25", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr26", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr27", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr28", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr29", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr30", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cr31", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "ccr", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cxer", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "clr", regnum++, 0, NULL, 32, "code_ptr");
+ tdesc_create_reg (feature, "cctr", regnum++, 0, NULL, 32, "uint32");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-dscr.c b/gdb/features/rs6000/power-htm-dscr.c
new file mode 100644
index 0000000000..0b7f2d9c22
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-dscr.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-dscr.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_dscr (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
+ tdesc_create_reg (feature, "cdscr", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-fpu.c b/gdb/features/rs6000/power-htm-fpu.c
new file mode 100644
index 0000000000..8268e97f6f
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-fpu.c
@@ -0,0 +1,46 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-fpu.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_fpu (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
+ tdesc_create_reg (feature, "cf0", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf1", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf2", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf3", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf4", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf5", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf6", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf7", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf8", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf9", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf10", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf11", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf12", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf13", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf14", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf15", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf16", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf17", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf18", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf19", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf20", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf21", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf22", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf23", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf24", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf25", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf26", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf27", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf28", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf29", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf30", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cf31", regnum++, 0, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "cfpscr", regnum++, 0, "float", 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-ppr.c b/gdb/features/rs6000/power-htm-ppr.c
new file mode 100644
index 0000000000..d6470a5701
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-ppr.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-ppr.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_ppr (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
+ tdesc_create_reg (feature, "cppr", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-spr.c b/gdb/features/rs6000/power-htm-spr.c
new file mode 100644
index 0000000000..4170304bc8
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-spr.c
@@ -0,0 +1,16 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-spr.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_spr (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
+ tdesc_create_reg (feature, "tfhar", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "texasr", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "tfiar", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-tar.c b/gdb/features/rs6000/power-htm-tar.c
new file mode 100644
index 0000000000..c9442bfbaa
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-tar.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-tar.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_tar (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
+ tdesc_create_reg (feature, "ctar", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-htm-vsx.c b/gdb/features/rs6000/power-htm-vsx.c
new file mode 100644
index 0000000000..b3f3f3e047
--- /dev/null
+++ b/gdb/features/rs6000/power-htm-vsx.c
@@ -0,0 +1,45 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-htm-vsx.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_htm_vsx (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
+ tdesc_create_reg (feature, "cvs0h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs1h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs2h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs3h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs4h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs5h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs6h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs7h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs8h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs9h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs10h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs11h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs12h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs13h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs14h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs15h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs16h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs17h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs18h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs19h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs20h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs21h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs22h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs23h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs24h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs25h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs26h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs27h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs28h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs29h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs30h", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cvs31h", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-linux-pmu.c b/gdb/features/rs6000/power-linux-pmu.c
new file mode 100644
index 0000000000..abeda3af59
--- /dev/null
+++ b/gdb/features/rs6000/power-linux-pmu.c
@@ -0,0 +1,18 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-linux-pmu.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_linux_pmu (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
+ tdesc_create_reg (feature, "mmcr0", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "mmcr2", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "siar", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "sdar", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "sier", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-linux.c b/gdb/features/rs6000/power-linux.c
new file mode 100644
index 0000000000..63d3e9e4cd
--- /dev/null
+++ b/gdb/features/rs6000/power-linux.c
@@ -0,0 +1,16 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-linux.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_linux (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
+ regnum = 71;
+ tdesc_create_reg (feature, "orig_r3", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "trap", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-oea.c b/gdb/features/rs6000/power-oea.c
new file mode 100644
index 0000000000..e284272374
--- /dev/null
+++ b/gdb/features/rs6000/power-oea.c
@@ -0,0 +1,62 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-oea.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_oea (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "OEA");
+ regnum = 71;
+ tdesc_create_reg (feature, "sr0", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr2", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr3", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr4", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr5", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr6", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr7", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr8", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr9", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr10", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr11", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr12", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr13", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr14", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sr15", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "pvr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat0u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat0l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat1u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat1l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat2u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat2l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat3u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ibat3l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat0u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat0l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat1u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat1l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat2u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat2l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat3u", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dbat3l", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sdr1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "asr", regnum++, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "dar", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dsisr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sprg0", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sprg1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sprg2", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "sprg3", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "srr0", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "srr1", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "tbl", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "tbu", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dec", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dabr", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ear", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-ppr.c b/gdb/features/rs6000/power-ppr.c
new file mode 100644
index 0000000000..ab3768cc9f
--- /dev/null
+++ b/gdb/features/rs6000/power-ppr.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-ppr.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_ppr (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
+ tdesc_create_reg (feature, "ppr", regnum++, 1, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-spe.c b/gdb/features/rs6000/power-spe.c
new file mode 100644
index 0000000000..9e9ca7c9dd
--- /dev/null
+++ b/gdb/features/rs6000/power-spe.c
@@ -0,0 +1,49 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-spe.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_spe (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.spe");
+ regnum = 32;
+ tdesc_create_reg (feature, "ev0h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev1h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev2h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev3h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev4h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev5h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev6h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev7h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev8h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev9h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev10h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev11h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev12h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev13h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev14h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev15h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev16h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev17h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev18h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev19h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev20h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev21h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev22h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev23h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev24h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev25h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev26h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev27h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev28h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev29h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev30h", regnum++, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "ev31h", regnum++, 1, NULL, 32, "int");
+ regnum = 73;
+ tdesc_create_reg (feature, "acc", regnum++, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "spefscr", regnum++, 1, NULL, 32, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-tar.c b/gdb/features/rs6000/power-tar.c
new file mode 100644
index 0000000000..7186d6fd2c
--- /dev/null
+++ b/gdb/features/rs6000/power-tar.c
@@ -0,0 +1,14 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-tar.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_tar (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
+ tdesc_create_reg (feature, "tar", regnum++, 1, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power-vsx.c b/gdb/features/rs6000/power-vsx.c
new file mode 100644
index 0000000000..319eba4b9a
--- /dev/null
+++ b/gdb/features/rs6000/power-vsx.c
@@ -0,0 +1,45 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power-vsx.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power_vsx (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
+ tdesc_create_reg (feature, "vs0h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs1h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs2h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs3h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs4h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs5h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs6h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs7h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs8h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs9h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs10h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs11h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs12h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs13h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs14h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs15h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs16h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs17h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs18h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs19h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs20h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs21h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs22h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs23h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs24h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs25h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs26h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs27h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs28h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs29h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs30h", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "vs31h", regnum++, 1, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power64-core.c b/gdb/features/rs6000/power64-core.c
new file mode 100644
index 0000000000..0390c87676
--- /dev/null
+++ b/gdb/features/rs6000/power64-core.c
@@ -0,0 +1,52 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power64-core.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power64_core (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
+ tdesc_create_reg (feature, "r0", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r1", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r2", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r3", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r4", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r5", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r6", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r7", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r8", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r9", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r10", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r11", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r12", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r13", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r14", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r15", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r16", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r17", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r18", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r19", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r20", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r21", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r22", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r23", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r24", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r25", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r26", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r27", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r28", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r29", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r30", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "r31", regnum++, 1, NULL, 64, "uint64");
+ regnum = 64;
+ tdesc_create_reg (feature, "pc", regnum++, 1, NULL, 64, "code_ptr");
+ tdesc_create_reg (feature, "msr", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr", regnum++, 1, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "lr", regnum++, 1, NULL, 64, "code_ptr");
+ tdesc_create_reg (feature, "ctr", regnum++, 1, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "xer", regnum++, 1, NULL, 32, "uint32");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power64-htm-core.c b/gdb/features/rs6000/power64-htm-core.c
new file mode 100644
index 0000000000..df0640a492
--- /dev/null
+++ b/gdb/features/rs6000/power64-htm-core.c
@@ -0,0 +1,49 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power64-htm-core.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power64_htm_core (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
+ tdesc_create_reg (feature, "cr0", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr1", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr2", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr3", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr4", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr5", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr6", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr7", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr8", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr9", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr10", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr11", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr12", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr13", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr14", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr15", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr16", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr17", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr18", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr19", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr20", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr21", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr22", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr23", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr24", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr25", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr26", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr27", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr28", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr29", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr30", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "cr31", regnum++, 0, NULL, 64, "uint64");
+ tdesc_create_reg (feature, "ccr", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "cxer", regnum++, 0, NULL, 32, "uint32");
+ tdesc_create_reg (feature, "clr", regnum++, 0, NULL, 64, "code_ptr");
+ tdesc_create_reg (feature, "cctr", regnum++, 0, NULL, 64, "uint64");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/power64-linux.c b/gdb/features/rs6000/power64-linux.c
new file mode 100644
index 0000000000..23414679bb
--- /dev/null
+++ b/gdb/features/rs6000/power64-linux.c
@@ -0,0 +1,16 @@
+/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
+ Original: power64-linux.xml */
+
+#include "gdbsupport/tdesc.h"
+
+static int
+create_feature_rs6000_power64_linux (struct target_desc *result, long regnum)
+{
+ struct tdesc_feature *feature;
+
+ feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
+ regnum = 71;
+ tdesc_create_reg (feature, "orig_r3", regnum++, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "trap", regnum++, 1, NULL, 64, "int");
+ return regnum;
+}
diff --git a/gdb/features/rs6000/powerpc-32l.c b/gdb/features/rs6000/powerpc-32l.c
deleted file mode 100644
index 8089c0434e..0000000000
--- a/gdb/features/rs6000/powerpc-32l.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_32l;
-static void
-initialize_tdesc_powerpc_32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- tdesc_powerpc_32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-32l.xml b/gdb/features/rs6000/powerpc-32l.xml
deleted file mode 100644
index f381b7e5de..0000000000
--- a/gdb/features/rs6000/powerpc-32l.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers". -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power-linux.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-64l.c b/gdb/features/rs6000/powerpc-64l.c
deleted file mode 100644
index 408794e13a..0000000000
--- a/gdb/features/rs6000/powerpc-64l.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_64l;
-static void
-initialize_tdesc_powerpc_64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- tdesc_powerpc_64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-64l.xml b/gdb/features/rs6000/powerpc-64l.xml
deleted file mode 100644
index cdc2f19147..0000000000
--- a/gdb/features/rs6000/powerpc-64l.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers". -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power64-linux.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-altivec32l.c b/gdb/features/rs6000/powerpc-altivec32l.c
deleted file mode 100644
index 81862cb9ef..0000000000
--- a/gdb/features/rs6000/powerpc-altivec32l.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-altivec32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_altivec32l;
-static void
-initialize_tdesc_powerpc_altivec32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- tdesc_powerpc_altivec32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-altivec32l.xml b/gdb/features/rs6000/powerpc-altivec32l.xml
deleted file mode 100644
index 956fd49534..0000000000
--- a/gdb/features/rs6000/powerpc-altivec32l.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers" and AltiVec
- vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-altivec64l.c b/gdb/features/rs6000/powerpc-altivec64l.c
deleted file mode 100644
index ce0bc86137..0000000000
--- a/gdb/features/rs6000/powerpc-altivec64l.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-altivec64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_altivec64l;
-static void
-initialize_tdesc_powerpc_altivec64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- tdesc_powerpc_altivec64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-altivec64l.xml b/gdb/features/rs6000/powerpc-altivec64l.xml
deleted file mode 100644
index f0e2f0cdbb..0000000000
--- a/gdb/features/rs6000/powerpc-altivec64l.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers" and AltiVec
- vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-e500l.c b/gdb/features/rs6000/powerpc-e500l.c
deleted file mode 100644
index 61acbf3dd3..0000000000
--- a/gdb/features/rs6000/powerpc-e500l.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-e500l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_e500l;
-static void
-initialize_tdesc_powerpc_e500l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:e500"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.spe");
- tdesc_create_reg (feature, "ev0h", 32, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev1h", 33, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev2h", 34, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev3h", 35, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev4h", 36, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev5h", 37, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev6h", 38, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev7h", 39, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev8h", 40, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev9h", 41, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev10h", 42, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev11h", 43, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev12h", 44, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev13h", 45, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev14h", 46, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev15h", 47, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev16h", 48, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev17h", 49, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev18h", 50, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev19h", 51, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev20h", 52, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev21h", 53, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev22h", 54, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev23h", 55, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev24h", 56, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev25h", 57, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev26h", 58, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev27h", 59, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev28h", 60, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev29h", 61, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev30h", 62, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "ev31h", 63, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "acc", 73, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "spefscr", 74, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- tdesc_powerpc_e500l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-e500l.xml b/gdb/features/rs6000/powerpc-e500l.xml
deleted file mode 100644
index 902fe7900d..0000000000
--- a/gdb/features/rs6000/powerpc-e500l.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:e500</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-spe.xml"/>
- <xi:include href="power-linux.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-32l.c b/gdb/features/rs6000/powerpc-isa205-32l.c
deleted file mode 100644
index de6548fdf7..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-32l.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_32l;
-static void
-initialize_tdesc_powerpc_isa205_32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- tdesc_powerpc_isa205_32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-32l.xml b/gdb/features/rs6000/powerpc-isa205-32l.xml
deleted file mode 100644
index e7a16f66c2..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-32l.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers". -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-64l.c b/gdb/features/rs6000/powerpc-isa205-64l.c
deleted file mode 100644
index cd3b2c10a6..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-64l.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_64l;
-static void
-initialize_tdesc_powerpc_isa205_64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- tdesc_powerpc_isa205_64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-64l.xml b/gdb/features/rs6000/powerpc-isa205-64l.xml
deleted file mode 100644
index 0c65f34fe1..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-64l.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers". -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.c b/gdb/features/rs6000/powerpc-isa205-altivec32l.c
deleted file mode 100644
index 09f5c075c8..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-altivec32l.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-altivec32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_altivec32l;
-static void
-initialize_tdesc_powerpc_isa205_altivec32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- tdesc_powerpc_isa205_altivec32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-altivec32l.xml b/gdb/features/rs6000/powerpc-isa205-altivec32l.xml
deleted file mode 100644
index 66f7b7b9b7..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-altivec32l.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers" and AltiVec
- vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.c b/gdb/features/rs6000/powerpc-isa205-altivec64l.c
deleted file mode 100644
index 246fcef085..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-altivec64l.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-altivec64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_altivec64l;
-static void
-initialize_tdesc_powerpc_isa205_altivec64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- tdesc_powerpc_isa205_altivec64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-altivec64l.xml b/gdb/features/rs6000/powerpc-isa205-altivec64l.xml
deleted file mode 100644
index 75a08c3f87..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-altivec64l.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers" and AltiVec
- vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
deleted file mode 100644
index c8f56ea029..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-ppr-dscr-vsx32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx32l;
-static void
-initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_isa205_ppr_dscr_vsx32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
deleted file mode 100644
index 75cfae9236..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
deleted file mode 100644
index 76e32f3b1b..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c
+++ /dev/null
@@ -1,200 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-ppr-dscr-vsx64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_ppr_dscr_vsx64l;
-static void
-initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_isa205_ppr_dscr_vsx64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml b/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
deleted file mode 100644
index 9e2b246a90..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.c b/gdb/features/rs6000/powerpc-isa205-vsx32l.c
deleted file mode 100644
index 2a6e232e99..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-vsx32l.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-vsx32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_vsx32l;
-static void
-initialize_tdesc_powerpc_isa205_vsx32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_isa205_vsx32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-vsx32l.xml b/gdb/features/rs6000/powerpc-isa205-vsx32l.xml
deleted file mode 100644
index 9aa4fbd988..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-vsx32l.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers", AltiVec
- and VSX vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.c b/gdb/features/rs6000/powerpc-isa205-vsx64l.c
deleted file mode 100644
index d0e32f29b1..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-vsx64l.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa205-vsx64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa205_vsx64l;
-static void
-initialize_tdesc_powerpc_isa205_vsx64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_isa205_vsx64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa205-vsx64l.xml b/gdb/features/rs6000/powerpc-isa205-vsx64l.xml
deleted file mode 100644
index 1d8e8dcdd1..0000000000
--- a/gdb/features/rs6000/powerpc-isa205-vsx64l.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers", AltiVec
- and VSX vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
deleted file mode 100644
index e1b933c8fb..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa207-htm-vsx32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa207_htm_vsx32l;
-static void
-initialize_tdesc_powerpc_isa207_htm_vsx32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
- tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
- tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
- tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
- tdesc_create_reg (feature, "tfhar", 150, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "texasr", 151, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "tfiar", 152, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
- tdesc_create_reg (feature, "cr0", 153, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr1", 154, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr2", 155, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr3", 156, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr4", 157, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr5", 158, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr6", 159, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr7", 160, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr8", 161, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr9", 162, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr10", 163, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr11", 164, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr12", 165, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr13", 166, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr14", 167, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr15", 168, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr16", 169, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr17", 170, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr18", 171, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr19", 172, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr20", 173, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr21", 174, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr22", 175, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr23", 176, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr24", 177, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr25", 178, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr26", 179, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr27", 180, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr28", 181, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr29", 182, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr30", 183, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr31", 184, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "ccr", 185, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cxer", 186, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "clr", 187, 0, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "cctr", 188, 0, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
- tdesc_create_reg (feature, "cf0", 189, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf1", 190, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf2", 191, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf3", 192, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf4", 193, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf5", 194, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf6", 195, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf7", 196, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf8", 197, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf9", 198, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf10", 199, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf11", 200, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf12", 201, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf13", 202, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf14", 203, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf15", 204, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf16", 205, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf17", 206, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf18", 207, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf19", 208, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf20", 209, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf21", 210, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf22", 211, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf23", 212, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf24", 213, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf25", 214, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf26", 215, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf27", 216, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf28", 217, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf29", 218, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf30", 219, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf31", 220, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cfpscr", 221, 0, "float", 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- type_with_fields = tdesc_create_union (feature, "vec128");
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "cvr0", 222, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr1", 223, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr2", 224, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr3", 225, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr4", 226, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr5", 227, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr6", 228, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr7", 229, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr8", 230, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr9", 231, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr10", 232, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr11", 233, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr12", 234, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr13", 235, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr14", 236, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr15", 237, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr16", 238, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr17", 239, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr18", 240, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr19", 241, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr20", 242, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr21", 243, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr22", 244, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr23", 245, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr24", 246, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr25", 247, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr26", 248, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr27", 249, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr28", 250, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr29", 251, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr30", 252, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr31", 253, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvscr", 254, 0, "vector", 32, "int");
- tdesc_create_reg (feature, "cvrsave", 255, 0, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
- tdesc_create_reg (feature, "cvs0h", 256, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs1h", 257, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs2h", 258, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs3h", 259, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs4h", 260, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs5h", 261, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs6h", 262, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs7h", 263, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs8h", 264, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs9h", 265, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs10h", 266, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs11h", 267, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs12h", 268, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs13h", 269, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs14h", 270, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs15h", 271, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs16h", 272, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs17h", 273, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs18h", 274, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs19h", 275, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs20h", 276, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs21h", 277, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs22h", 278, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs23h", 279, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs24h", 280, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs25h", 281, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs26h", 282, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs27h", 283, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs28h", 284, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs29h", 285, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs30h", 286, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs31h", 287, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
- tdesc_create_reg (feature, "cppr", 288, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
- tdesc_create_reg (feature, "cdscr", 289, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
- tdesc_create_reg (feature, "ctar", 290, 0, NULL, 64, "uint64");
-
- tdesc_powerpc_isa207_htm_vsx32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml b/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
deleted file mode 100644
index 083ad1f5f9..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
- <xi:include href="power-tar.xml"/>
- <xi:include href="power-ebb.xml"/>
- <xi:include href="power-linux-pmu.xml"/>
- <xi:include href="power-htm-spr.xml"/>
- <xi:include href="power-htm-core.xml"/>
- <xi:include href="power-htm-fpu.xml"/>
- <xi:include href="power-htm-altivec.xml"/>
- <xi:include href="power-htm-vsx.xml"/>
- <xi:include href="power-htm-ppr.xml"/>
- <xi:include href="power-htm-dscr.xml"/>
- <xi:include href="power-htm-tar.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
deleted file mode 100644
index 0d818d0159..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.c
+++ /dev/null
@@ -1,396 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa207-htm-vsx64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa207_htm_vsx64l;
-static void
-initialize_tdesc_powerpc_isa207_htm_vsx64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
- tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
- tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
- tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.spr");
- tdesc_create_reg (feature, "tfhar", 150, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "texasr", 151, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "tfiar", 152, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.core");
- tdesc_create_reg (feature, "cr0", 153, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr1", 154, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr2", 155, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr3", 156, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr4", 157, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr5", 158, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr6", 159, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr7", 160, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr8", 161, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr9", 162, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr10", 163, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr11", 164, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr12", 165, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr13", 166, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr14", 167, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr15", 168, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr16", 169, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr17", 170, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr18", 171, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr19", 172, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr20", 173, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr21", 174, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr22", 175, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr23", 176, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr24", 177, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr25", 178, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr26", 179, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr27", 180, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr28", 181, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr29", 182, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr30", 183, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr31", 184, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ccr", 185, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cxer", 186, 0, NULL, 32, "uint32");
- tdesc_create_reg (feature, "clr", 187, 0, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "cctr", 188, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.fpu");
- tdesc_create_reg (feature, "cf0", 189, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf1", 190, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf2", 191, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf3", 192, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf4", 193, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf5", 194, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf6", 195, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf7", 196, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf8", 197, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf9", 198, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf10", 199, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf11", 200, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf12", 201, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf13", 202, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf14", 203, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf15", 204, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf16", 205, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf17", 206, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf18", 207, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf19", 208, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf20", 209, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf21", 210, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf22", 211, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf23", 212, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf24", 213, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf25", 214, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf26", 215, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf27", 216, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf28", 217, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf29", 218, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf30", 219, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cf31", 220, 0, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "cfpscr", 221, 0, "float", 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.altivec");
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- type_with_fields = tdesc_create_union (feature, "vec128");
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "cvr0", 222, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr1", 223, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr2", 224, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr3", 225, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr4", 226, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr5", 227, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr6", 228, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr7", 229, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr8", 230, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr9", 231, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr10", 232, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr11", 233, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr12", 234, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr13", 235, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr14", 236, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr15", 237, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr16", 238, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr17", 239, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr18", 240, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr19", 241, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr20", 242, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr21", 243, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr22", 244, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr23", 245, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr24", 246, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr25", 247, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr26", 248, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr27", 249, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr28", 250, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr29", 251, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr30", 252, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvr31", 253, 0, NULL, 128, "vec128");
- tdesc_create_reg (feature, "cvscr", 254, 0, "vector", 32, "int");
- tdesc_create_reg (feature, "cvrsave", 255, 0, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.vsx");
- tdesc_create_reg (feature, "cvs0h", 256, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs1h", 257, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs2h", 258, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs3h", 259, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs4h", 260, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs5h", 261, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs6h", 262, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs7h", 263, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs8h", 264, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs9h", 265, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs10h", 266, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs11h", 267, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs12h", 268, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs13h", 269, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs14h", 270, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs15h", 271, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs16h", 272, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs17h", 273, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs18h", 274, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs19h", 275, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs20h", 276, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs21h", 277, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs22h", 278, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs23h", 279, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs24h", 280, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs25h", 281, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs26h", 282, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs27h", 283, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs28h", 284, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs29h", 285, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs30h", 286, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cvs31h", 287, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.ppr");
- tdesc_create_reg (feature, "cppr", 288, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.dscr");
- tdesc_create_reg (feature, "cdscr", 289, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.htm.tar");
- tdesc_create_reg (feature, "ctar", 290, 0, NULL, 64, "uint64");
-
- tdesc_powerpc_isa207_htm_vsx64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml b/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
deleted file mode 100644
index 36a1450ecb..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
- <xi:include href="power-tar.xml"/>
- <xi:include href="power-ebb.xml"/>
- <xi:include href="power-linux-pmu.xml"/>
- <xi:include href="power-htm-spr.xml"/>
- <xi:include href="power64-htm-core.xml"/>
- <xi:include href="power-htm-fpu.xml"/>
- <xi:include href="power-htm-altivec.xml"/>
- <xi:include href="power-htm-vsx.xml"/>
- <xi:include href="power-htm-ppr.xml"/>
- <xi:include href="power-htm-dscr.xml"/>
- <xi:include href="power-htm-tar.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.c b/gdb/features/rs6000/powerpc-isa207-vsx32l.c
deleted file mode 100644
index 8fe0f5e438..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-vsx32l.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa207-vsx32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa207_vsx32l;
-static void
-initialize_tdesc_powerpc_isa207_vsx32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
- tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
- tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
- tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
-
- tdesc_powerpc_isa207_vsx32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa207-vsx32l.xml b/gdb/features/rs6000/powerpc-isa207-vsx32l.xml
deleted file mode 100644
index 72aa9346c4..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-vsx32l.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
- <xi:include href="power-tar.xml"/>
- <xi:include href="power-ebb.xml"/>
- <xi:include href="power-linux-pmu.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.c b/gdb/features/rs6000/powerpc-isa207-vsx64l.c
deleted file mode 100644
index 0af1879e10..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-vsx64l.c
+++ /dev/null
@@ -1,215 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-isa207-vsx64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_isa207_vsx64l;
-static void
-initialize_tdesc_powerpc_isa207_vsx64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ppr");
- tdesc_create_reg (feature, "ppr", 139, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.dscr");
- tdesc_create_reg (feature, "dscr", 140, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.tar");
- tdesc_create_reg (feature, "tar", 141, 1, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.ebb");
- tdesc_create_reg (feature, "bescr", 142, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbhr", 143, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "ebbrr", 144, 0, NULL, 64, "uint64");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux.pmu");
- tdesc_create_reg (feature, "mmcr0", 145, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "mmcr2", 146, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "siar", 147, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sdar", 148, 0, NULL, 64, "uint64");
- tdesc_create_reg (feature, "sier", 149, 0, NULL, 64, "uint64");
-
- tdesc_powerpc_isa207_vsx64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-isa207-vsx64l.xml b/gdb/features/rs6000/powerpc-isa207-vsx64l.xml
deleted file mode 100644
index fae5990651..0000000000
--- a/gdb/features/rs6000/powerpc-isa207-vsx64l.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2018-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu-isa205.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
- <xi:include href="power-ppr.xml"/>
- <xi:include href="power-dscr.xml"/>
- <xi:include href="power-tar.xml"/>
- <xi:include href="power-ebb.xml"/>
- <xi:include href="power-linux-pmu.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-vsx32l.c b/gdb/features/rs6000/powerpc-vsx32l.c
deleted file mode 100644
index f08df14f9e..0000000000
--- a/gdb/features/rs6000/powerpc-vsx32l.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-vsx32l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_vsx32l;
-static void
-initialize_tdesc_powerpc_vsx32l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 32, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_vsx32l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-vsx32l.xml b/gdb/features/rs6000/powerpc-vsx32l.xml
deleted file mode 100644
index b547142972..0000000000
--- a/gdb/features/rs6000/powerpc-vsx32l.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers", AltiVec
- and VSX vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common</architecture>
- <xi:include href="power-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
-</target>
diff --git a/gdb/features/rs6000/powerpc-vsx64l.c b/gdb/features/rs6000/powerpc-vsx64l.c
deleted file mode 100644
index 1726e6754f..0000000000
--- a/gdb/features/rs6000/powerpc-vsx64l.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro:
- Original: powerpc-vsx64l.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_powerpc_vsx64l;
-static void
-initialize_tdesc_powerpc_vsx64l (void)
-{
- struct target_desc *result = allocate_target_description ();
- set_tdesc_architecture (result, bfd_scan_arch ("powerpc:common64"));
-
- struct tdesc_feature *feature;
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.core");
- tdesc_create_reg (feature, "r0", 0, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r1", 1, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r2", 2, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r3", 3, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r4", 4, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r5", 5, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r6", 6, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r7", 7, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r8", 8, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r9", 9, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r10", 10, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r11", 11, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r12", 12, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r13", 13, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r14", 14, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r15", 15, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r16", 16, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r17", 17, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r18", 18, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r19", 19, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r20", 20, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r21", 21, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r22", 22, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r23", 23, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r24", 24, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r25", 25, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r26", 26, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r27", 27, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r28", 28, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r29", 29, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r30", 30, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "r31", 31, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "pc", 64, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "msr", 65, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "cr", 66, 1, NULL, 32, "uint32");
- tdesc_create_reg (feature, "lr", 67, 1, NULL, 64, "code_ptr");
- tdesc_create_reg (feature, "ctr", 68, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "xer", 69, 1, NULL, 32, "uint32");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.fpu");
- tdesc_create_reg (feature, "f0", 32, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 33, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 34, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 35, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 36, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 37, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fpscr", 70, 1, "float", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.linux");
- tdesc_create_reg (feature, "orig_r3", 71, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "trap", 72, 1, NULL, 64, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.altivec");
- tdesc_type *element_type;
- element_type = tdesc_named_type (feature, "ieee_single");
- tdesc_create_vector (feature, "v4f", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int32");
- tdesc_create_vector (feature, "v4i32", element_type, 4);
-
- element_type = tdesc_named_type (feature, "int16");
- tdesc_create_vector (feature, "v8i16", element_type, 8);
-
- element_type = tdesc_named_type (feature, "int8");
- tdesc_create_vector (feature, "v16i8", element_type, 16);
-
- tdesc_type_with_fields *type_with_fields;
- type_with_fields = tdesc_create_union (feature, "vec128");
- tdesc_type *field_type;
- field_type = tdesc_named_type (feature, "uint128");
- tdesc_add_field (type_with_fields, "uint128", field_type);
- field_type = tdesc_named_type (feature, "v4f");
- tdesc_add_field (type_with_fields, "v4_float", field_type);
- field_type = tdesc_named_type (feature, "v4i32");
- tdesc_add_field (type_with_fields, "v4_int32", field_type);
- field_type = tdesc_named_type (feature, "v8i16");
- tdesc_add_field (type_with_fields, "v8_int16", field_type);
- field_type = tdesc_named_type (feature, "v16i8");
- tdesc_add_field (type_with_fields, "v16_int8", field_type);
-
- tdesc_create_reg (feature, "vr0", 73, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr1", 74, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr2", 75, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr3", 76, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr4", 77, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr5", 78, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr6", 79, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr7", 80, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr8", 81, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr9", 82, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr10", 83, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr11", 84, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr12", 85, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr13", 86, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr14", 87, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr15", 88, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr16", 89, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr17", 90, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr18", 91, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr19", 92, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr20", 93, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr21", 94, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr22", 95, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr23", 96, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr24", 97, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr25", 98, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr26", 99, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr27", 100, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr28", 101, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr29", 102, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr30", 103, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vr31", 104, 1, NULL, 128, "vec128");
- tdesc_create_reg (feature, "vscr", 105, 1, "vector", 32, "int");
- tdesc_create_reg (feature, "vrsave", 106, 1, "vector", 32, "int");
-
- feature = tdesc_create_feature (result, "org.gnu.gdb.power.vsx");
- tdesc_create_reg (feature, "vs0h", 107, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs1h", 108, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs2h", 109, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs3h", 110, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs4h", 111, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs5h", 112, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs6h", 113, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs7h", 114, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs8h", 115, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs9h", 116, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs10h", 117, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs11h", 118, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs12h", 119, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs13h", 120, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs14h", 121, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs15h", 122, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs16h", 123, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs17h", 124, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs18h", 125, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs19h", 126, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs20h", 127, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs21h", 128, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs22h", 129, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs23h", 130, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs24h", 131, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs25h", 132, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs26h", 133, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs27h", 134, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs28h", 135, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs29h", 136, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs30h", 137, 1, NULL, 64, "uint64");
- tdesc_create_reg (feature, "vs31h", 138, 1, NULL, 64, "uint64");
-
- tdesc_powerpc_vsx64l = result;
-}
diff --git a/gdb/features/rs6000/powerpc-vsx64l.xml b/gdb/features/rs6000/powerpc-vsx64l.xml
deleted file mode 100644
index e8a3096664..0000000000
--- a/gdb/features/rs6000/powerpc-vsx64l.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0"?>
-<!-- Copyright (C) 2008-2020 Free Software Foundation, Inc.
-
- Copying and distribution of this file, with or without modification,
- are permitted in any medium without royalty provided the copyright
- notice and this notice are preserved. -->
-
-<!-- PowerPC UISA - a PPC processor as viewed by user-level code. A UISA-only
- view of the PowerPC. Includes Linux-only special "registers", AltiVec
- and VSX vector registers. -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
- <architecture>powerpc:common64</architecture>
- <xi:include href="power64-core.xml"/>
- <xi:include href="power-fpu.xml"/>
- <xi:include href="power64-linux.xml"/>
- <xi:include href="power-altivec.xml"/>
- <xi:include href="power-vsx.xml"/>
-</target>
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index 6be8f022a7..c33db38029 100644
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -51,7 +51,6 @@
#include "auxv.h"
#include "arch/ppc-linux-common.h"
-#include "arch/ppc-linux-tdesc.h"
#include "nat/ppc-linux.h"
#include "linux-tdep.h"
@@ -1944,12 +1943,14 @@ ppc_linux_nat_target::read_description ()
if (tid == 0)
tid = inferior_ptid.pid ();
+ struct ppc_linux_features features = ppc_linux_no_features;
+
if (have_ptrace_getsetevrregs)
{
struct gdb_evrregset_t evrregset;
if (ptrace (PTRACE_GETEVRREGS, tid, 0, &evrregset) >= 0)
- return tdesc_powerpc_e500l;
+ features.spe = true;
/* EIO means that the PTRACE_GETEVRREGS request isn't supported.
Anything else needs to be reported. */
@@ -1957,8 +1958,6 @@ ppc_linux_nat_target::read_description ()
perror_with_name (_("Unable to fetch SPE registers"));
}
- struct ppc_linux_features features = ppc_linux_no_features;
-
features.wordsize = ppc_linux_target_wordsize (tid);
CORE_ADDR hwcap = linux_get_hwcap (current_top_target ());
@@ -1992,29 +1991,67 @@ ppc_linux_nat_target::read_description ()
perror_with_name (_("Unable to fetch AltiVec registers"));
}
- features.isa205 = ppc_linux_has_isa205 (hwcap);
+ features.fpscr64 = ppc_linux_has_fpscr64 (hwcap);
+
+ if (check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
+ features.ppr = true;
if ((hwcap2 & PPC_FEATURE2_DSCR)
- && check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET)
&& check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET))
+ features.dscr = true;
+
+ if (hwcap2 & PPC_FEATURE2_ARCH_2_07)
{
- features.ppr_dscr = true;
- if ((hwcap2 & PPC_FEATURE2_ARCH_2_07)
- && (hwcap2 & PPC_FEATURE2_TAR)
- && (hwcap2 & PPC_FEATURE2_EBB)
- && check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET)
- && check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET)
- && check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
- {
- features.isa207 = true;
- if ((hwcap2 & PPC_FEATURE2_HTM)
- && check_regset (tid, NT_PPC_TM_SPR,
- PPC_LINUX_SIZEOF_TM_SPRREGSET))
- features.htm = true;
- }
+ if ((hwcap2 & PPC_FEATURE2_TAR)
+ && check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET))
+ features.tar = true;
+
+ if ((hwcap2 & PPC_FEATURE2_EBB)
+ && check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET))
+ features.ebb = true;
+
+ if (check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
+ features.pmu = true;
+ }
+
+ if (hwcap2 & PPC_FEATURE2_HTM)
+ {
+ if (check_regset (tid, NT_PPC_TM_CVMX, PPC_LINUX_SIZEOF_CVMXREGSET))
+ features.htm.altivec = true;
+
+ if (features.wordsize == 8)
+ {
+ if (check_regset (tid, NT_PPC_TM_CGPR,
+ PPC64_LINUX_SIZEOF_CGPRREGSET))
+ features.htm.core = true;
+ }
+ else if (features.wordsize == 4)
+ {
+ if (check_regset (tid, NT_PPC_TM_CGPR,
+ PPC32_LINUX_SIZEOF_CGPRREGSET))
+ features.htm.core = true;
+ }
+
+ if (check_regset (tid, NT_PPC_TM_CDSCR, PPC_LINUX_SIZEOF_CDSCRREGSET))
+ features.htm.dscr = true;
+
+ if (check_regset (tid, NT_PPC_TM_CFPR, PPC_LINUX_SIZEOF_CFPRREGSET))
+ features.htm.fpu = true;
+
+ if (check_regset (tid, NT_PPC_TM_CPPR, PPC_LINUX_SIZEOF_CPPRREGSET))
+ features.htm.ppr = true;
+
+ if (check_regset (tid, NT_PPC_TM_SPR, PPC_LINUX_SIZEOF_TM_SPRREGSET))
+ features.htm.spr = true;
+
+ if (check_regset (tid, NT_PPC_TM_CTAR, PPC_LINUX_SIZEOF_CTARREGSET))
+ features.htm.tar = true;
+
+ if (check_regset (tid, NT_PPC_TM_CVSX, PPC_LINUX_SIZEOF_CVSXREGSET))
+ features.htm.vsx = true;
}
- return ppc_linux_match_description (features);
+ return ppc_linux_create_target_description (features);
}
/* Routines for installing hardware watchpoints and breakpoints. When
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 4c4bdacf4d..4a38ac5976 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -37,7 +37,7 @@
#include "ppc64-tdep.h"
#include "ppc-linux-tdep.h"
#include "arch/ppc-linux-common.h"
-#include "arch/ppc-linux-tdesc.h"
+#include "target-descriptions.h"
#include "glibc-tdep.h"
#include "trad-frame.h"
#include "frame-unwind.h"
@@ -62,26 +62,6 @@
#include <ctype.h>
#include "elf-bfd.h"
-#include "features/rs6000/powerpc-32l.c"
-#include "features/rs6000/powerpc-altivec32l.c"
-#include "features/rs6000/powerpc-vsx32l.c"
-#include "features/rs6000/powerpc-isa205-32l.c"
-#include "features/rs6000/powerpc-isa205-altivec32l.c"
-#include "features/rs6000/powerpc-isa205-vsx32l.c"
-#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx32l.c"
-#include "features/rs6000/powerpc-isa207-vsx32l.c"
-#include "features/rs6000/powerpc-isa207-htm-vsx32l.c"
-#include "features/rs6000/powerpc-64l.c"
-#include "features/rs6000/powerpc-altivec64l.c"
-#include "features/rs6000/powerpc-vsx64l.c"
-#include "features/rs6000/powerpc-isa205-64l.c"
-#include "features/rs6000/powerpc-isa205-altivec64l.c"
-#include "features/rs6000/powerpc-isa205-vsx64l.c"
-#include "features/rs6000/powerpc-isa205-ppr-dscr-vsx64l.c"
-#include "features/rs6000/powerpc-isa207-vsx64l.c"
-#include "features/rs6000/powerpc-isa207-htm-vsx64l.c"
-#include "features/rs6000/powerpc-e500l.c"
-
/* Shared library operations for PowerPC-Linux. */
static struct target_so_ops powerpc_so_ops;
@@ -1563,7 +1543,15 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
asection *dscr = bfd_get_section_by_name (abfd, ".reg-ppc-dscr");
asection *tar = bfd_get_section_by_name (abfd, ".reg-ppc-tar");
asection *pmu = bfd_get_section_by_name (abfd, ".reg-ppc-pmu");
+ asection *ebb = bfd_get_section_by_name (abfd, ".reg-ppc-ebb");
+ asection *htmaltivec = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cvmx");
+ asection *htmcore = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cgpr");
+ asection *htmdscr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cdscr");
+ asection *htmfpu = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cfpr");
+ asection *htmppr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cppr");
asection *htmspr = bfd_get_section_by_name (abfd, ".reg-ppc-tm-spr");
+ asection *htmtar = bfd_get_section_by_name (abfd, ".reg-ppc-tm-ctar");
+ asection *htmvsx = bfd_get_section_by_name (abfd, ".reg-ppc-tm-cvsx");
if (! section)
return NULL;
@@ -1588,25 +1576,48 @@ ppc_linux_core_read_description (struct gdbarch *gdbarch,
CORE_ADDR hwcap = linux_get_hwcap (target);
- features.isa205 = ppc_linux_has_isa205 (hwcap);
+ features.fpscr64 = ppc_linux_has_fpscr64 (hwcap);
- if (ppr && dscr)
- {
- features.ppr_dscr = true;
+ if (ppr)
+ features.ppr = true;
- /* We don't require the EBB note section to be present in the
- core file to select isa207 because these registers could have
- been unavailable when the core file was created. They will
- be in the tdep but will show as unavailable. */
- if (tar && pmu)
- {
- features.isa207 = true;
- if (htmspr)
- features.htm = true;
- }
- }
+ if (dscr)
+ features.dscr = true;
+
+ if (tar)
+ features.tar = true;
+
+ if (pmu)
+ features.pmu = true;
+
+ if (ebb)
+ features.ebb = true;
+
+ if (htmaltivec)
+ features.htm.altivec = true;
- return ppc_linux_match_description (features);
+ if (htmcore)
+ features.htm.core = true;
+
+ if (htmdscr)
+ features.htm.dscr = true;
+
+ if (htmfpu)
+ features.htm.fpu = true;
+
+ if (htmppr)
+ features.htm.ppr = true;
+
+ if (htmspr)
+ features.htm.spr = true;
+
+ if (htmtar)
+ features.htm.tar = true;
+
+ if (htmvsx)
+ features.htm.vsx = true;
+
+ return ppc_linux_create_target_description (features);
}
@@ -2167,25 +2178,4 @@ _initialize_ppc_linux_tdep ()
ppc_linux_init_abi);
gdbarch_register_osabi (bfd_arch_rs6000, bfd_mach_rs6k, GDB_OSABI_LINUX,
ppc_linux_init_abi);
-
- /* Initialize the Linux target descriptions. */
- initialize_tdesc_powerpc_32l ();
- initialize_tdesc_powerpc_altivec32l ();
- initialize_tdesc_powerpc_vsx32l ();
- initialize_tdesc_powerpc_isa205_32l ();
- initialize_tdesc_powerpc_isa205_altivec32l ();
- initialize_tdesc_powerpc_isa205_vsx32l ();
- initialize_tdesc_powerpc_isa205_ppr_dscr_vsx32l ();
- initialize_tdesc_powerpc_isa207_vsx32l ();
- initialize_tdesc_powerpc_isa207_htm_vsx32l ();
- initialize_tdesc_powerpc_64l ();
- initialize_tdesc_powerpc_altivec64l ();
- initialize_tdesc_powerpc_vsx64l ();
- initialize_tdesc_powerpc_isa205_64l ();
- initialize_tdesc_powerpc_isa205_altivec64l ();
- initialize_tdesc_powerpc_isa205_vsx64l ();
- initialize_tdesc_powerpc_isa205_ppr_dscr_vsx64l ();
- initialize_tdesc_powerpc_isa207_vsx64l ();
- initialize_tdesc_powerpc_isa207_htm_vsx64l ();
- initialize_tdesc_powerpc_e500l ();
}
diff --git a/gdb/regformats/rs6000/powerpc-32l.dat b/gdb/regformats/rs6000/powerpc-32l.dat
deleted file mode 100644
index 2c8ccbe49b..0000000000
--- a/gdb/regformats/rs6000/powerpc-32l.dat
+++ /dev/null
@@ -1,78 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-32l.xml
-name:powerpc_32l
-xmltarget:powerpc-32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-32:fpscr
-32:orig_r3
-32:trap
diff --git a/gdb/regformats/rs6000/powerpc-64l.dat b/gdb/regformats/rs6000/powerpc-64l.dat
deleted file mode 100644
index 10f43b1624..0000000000
--- a/gdb/regformats/rs6000/powerpc-64l.dat
+++ /dev/null
@@ -1,78 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-64l.xml
-name:powerpc_64l
-xmltarget:powerpc-64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-32:fpscr
-64:orig_r3
-64:trap
diff --git a/gdb/regformats/rs6000/powerpc-altivec32l.dat b/gdb/regformats/rs6000/powerpc-altivec32l.dat
deleted file mode 100644
index c792a2f961..0000000000
--- a/gdb/regformats/rs6000/powerpc-altivec32l.dat
+++ /dev/null
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-altivec32l.xml
-name:powerpc_altivec32l
-xmltarget:powerpc-altivec32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-32:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff --git a/gdb/regformats/rs6000/powerpc-altivec64l.dat b/gdb/regformats/rs6000/powerpc-altivec64l.dat
deleted file mode 100644
index a806141b6e..0000000000
--- a/gdb/regformats/rs6000/powerpc-altivec64l.dat
+++ /dev/null
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-altivec64l.xml
-name:powerpc_altivec64l
-xmltarget:powerpc-altivec64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-32:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff --git a/gdb/regformats/rs6000/powerpc-e500l.dat b/gdb/regformats/rs6000/powerpc-e500l.dat
deleted file mode 100644
index 750eafed7c..0000000000
--- a/gdb/regformats/rs6000/powerpc-e500l.dat
+++ /dev/null
@@ -1,80 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-e500l.xml
-name:powerpc_e500l
-xmltarget:powerpc-e500l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-32:ev0h
-32:ev1h
-32:ev2h
-32:ev3h
-32:ev4h
-32:ev5h
-32:ev6h
-32:ev7h
-32:ev8h
-32:ev9h
-32:ev10h
-32:ev11h
-32:ev12h
-32:ev13h
-32:ev14h
-32:ev15h
-32:ev16h
-32:ev17h
-32:ev18h
-32:ev19h
-32:ev20h
-32:ev21h
-32:ev22h
-32:ev23h
-32:ev24h
-32:ev25h
-32:ev26h
-32:ev27h
-32:ev28h
-32:ev29h
-32:ev30h
-32:ev31h
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-0:
-32:orig_r3
-32:trap
-64:acc
-32:spefscr
diff --git a/gdb/regformats/rs6000/powerpc-isa205-32l.dat b/gdb/regformats/rs6000/powerpc-isa205-32l.dat
deleted file mode 100644
index 7227d06c97..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-32l.dat
+++ /dev/null
@@ -1,78 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-32l.xml
-name:powerpc_isa205_32l
-xmltarget:powerpc-isa205-32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
diff --git a/gdb/regformats/rs6000/powerpc-isa205-64l.dat b/gdb/regformats/rs6000/powerpc-isa205-64l.dat
deleted file mode 100644
index 13a72c7eb8..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-64l.dat
+++ /dev/null
@@ -1,78 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-64l.xml
-name:powerpc_isa205_64l
-xmltarget:powerpc-isa205-64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
diff --git a/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat b/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
deleted file mode 100644
index 051724c613..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-altivec32l.dat
+++ /dev/null
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-altivec32l.xml
-name:powerpc_isa205_altivec32l
-xmltarget:powerpc-isa205-altivec32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff --git a/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat b/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
deleted file mode 100644
index 867e821351..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-altivec64l.dat
+++ /dev/null
@@ -1,112 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-altivec64l.xml
-name:powerpc_isa205_altivec64l
-xmltarget:powerpc-isa205-altivec64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
diff --git a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
deleted file mode 100644
index 31a7d02e95..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx32l.dat
+++ /dev/null
@@ -1,146 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml
-name:powerpc_isa205_ppr_dscr_vsx32l
-xmltarget:powerpc-isa205-ppr-dscr-vsx32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
diff --git a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
deleted file mode 100644
index 74c8feb3ee..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-ppr-dscr-vsx64l.dat
+++ /dev/null
@@ -1,146 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml
-name:powerpc_isa205_ppr_dscr_vsx64l
-xmltarget:powerpc-isa205-ppr-dscr-vsx64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
diff --git a/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
deleted file mode 100644
index fa05cae859..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-vsx32l.dat
+++ /dev/null
@@ -1,144 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-vsx32l.xml
-name:powerpc_isa205_vsx32l
-xmltarget:powerpc-isa205-vsx32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
diff --git a/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
deleted file mode 100644
index 75bd4539ad..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa205-vsx64l.dat
+++ /dev/null
@@ -1,144 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa205-vsx64l.xml
-name:powerpc_isa205_vsx64l
-xmltarget:powerpc-isa205-vsx64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
diff --git a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
deleted file mode 100644
index c19416db86..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx32l.dat
+++ /dev/null
@@ -1,296 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa207-htm-vsx32l.xml
-name:powerpc_isa207_htm_vsx32l
-xmltarget:powerpc-isa207-htm-vsx32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
-64:tar
-64:bescr
-64:ebbhr
-64:ebbrr
-64:mmcr0
-64:mmcr2
-64:siar
-64:sdar
-64:sier
-64:tfhar
-64:texasr
-64:tfiar
-32:cr0
-32:cr1
-32:cr2
-32:cr3
-32:cr4
-32:cr5
-32:cr6
-32:cr7
-32:cr8
-32:cr9
-32:cr10
-32:cr11
-32:cr12
-32:cr13
-32:cr14
-32:cr15
-32:cr16
-32:cr17
-32:cr18
-32:cr19
-32:cr20
-32:cr21
-32:cr22
-32:cr23
-32:cr24
-32:cr25
-32:cr26
-32:cr27
-32:cr28
-32:cr29
-32:cr30
-32:cr31
-32:ccr
-32:cxer
-32:clr
-32:cctr
-64:cf0
-64:cf1
-64:cf2
-64:cf3
-64:cf4
-64:cf5
-64:cf6
-64:cf7
-64:cf8
-64:cf9
-64:cf10
-64:cf11
-64:cf12
-64:cf13
-64:cf14
-64:cf15
-64:cf16
-64:cf17
-64:cf18
-64:cf19
-64:cf20
-64:cf21
-64:cf22
-64:cf23
-64:cf24
-64:cf25
-64:cf26
-64:cf27
-64:cf28
-64:cf29
-64:cf30
-64:cf31
-64:cfpscr
-128:cvr0
-128:cvr1
-128:cvr2
-128:cvr3
-128:cvr4
-128:cvr5
-128:cvr6
-128:cvr7
-128:cvr8
-128:cvr9
-128:cvr10
-128:cvr11
-128:cvr12
-128:cvr13
-128:cvr14
-128:cvr15
-128:cvr16
-128:cvr17
-128:cvr18
-128:cvr19
-128:cvr20
-128:cvr21
-128:cvr22
-128:cvr23
-128:cvr24
-128:cvr25
-128:cvr26
-128:cvr27
-128:cvr28
-128:cvr29
-128:cvr30
-128:cvr31
-32:cvscr
-32:cvrsave
-64:cvs0h
-64:cvs1h
-64:cvs2h
-64:cvs3h
-64:cvs4h
-64:cvs5h
-64:cvs6h
-64:cvs7h
-64:cvs8h
-64:cvs9h
-64:cvs10h
-64:cvs11h
-64:cvs12h
-64:cvs13h
-64:cvs14h
-64:cvs15h
-64:cvs16h
-64:cvs17h
-64:cvs18h
-64:cvs19h
-64:cvs20h
-64:cvs21h
-64:cvs22h
-64:cvs23h
-64:cvs24h
-64:cvs25h
-64:cvs26h
-64:cvs27h
-64:cvs28h
-64:cvs29h
-64:cvs30h
-64:cvs31h
-64:cppr
-64:cdscr
-64:ctar
diff --git a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
deleted file mode 100644
index 38359959fd..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa207-htm-vsx64l.dat
+++ /dev/null
@@ -1,296 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa207-htm-vsx64l.xml
-name:powerpc_isa207_htm_vsx64l
-xmltarget:powerpc-isa207-htm-vsx64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
-64:tar
-64:bescr
-64:ebbhr
-64:ebbrr
-64:mmcr0
-64:mmcr2
-64:siar
-64:sdar
-64:sier
-64:tfhar
-64:texasr
-64:tfiar
-64:cr0
-64:cr1
-64:cr2
-64:cr3
-64:cr4
-64:cr5
-64:cr6
-64:cr7
-64:cr8
-64:cr9
-64:cr10
-64:cr11
-64:cr12
-64:cr13
-64:cr14
-64:cr15
-64:cr16
-64:cr17
-64:cr18
-64:cr19
-64:cr20
-64:cr21
-64:cr22
-64:cr23
-64:cr24
-64:cr25
-64:cr26
-64:cr27
-64:cr28
-64:cr29
-64:cr30
-64:cr31
-32:ccr
-32:cxer
-64:clr
-64:cctr
-64:cf0
-64:cf1
-64:cf2
-64:cf3
-64:cf4
-64:cf5
-64:cf6
-64:cf7
-64:cf8
-64:cf9
-64:cf10
-64:cf11
-64:cf12
-64:cf13
-64:cf14
-64:cf15
-64:cf16
-64:cf17
-64:cf18
-64:cf19
-64:cf20
-64:cf21
-64:cf22
-64:cf23
-64:cf24
-64:cf25
-64:cf26
-64:cf27
-64:cf28
-64:cf29
-64:cf30
-64:cf31
-64:cfpscr
-128:cvr0
-128:cvr1
-128:cvr2
-128:cvr3
-128:cvr4
-128:cvr5
-128:cvr6
-128:cvr7
-128:cvr8
-128:cvr9
-128:cvr10
-128:cvr11
-128:cvr12
-128:cvr13
-128:cvr14
-128:cvr15
-128:cvr16
-128:cvr17
-128:cvr18
-128:cvr19
-128:cvr20
-128:cvr21
-128:cvr22
-128:cvr23
-128:cvr24
-128:cvr25
-128:cvr26
-128:cvr27
-128:cvr28
-128:cvr29
-128:cvr30
-128:cvr31
-32:cvscr
-32:cvrsave
-64:cvs0h
-64:cvs1h
-64:cvs2h
-64:cvs3h
-64:cvs4h
-64:cvs5h
-64:cvs6h
-64:cvs7h
-64:cvs8h
-64:cvs9h
-64:cvs10h
-64:cvs11h
-64:cvs12h
-64:cvs13h
-64:cvs14h
-64:cvs15h
-64:cvs16h
-64:cvs17h
-64:cvs18h
-64:cvs19h
-64:cvs20h
-64:cvs21h
-64:cvs22h
-64:cvs23h
-64:cvs24h
-64:cvs25h
-64:cvs26h
-64:cvs27h
-64:cvs28h
-64:cvs29h
-64:cvs30h
-64:cvs31h
-64:cppr
-64:cdscr
-64:ctar
diff --git a/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat b/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
deleted file mode 100644
index 0718d72d93..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa207-vsx32l.dat
+++ /dev/null
@@ -1,155 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa207-vsx32l.xml
-name:powerpc_isa207_vsx32l
-xmltarget:powerpc-isa207-vsx32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-64:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
-64:tar
-64:bescr
-64:ebbhr
-64:ebbrr
-64:mmcr0
-64:mmcr2
-64:siar
-64:sdar
-64:sier
diff --git a/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat b/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
deleted file mode 100644
index 510c6c87da..0000000000
--- a/gdb/regformats/rs6000/powerpc-isa207-vsx64l.dat
+++ /dev/null
@@ -1,155 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-isa207-vsx64l.xml
-name:powerpc_isa207_vsx64l
-xmltarget:powerpc-isa207-vsx64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-64:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
-64:ppr
-64:dscr
-64:tar
-64:bescr
-64:ebbhr
-64:ebbrr
-64:mmcr0
-64:mmcr2
-64:siar
-64:sdar
-64:sier
diff --git a/gdb/regformats/rs6000/powerpc-vsx32l.dat b/gdb/regformats/rs6000/powerpc-vsx32l.dat
deleted file mode 100644
index 6db3e38d5f..0000000000
--- a/gdb/regformats/rs6000/powerpc-vsx32l.dat
+++ /dev/null
@@ -1,144 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-vsx32l.xml
-name:powerpc_vsx32l
-xmltarget:powerpc-vsx32l.xml
-expedite:r1,pc
-32:r0
-32:r1
-32:r2
-32:r3
-32:r4
-32:r5
-32:r6
-32:r7
-32:r8
-32:r9
-32:r10
-32:r11
-32:r12
-32:r13
-32:r14
-32:r15
-32:r16
-32:r17
-32:r18
-32:r19
-32:r20
-32:r21
-32:r22
-32:r23
-32:r24
-32:r25
-32:r26
-32:r27
-32:r28
-32:r29
-32:r30
-32:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-32:pc
-32:msr
-32:cr
-32:lr
-32:ctr
-32:xer
-32:fpscr
-32:orig_r3
-32:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
diff --git a/gdb/regformats/rs6000/powerpc-vsx64l.dat b/gdb/regformats/rs6000/powerpc-vsx64l.dat
deleted file mode 100644
index bc0a45512c..0000000000
--- a/gdb/regformats/rs6000/powerpc-vsx64l.dat
+++ /dev/null
@@ -1,144 +0,0 @@
-# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro:
-# Generated from: rs6000/powerpc-vsx64l.xml
-name:powerpc_vsx64l
-xmltarget:powerpc-vsx64l.xml
-expedite:r1,pc
-64:r0
-64:r1
-64:r2
-64:r3
-64:r4
-64:r5
-64:r6
-64:r7
-64:r8
-64:r9
-64:r10
-64:r11
-64:r12
-64:r13
-64:r14
-64:r15
-64:r16
-64:r17
-64:r18
-64:r19
-64:r20
-64:r21
-64:r22
-64:r23
-64:r24
-64:r25
-64:r26
-64:r27
-64:r28
-64:r29
-64:r30
-64:r31
-64:f0
-64:f1
-64:f2
-64:f3
-64:f4
-64:f5
-64:f6
-64:f7
-64:f8
-64:f9
-64:f10
-64:f11
-64:f12
-64:f13
-64:f14
-64:f15
-64:f16
-64:f17
-64:f18
-64:f19
-64:f20
-64:f21
-64:f22
-64:f23
-64:f24
-64:f25
-64:f26
-64:f27
-64:f28
-64:f29
-64:f30
-64:f31
-64:pc
-64:msr
-32:cr
-64:lr
-64:ctr
-32:xer
-32:fpscr
-64:orig_r3
-64:trap
-128:vr0
-128:vr1
-128:vr2
-128:vr3
-128:vr4
-128:vr5
-128:vr6
-128:vr7
-128:vr8
-128:vr9
-128:vr10
-128:vr11
-128:vr12
-128:vr13
-128:vr14
-128:vr15
-128:vr16
-128:vr17
-128:vr18
-128:vr19
-128:vr20
-128:vr21
-128:vr22
-128:vr23
-128:vr24
-128:vr25
-128:vr26
-128:vr27
-128:vr28
-128:vr29
-128:vr30
-128:vr31
-32:vscr
-32:vrsave
-64:vs0h
-64:vs1h
-64:vs2h
-64:vs3h
-64:vs4h
-64:vs5h
-64:vs6h
-64:vs7h
-64:vs8h
-64:vs9h
-64:vs10h
-64:vs11h
-64:vs12h
-64:vs13h
-64:vs14h
-64:vs15h
-64:vs16h
-64:vs17h
-64:vs18h
-64:vs19h
-64:vs20h
-64:vs21h
-64:vs22h
-64:vs23h
-64:vs24h
-64:vs25h
-64:vs26h
-64:vs27h
-64:vs28h
-64:vs29h
-64:vs30h
-64:vs31h
diff --git a/gdb/target-descriptions.c b/gdb/target-descriptions.c
index 20a3a640f4..b6a80edbbb 100644
--- a/gdb/target-descriptions.c
+++ b/gdb/target-descriptions.c
@@ -1698,7 +1698,8 @@ maint_print_c_tdesc_cmd (const char *args, int from_tty)
|| startswith (filename_after_features.c_str (), "tic6x-")
|| startswith (filename_after_features.c_str (), "aarch64")
|| startswith (filename_after_features.c_str (), "arm/")
- || startswith (filename_after_features.c_str (), "arc/"))
+ || startswith (filename_after_features.c_str (), "arc/")
+ || startswith (filename_after_features.c_str (), "rs6000/"))
{
print_c_feature v (filename_after_features);
diff --git a/gdbserver/configure.srv b/gdbserver/configure.srv
index 9a027e44af..b76e40dce6 100644
--- a/gdbserver/configure.srv
+++ b/gdbserver/configure.srv
@@ -27,8 +27,6 @@
# Default hostio_last_error implementation
srv_hostio_err_objs="hostio-errno.o"
-ipa_ppc_linux_regobj="powerpc-32l-ipa.o powerpc-altivec32l-ipa.o powerpc-vsx32l-ipa.o powerpc-isa205-32l-ipa.o powerpc-isa205-altivec32l-ipa.o powerpc-isa205-vsx32l-ipa.o powerpc-isa205-ppr-dscr-vsx32l-ipa.o powerpc-isa207-vsx32l-ipa.o powerpc-isa207-htm-vsx32l-ipa.o powerpc-e500l-ipa.o powerpc-64l-ipa.o powerpc-altivec64l-ipa.o powerpc-vsx64l-ipa.o powerpc-isa205-64l-ipa.o powerpc-isa205-altivec64l-ipa.o powerpc-isa205-vsx64l-ipa.o powerpc-isa205-ppr-dscr-vsx64l-ipa.o powerpc-isa207-vsx64l-ipa.o powerpc-isa207-htm-vsx64l-ipa.o"
-
# Linux object files. This is so we don't have to repeat
# these files over and over again.
srv_linux_obj="linux-low.o nat/linux-osdata.o nat/linux-procfs.o nat/linux-ptrace.o nat/linux-waitpid.o nat/linux-personality.o nat/linux-namespaces.o fork-child.o nat/fork-inferior.o"
@@ -205,43 +203,16 @@ case "${gdbserver_host}" in
srv_linux_usrregs=yes
srv_linux_thread_db=yes
;;
- powerpc*-*-linux*) srv_regobj="powerpc-32l.o"
- srv_regobj="${srv_regobj} powerpc-altivec32l.o"
- srv_regobj="${srv_regobj} powerpc-vsx32l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-32l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-altivec32l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-vsx32l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx32l.o"
- srv_regobj="${srv_regobj} powerpc-isa207-vsx32l.o"
- srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx32l.o"
- srv_regobj="${srv_regobj} powerpc-e500l.o"
- srv_regobj="${srv_regobj} powerpc-64l.o"
- srv_regobj="${srv_regobj} powerpc-altivec64l.o"
- srv_regobj="${srv_regobj} powerpc-vsx64l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-64l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-altivec64l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-vsx64l.o"
- srv_regobj="${srv_regobj} powerpc-isa205-ppr-dscr-vsx64l.o"
- srv_regobj="${srv_regobj} powerpc-isa207-vsx64l.o"
- srv_regobj="${srv_regobj} powerpc-isa207-htm-vsx64l.o"
- srv_tgtobj="$srv_linux_obj linux-ppc-low.o"
+ powerpc*-*-linux*) srv_tgtobj="$srv_linux_obj linux-ppc-low.o"
srv_tgtobj="${srv_tgtobj} nat/ppc-linux.o"
srv_tgtobj="${srv_tgtobj} arch/ppc-linux-common.o"
- srv_xmlfiles="rs6000/powerpc-32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx32l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx32l.xml"
+ srv_tgtobj="${srv_tgtobj} linux-ppc-tdesc.o"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-altivec.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-vsx.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-core.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-linux.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-isa205.xml"
+ srv_xmlfiles="${srv_xmlfiles} rs6000/power-fpu-fpscr64.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-dscr.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-ppr.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-tar.xml"
@@ -255,24 +226,16 @@ case "${gdbserver_host}" in
srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-ppr.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-dscr.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-htm-tar.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-e500l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power-spe.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-altivec64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-vsx64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-altivec64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-vsx64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-vsx64l.xml"
- srv_xmlfiles="${srv_xmlfiles} rs6000/powerpc-isa207-htm-vsx64l.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-core.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-linux.xml"
srv_xmlfiles="${srv_xmlfiles} rs6000/power64-htm-core.xml"
srv_linux_usrregs=yes
srv_linux_regsets=yes
srv_linux_thread_db=yes
- ipa_obj="${ipa_ppc_linux_regobj} linux-ppc-ipa.o"
+ ipa_obj="linux-ppc-ipa.o"
+ ipa_obj="${ipa_obj} linux-ppc-tdesc-ipa.o"
+ ipa_obj="${ipa_obj} arch/ppc-linux-common-ipa.o"
;;
powerpc-*-lynxos*) srv_regobj="powerpc-32.o"
srv_tgtobj="lynx-low.o lynx-ppc-low.o"
diff --git a/gdbserver/linux-ppc-ipa.cc b/gdbserver/linux-ppc-ipa.cc
index 42d668f7d3..6414b22829 100644
--- a/gdbserver/linux-ppc-ipa.cc
+++ b/gdbserver/linux-ppc-ipa.cc
@@ -21,12 +21,12 @@
#include "server.h"
#include <sys/mman.h>
#include "tracepoint.h"
-#include "arch/ppc-linux-tdesc.h"
-#include "linux-ppc-tdesc-init.h"
#include <elf.h>
#ifdef HAVE_GETAUXVAL
#include <sys/auxv.h>
#endif
+#include "arch/ppc-linux-common.h"
+#include "linux-ppc-tdesc.h"
/* These macros define the position of registers in the buffer collected
by the fast tracepoint jump pad. */
@@ -174,86 +174,20 @@ alloc_jump_pad_buffer (size_t size)
const struct target_desc *
get_ipa_tdesc (int idx)
{
- switch (idx)
+ if (idx >= PPC_TDESC_LAST)
{
-#ifdef __powerpc64__
- case PPC_TDESC_BASE:
- return tdesc_powerpc_64l;
- case PPC_TDESC_ALTIVEC:
- return tdesc_powerpc_altivec64l;
- case PPC_TDESC_VSX:
- return tdesc_powerpc_vsx64l;
- case PPC_TDESC_ISA205:
- return tdesc_powerpc_isa205_64l;
- case PPC_TDESC_ISA205_ALTIVEC:
- return tdesc_powerpc_isa205_altivec64l;
- case PPC_TDESC_ISA205_VSX:
- return tdesc_powerpc_isa205_vsx64l;
- case PPC_TDESC_ISA205_PPR_DSCR_VSX:
- return tdesc_powerpc_isa205_ppr_dscr_vsx64l;
- case PPC_TDESC_ISA207_VSX:
- return tdesc_powerpc_isa207_vsx64l;
- case PPC_TDESC_ISA207_HTM_VSX:
- return tdesc_powerpc_isa207_htm_vsx64l;
-#else
- case PPC_TDESC_BASE:
- return tdesc_powerpc_32l;
- case PPC_TDESC_ALTIVEC:
- return tdesc_powerpc_altivec32l;
- case PPC_TDESC_VSX:
- return tdesc_powerpc_vsx32l;
- case PPC_TDESC_ISA205:
- return tdesc_powerpc_isa205_32l;
- case PPC_TDESC_ISA205_ALTIVEC:
- return tdesc_powerpc_isa205_altivec32l;
- case PPC_TDESC_ISA205_VSX:
- return tdesc_powerpc_isa205_vsx32l;
- case PPC_TDESC_ISA205_PPR_DSCR_VSX:
- return tdesc_powerpc_isa205_ppr_dscr_vsx32l;
- case PPC_TDESC_ISA207_VSX:
- return tdesc_powerpc_isa207_vsx32l;
- case PPC_TDESC_ISA207_HTM_VSX:
- return tdesc_powerpc_isa207_htm_vsx32l;
- case PPC_TDESC_E500:
- return tdesc_powerpc_e500l;
-#endif
- default:
internal_error (__FILE__, __LINE__,
- "unknown ipa tdesc index: %d", idx);
-#ifdef __powerpc64__
- return tdesc_powerpc_64l;
-#else
- return tdesc_powerpc_32l;
-#endif
+ "unknown ipa tdesc index: %d", idx);
}
+
+ return ppc_linux_read_description (idx_to_ppc_features(idx));
}
-
/* Initialize ipa_tdesc and others. */
void
initialize_low_tracepoint (void)
{
-#ifdef __powerpc64__
- init_registers_powerpc_64l ();
- init_registers_powerpc_altivec64l ();
- init_registers_powerpc_vsx64l ();
- init_registers_powerpc_isa205_64l ();
- init_registers_powerpc_isa205_altivec64l ();
- init_registers_powerpc_isa205_vsx64l ();
- init_registers_powerpc_isa205_ppr_dscr_vsx64l ();
- init_registers_powerpc_isa207_vsx64l ();
- init_registers_powerpc_isa207_htm_vsx64l ();
-#else
- init_registers_powerpc_32l ();
- init_registers_powerpc_altivec32l ();
- init_registers_powerpc_vsx32l ();
- init_registers_powerpc_isa205_32l ();
- init_registers_powerpc_isa205_altivec32l ();
- init_registers_powerpc_isa205_vsx32l ();
- init_registers_powerpc_isa205_ppr_dscr_vsx32l ();
- init_registers_powerpc_isa207_vsx32l ();
- init_registers_powerpc_isa207_htm_vsx32l ();
- init_registers_powerpc_e500l ();
-#endif
+ for (auto i = 0; i < PPC_TDESC_LAST; i++)
+ ppc_linux_read_description (idx_to_ppc_features(i));
}
diff --git a/gdbserver/linux-ppc-low.cc b/gdbserver/linux-ppc-low.cc
index 337d555aee..fb44531f70 100644
--- a/gdbserver/linux-ppc-low.cc
+++ b/gdbserver/linux-ppc-low.cc
@@ -25,13 +25,12 @@
#include <elf.h>
#include <asm/ptrace.h>
-#include "arch/ppc-linux-common.h"
-#include "arch/ppc-linux-tdesc.h"
+#include "linux-ppc-tdesc.h"
#include "nat/ppc-linux.h"
#include "nat/linux-ptrace.h"
-#include "linux-ppc-tdesc-init.h"
#include "ax.h"
#include "tracepoint.h"
+#include "arch/ppc-linux-common.h"
#define PPC_FIELD(value, from, len) \
(((value) >> (32 - (from) - (len))) & ((1 << (len)) - 1))
@@ -885,56 +884,94 @@ ppc_target::low_arch_setup ()
features.wordsize = ppc_linux_target_wordsize (tid);
- if (features.wordsize == 4)
- tdesc = tdesc_powerpc_32l;
- else
- tdesc = tdesc_powerpc_64l;
-
- current_process ()->tdesc = tdesc;
+ current_process ()->tdesc = ppc_linux_read_description (features);
/* The value of current_process ()->tdesc needs to be set for this
call. */
ppc_hwcap = linux_get_hwcap (features.wordsize);
ppc_hwcap2 = linux_get_hwcap2 (features.wordsize);
- features.isa205 = ppc_linux_has_isa205 (ppc_hwcap);
+ features.fpscr64 = ppc_linux_has_fpscr64 (ppc_hwcap);
if (ppc_hwcap & PPC_FEATURE_HAS_VSX)
features.vsx = true;
+ if (ppc_check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
+ features.ppr = true;
+
if (ppc_hwcap & PPC_FEATURE_HAS_ALTIVEC)
features.altivec = true;
if ((ppc_hwcap2 & PPC_FEATURE2_DSCR)
- && ppc_check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET)
- && ppc_check_regset (tid, NT_PPC_PPR, PPC_LINUX_SIZEOF_PPRREGSET))
+ && ppc_check_regset (tid, NT_PPC_DSCR, PPC_LINUX_SIZEOF_DSCRREGSET))
+ features.dscr = true;
+
+ if (ppc_hwcap2 & PPC_FEATURE2_ARCH_2_07)
{
- features.ppr_dscr = true;
- if ((ppc_hwcap2 & PPC_FEATURE2_ARCH_2_07)
- && (ppc_hwcap2 & PPC_FEATURE2_TAR)
- && (ppc_hwcap2 & PPC_FEATURE2_EBB)
- && ppc_check_regset (tid, NT_PPC_TAR,
- PPC_LINUX_SIZEOF_TARREGSET)
- && ppc_check_regset (tid, NT_PPC_EBB,
- PPC_LINUX_SIZEOF_EBBREGSET)
- && ppc_check_regset (tid, NT_PPC_PMU,
- PPC_LINUX_SIZEOF_PMUREGSET))
- {
- features.isa207 = true;
- if ((ppc_hwcap2 & PPC_FEATURE2_HTM)
- && ppc_check_regset (tid, NT_PPC_TM_SPR,
- PPC_LINUX_SIZEOF_TM_SPRREGSET))
- features.htm = true;
- }
+ if ((ppc_hwcap2 & PPC_FEATURE2_TAR)
+ && ppc_check_regset (tid, NT_PPC_TAR, PPC_LINUX_SIZEOF_TARREGSET))
+ features.tar = true;
+
+ if ((ppc_hwcap2 & PPC_FEATURE2_EBB)
+ && ppc_check_regset (tid, NT_PPC_EBB, PPC_LINUX_SIZEOF_EBBREGSET))
+ features.ebb = true;
+
+ if (ppc_check_regset (tid, NT_PPC_PMU, PPC_LINUX_SIZEOF_PMUREGSET))
+ features.pmu = true;
}
- tdesc = ppc_linux_match_description (features);
+ if (ppc_hwcap2 & PPC_FEATURE2_HTM)
+ {
+ if (ppc_check_regset (tid, NT_PPC_TM_CVMX,
+ PPC_LINUX_SIZEOF_CVMXREGSET))
+ features.htm.altivec = true;
+
+ if (features.wordsize == 8)
+ {
+ if (ppc_check_regset (tid, NT_PPC_TM_CGPR,
+ PPC64_LINUX_SIZEOF_CGPRREGSET))
+ features.htm.core = true;
+ }
+ else if (features.wordsize == 4)
+ {
+ if (ppc_check_regset (tid, NT_PPC_TM_CGPR,
+ PPC32_LINUX_SIZEOF_CGPRREGSET))
+ features.htm.core = true;
+ }
+
+ if (ppc_check_regset (tid, NT_PPC_TM_CDSCR,
+ PPC_LINUX_SIZEOF_CDSCRREGSET))
+ features.htm.dscr = true;
+
+ if (ppc_check_regset (tid, NT_PPC_TM_CFPR,
+ PPC_LINUX_SIZEOF_CFPRREGSET))
+ features.htm.fpu = true;
+
+ if (ppc_check_regset (tid, NT_PPC_TM_CPPR,
+ PPC_LINUX_SIZEOF_CPPRREGSET))
+ features.htm.ppr = true;
+
+ if (ppc_check_regset (tid, NT_PPC_TM_SPR,
+ PPC_LINUX_SIZEOF_TM_SPRREGSET))
+ features.htm.spr = true;
+
+ if (ppc_check_regset (tid, NT_PPC_TM_CTAR,
+ PPC_LINUX_SIZEOF_CTARREGSET))
+ features.htm.tar = true;
+
+ if (ppc_check_regset (tid, NT_PPC_TM_CVSX,
+ PPC_LINUX_SIZEOF_CVSXREGSET))
+ features.htm.vsx = true;
+ }
+
+ tdesc = ppc_linux_read_description (features);
/* On 32-bit machines, check for SPE registers.
Set the low target's regmap field as appropriately. */
#ifndef __powerpc64__
if (ppc_hwcap & PPC_FEATURE_HAS_SPE)
- tdesc = tdesc_powerpc_e500l;
+ features.spe = true;
+ tdesc = ppc_linux_read_target_description (features);
if (!ppc_regmap_adjusted)
{
@@ -973,59 +1010,59 @@ ppc_target::low_arch_setup ()
switch (regset->nt_type)
{
case NT_PPC_PPR:
- regset->size = (features.ppr_dscr ?
+ regset->size = (features.ppr ?
PPC_LINUX_SIZEOF_PPRREGSET : 0);
break;
case NT_PPC_DSCR:
- regset->size = (features.ppr_dscr ?
+ regset->size = (features.dscr ?
PPC_LINUX_SIZEOF_DSCRREGSET : 0);
break;
case NT_PPC_TAR:
- regset->size = (features.isa207 ?
+ regset->size = (features.tar ?
PPC_LINUX_SIZEOF_TARREGSET : 0);
break;
case NT_PPC_EBB:
- regset->size = (features.isa207 ?
+ regset->size = (features.ebb ?
PPC_LINUX_SIZEOF_EBBREGSET : 0);
break;
case NT_PPC_PMU:
- regset->size = (features.isa207 ?
+ regset->size = (features.pmu ?
PPC_LINUX_SIZEOF_PMUREGSET : 0);
break;
case NT_PPC_TM_SPR:
- regset->size = (features.htm ?
+ regset->size = (features.htm.spr ?
PPC_LINUX_SIZEOF_TM_SPRREGSET : 0);
break;
case NT_PPC_TM_CGPR:
if (features.wordsize == 4)
- regset->size = (features.htm ?
+ regset->size = (features.htm.core ?
PPC32_LINUX_SIZEOF_CGPRREGSET : 0);
else
- regset->size = (features.htm ?
+ regset->size = (features.htm.core ?
PPC64_LINUX_SIZEOF_CGPRREGSET : 0);
break;
case NT_PPC_TM_CFPR:
- regset->size = (features.htm ?
+ regset->size = (features.htm.fpu ?
PPC_LINUX_SIZEOF_CFPRREGSET : 0);
break;
case NT_PPC_TM_CVMX:
- regset->size = (features.htm ?
+ regset->size = (features.htm.altivec ?
PPC_LINUX_SIZEOF_CVMXREGSET : 0);
break;
case NT_PPC_TM_CVSX:
- regset->size = (features.htm ?
+ regset->size = (features.htm.vsx ?
PPC_LINUX_SIZEOF_CVSXREGSET : 0);
break;
case NT_PPC_TM_CPPR:
- regset->size = (features.htm ?
+ regset->size = (features.htm.ppr ?
PPC_LINUX_SIZEOF_CPPRREGSET : 0);
break;
case NT_PPC_TM_CDSCR:
- regset->size = (features.htm ?
+ regset->size = (features.htm.dscr ?
PPC_LINUX_SIZEOF_CDSCRREGSET : 0);
break;
case NT_PPC_TM_CTAR:
- regset->size = (features.htm ?
+ regset->size = (features.htm.tar ?
PPC_LINUX_SIZEOF_CTARREGSET : 0);
break;
default:
@@ -3402,49 +3439,7 @@ ppc_target::get_ipa_tdesc_idx ()
struct regcache *regcache = get_thread_regcache (current_thread, 0);
const struct target_desc *tdesc = regcache->tdesc;
-#ifdef __powerpc64__
- if (tdesc == tdesc_powerpc_64l)
- return PPC_TDESC_BASE;
- if (tdesc == tdesc_powerpc_altivec64l)
- return PPC_TDESC_ALTIVEC;
- if (tdesc == tdesc_powerpc_vsx64l)
- return PPC_TDESC_VSX;
- if (tdesc == tdesc_powerpc_isa205_64l)
- return PPC_TDESC_ISA205;
- if (tdesc == tdesc_powerpc_isa205_altivec64l)
- return PPC_TDESC_ISA205_ALTIVEC;
- if (tdesc == tdesc_powerpc_isa205_vsx64l)
- return PPC_TDESC_ISA205_VSX;
- if (tdesc == tdesc_powerpc_isa205_ppr_dscr_vsx64l)
- return PPC_TDESC_ISA205_PPR_DSCR_VSX;
- if (tdesc == tdesc_powerpc_isa207_vsx64l)
- return PPC_TDESC_ISA207_VSX;
- if (tdesc == tdesc_powerpc_isa207_htm_vsx64l)
- return PPC_TDESC_ISA207_HTM_VSX;
-#endif
-
- if (tdesc == tdesc_powerpc_32l)
- return PPC_TDESC_BASE;
- if (tdesc == tdesc_powerpc_altivec32l)
- return PPC_TDESC_ALTIVEC;
- if (tdesc == tdesc_powerpc_vsx32l)
- return PPC_TDESC_VSX;
- if (tdesc == tdesc_powerpc_isa205_32l)
- return PPC_TDESC_ISA205;
- if (tdesc == tdesc_powerpc_isa205_altivec32l)
- return PPC_TDESC_ISA205_ALTIVEC;
- if (tdesc == tdesc_powerpc_isa205_vsx32l)
- return PPC_TDESC_ISA205_VSX;
- if (tdesc == tdesc_powerpc_isa205_ppr_dscr_vsx32l)
- return PPC_TDESC_ISA205_PPR_DSCR_VSX;
- if (tdesc == tdesc_powerpc_isa207_vsx32l)
- return PPC_TDESC_ISA207_VSX;
- if (tdesc == tdesc_powerpc_isa207_htm_vsx32l)
- return PPC_TDESC_ISA207_HTM_VSX;
- if (tdesc == tdesc_powerpc_e500l)
- return PPC_TDESC_E500;
-
- return 0;
+ return ppc_get_ipa_tdesc_idx (tdesc);
}
/* The linux target ops object. */
@@ -3454,29 +3449,5 @@ linux_process_target *the_linux_target = &the_ppc_target;
void
initialize_low_arch (void)
{
- /* Initialize the Linux target descriptions. */
-
- init_registers_powerpc_32l ();
- init_registers_powerpc_altivec32l ();
- init_registers_powerpc_vsx32l ();
- init_registers_powerpc_isa205_32l ();
- init_registers_powerpc_isa205_altivec32l ();
- init_registers_powerpc_isa205_vsx32l ();
- init_registers_powerpc_isa205_ppr_dscr_vsx32l ();
- init_registers_powerpc_isa207_vsx32l ();
- init_registers_powerpc_isa207_htm_vsx32l ();
- init_registers_powerpc_e500l ();
-#if __powerpc64__
- init_registers_powerpc_64l ();
- init_registers_powerpc_altivec64l ();
- init_registers_powerpc_vsx64l ();
- init_registers_powerpc_isa205_64l ();
- init_registers_powerpc_isa205_altivec64l ();
- init_registers_powerpc_isa205_vsx64l ();
- init_registers_powerpc_isa205_ppr_dscr_vsx64l ();
- init_registers_powerpc_isa207_vsx64l ();
- init_registers_powerpc_isa207_htm_vsx64l ();
-#endif
-
initialize_regsets_info (&ppc_regsets_info);
}
diff --git a/gdbserver/linux-ppc-tdesc-init.h b/gdbserver/linux-ppc-tdesc-init.h
deleted file mode 100644
index 3afd78baee..0000000000
--- a/gdbserver/linux-ppc-tdesc-init.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Low level support for ppc, shared between gdbserver and IPA.
-
- Copyright (C) 2016-2020 Free Software Foundation, Inc.
-
- This file is part of GDB.
-
- 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 GDBSERVER_LINUX_PPC_TDESC_INIT_H
-#define GDBSERVER_LINUX_PPC_TDESC_INIT_H
-
-/* Note: since IPA obviously knows what ABI it's running on (32 vs 64),
- it's sufficient to pass only the register set here. This, together with
- the ABI known at IPA compile time, maps to a tdesc. */
-
-enum ppc_linux_tdesc {
- PPC_TDESC_BASE,
- PPC_TDESC_ALTIVEC,
- PPC_TDESC_CELL, /* No longer used, but kept to avoid ABI changes. */
- PPC_TDESC_VSX,
- PPC_TDESC_ISA205,
- PPC_TDESC_ISA205_ALTIVEC,
- PPC_TDESC_ISA205_VSX,
- PPC_TDESC_ISA205_PPR_DSCR_VSX,
- PPC_TDESC_ISA207_VSX,
- PPC_TDESC_ISA207_HTM_VSX,
- PPC_TDESC_E500,
-};
-
-#if !defined __powerpc64__ || !defined IN_PROCESS_AGENT
-
-/* Defined in auto-generated file powerpc-32l.c. */
-void init_registers_powerpc_32l (void);
-
-/* Defined in auto-generated file powerpc-altivec32l.c. */
-void init_registers_powerpc_altivec32l (void);
-
-/* Defined in auto-generated file powerpc-vsx32l.c. */
-void init_registers_powerpc_vsx32l (void);
-
-/* Defined in auto-generated file powerpc-isa205-32l.c. */
-void init_registers_powerpc_isa205_32l (void);
-
-/* Defined in auto-generated file powerpc-isa205-altivec32l.c. */
-void init_registers_powerpc_isa205_altivec32l (void);
-
-/* Defined in auto-generated file powerpc-isa205-vsx32l.c. */
-void init_registers_powerpc_isa205_vsx32l (void);
-
-/* Defined in auto-generated file powerpc-isa205-ppr-dscr-vsx32l.c. */
-void init_registers_powerpc_isa205_ppr_dscr_vsx32l (void);
-
-/* Defined in auto-generated file powerpc-isa207-vsx32l.c. */
-void init_registers_powerpc_isa207_vsx32l (void);
-
-/* Defined in auto-generated file powerpc-isa207-htm-vsx32l.c. */
-void init_registers_powerpc_isa207_htm_vsx32l (void);
-
-/* Defined in auto-generated file powerpc-e500l.c. */
-void init_registers_powerpc_e500l (void);
-
-#endif
-
-#if defined __powerpc64__
-
-/* Defined in auto-generated file powerpc-64l.c. */
-void init_registers_powerpc_64l (void);
-
-/* Defined in auto-generated file powerpc-altivec64l.c. */
-void init_registers_powerpc_altivec64l (void);
-
-/* Defined in auto-generated file powerpc-vsx64l.c. */
-void init_registers_powerpc_vsx64l (void);
-
-/* Defined in auto-generated file powerpc-isa205-64l.c. */
-void init_registers_powerpc_isa205_64l (void);
-
-/* Defined in auto-generated file powerpc-isa205-altivec64l.c. */
-void init_registers_powerpc_isa205_altivec64l (void);
-
-/* Defined in auto-generated file powerpc-isa205-vsx64l.c. */
-void init_registers_powerpc_isa205_vsx64l (void);
-
-/* Defined in auto-generated file powerpc-isa205-ppr-dscr-vsx64l.c. */
-void init_registers_powerpc_isa205_ppr_dscr_vsx64l (void);
-
-/* Defined in auto-generated file powerpc-isa207-vsx64l.c. */
-void init_registers_powerpc_isa207_vsx64l (void);
-
-/* Defined in auto-generated file powerpc-isa207-htm-vsx64l.c. */
-void init_registers_powerpc_isa207_htm_vsx64l (void);
-
-#endif
-
-#endif /* GDBSERVER_LINUX_PPC_TDESC_INIT_H */
diff --git a/gdbserver/linux-ppc-tdesc.cc b/gdbserver/linux-ppc-tdesc.cc
new file mode 100644
index 0000000000..610d6d111d
--- /dev/null
+++ b/gdbserver/linux-ppc-tdesc.cc
@@ -0,0 +1,156 @@
+/* GNU/Linux/Power specific target description, for the remote server
+ for GDB.
+ Copyright (C) 2020 Free Software Foundation, Inc.
+ This file is part of GDB.
+ 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/>. */
+
+#include "server.h"
+
+#include "arch/ppc-linux-common.h"
+#include "linux-ppc-tdesc.h"
+
+#include "tdesc.h"
+
+/* All ppc target descriptors avaliable. */
+static struct target_desc *ppc_tdescs[PPC_TDESC_LAST] = { };
+
+/* Supported ISA combinations. For now ISA only collects core registers:
+ GPR's. This is here to match with registers collected by linux (low). */
+static enum ppc_linux_tdesc
+get_ppc_tdesc_idx (const struct ppc_linux_features features)
+{
+ enum ppc_linux_tdesc idx = PPC_TDESC_LAST;
+
+ if (features.wordsize == 4 || features.wordsize == 8)
+ idx = PPC_TDESC_CORE;
+ if (features.altivec)
+ idx = PPC_TDESC_ALTIVEC;
+ if (features.vsx)
+ idx = PPC_TDESC_VSX;
+ if (features.fpscr64)
+ {
+ idx = PPC_TDESC_FPSCR64;
+ if (features.vsx)
+ idx = PPC_TDESC_FPSCR64_VSX;
+ if (features.ppr && features.dscr)
+ idx = PPC_TDESC_FPSCR64_PPR_DSCR_VSX;
+ }
+ if (features.tar && features.pmu && features.vsx)
+ {
+ idx = PPC_TDESC_ISA207_VSX;
+ if (features.htm.core)
+ idx = PPC_TDESC_ISA207_HTM_VSX;
+ }
+ if (features.spe)
+ idx = PPC_TDESC_E500;
+
+ return idx;
+}
+
+/* Convert index to ppc cpu features. */
+struct ppc_linux_features idx_to_ppc_features (int idx)
+{
+ struct ppc_linux_features features;
+
+#if __powerpc64__
+ features.wordsize = 8;
+#else
+ features.wordsize = 4;
+#endif
+
+ switch (idx)
+ {
+ default:
+ case PPC_TDESC_CORE:
+ break;
+ case PPC_TDESC_ALTIVEC:
+ features.altivec = true;
+ break;
+ case PPC_TDESC_VSX:
+ features.altivec = true;
+ features.vsx = true;
+ break;
+ case PPC_TDESC_FPSCR64:
+ features.fpscr64 = true;
+ break;
+ case PPC_TDESC_FPSCR64_VSX:
+ features.fpscr64 = true;
+ features.altivec = true;
+ features.vsx = true;
+ break;
+ case PPC_TDESC_FPSCR64_PPR_DSCR_VSX:
+ features.fpscr64 = true;
+ features.altivec = true;
+ features.vsx = true;
+ features.ppr = true;
+ features.dscr = true;
+ break;
+ case PPC_TDESC_ISA207_VSX:
+ features.fpscr64 = true;
+ features.altivec = true;
+ features.vsx = true;
+ features.ppr = true;
+ features.dscr = true;
+ features.tar = true;
+ features.pmu = true;
+ break;
+ case PPC_TDESC_ISA207_HTM_VSX:
+ features.fpscr64 = true;
+ features.altivec = true;
+ features.vsx = true;
+ features.ppr = true;
+ features.dscr = true;
+ features.tar = true;
+ features.pmu = true;
+ features.htm.core = true;
+ break;
+ case PPC_TDESC_E500:
+ features.spe = true;
+ break;
+ }
+
+ return features;
+}
+
+#ifndef IN_PROCESS_AGENT
+int ppc_get_ipa_tdesc_idx (const struct target_desc *tdesc)
+{
+ for (int i = 0; i < PPC_TDESC_LAST; i++)
+ {
+ if (tdesc == ppc_tdescs[i])
+ return i;
+ }
+ return PPC_TDESC_CORE;
+}
+#endif
+
+/* Create the Power target description. */
+const target_desc *
+ppc_linux_read_description (struct ppc_linux_features features)
+{
+ enum ppc_linux_tdesc idx = get_ppc_tdesc_idx(features);
+
+ if (idx == PPC_TDESC_LAST)
+ return NULL;
+
+ struct target_desc **tdesc = NULL;
+ tdesc = &ppc_tdescs[idx];
+
+ if (*tdesc == NULL)
+ {
+ *tdesc = ppc_linux_create_target_description (features);
+
+ static const char* expedite_regs[] = { "r1", "pc" };
+ init_target_desc (*tdesc, expedite_regs);
+ }
+ return *tdesc;
+}
diff --git a/gdbserver/linux-ppc-tdesc.h b/gdbserver/linux-ppc-tdesc.h
new file mode 100644
index 0000000000..643e030d56
--- /dev/null
+++ b/gdbserver/linux-ppc-tdesc.h
@@ -0,0 +1,46 @@
+/* Low level support for Power, shared between gdbserver and IPA.
+ Copyright (C) 2020 Free Software Foundation, Inc.
+ This file is part of GDB.
+ 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 GDBSERVER_LINUX_PPC_TDESC_H
+#define GDBSERVER_LINUX_PPC_TDESC_H
+
+/* IPA knows what ABI is running if is a ppc32 or ppc64. So we can
+ just indicate the register set which maps to a tdesc. IPA only
+ collects the core registers (gpr) for ppc for now but we need to
+ map the register sets that we may have avaliable in linux-low. */
+enum ppc_linux_tdesc
+{
+ PPC_TDESC_CORE = 0,
+ PPC_TDESC_ALTIVEC = 1,
+ PPC_TDESC_VSX = 2,
+ PPC_TDESC_FPSCR64 = 3,
+ PPC_TDESC_FPSCR64_VSX = 4,
+ PPC_TDESC_FPSCR64_PPR_DSCR_VSX = 5,
+ PPC_TDESC_ISA207_VSX = 6,
+ PPC_TDESC_ISA207_HTM_VSX = 7,
+ PPC_TDESC_E500 = 8,
+ PPC_TDESC_LAST = 9,
+};
+
+#if !defined IN_PROCESS_AGENT
+int ppc_get_ipa_tdesc_idx (const struct target_desc *tdesc);
+#endif
+
+const target_desc *
+ppc_linux_read_description (struct ppc_linux_features features);
+
+struct ppc_linux_features
+idx_to_ppc_features (int idx);
+
+#endif /* GDBSERVER_LINUX_PPC_TDESC_H */
--
2.17.1
More information about the Gdb-patches
mailing list