From: Bhushan Attarde <bhushan.attarde@imgtec.com>
To: <gdb-patches@sourceware.org>
Cc: <Maciej.Rozycki@imgtec.com>, <Matthew.Fortune@imgtec.com>,
<James.Hogan@imgtec.com>, <Andrew.Bennett@imgtec.com>,
<Jaydeep.Patil@imgtec.com>,
Bhushan Attarde <bhushan.attarde@imgtec.com>
Subject: [PATCH 05/24] MIPS: Add config5 to MIPS GDB target descriptions
Date: Mon, 27 Jun 2016 14:51:00 -0000 [thread overview]
Message-ID: <1467038991-6600-5-git-send-email-bhushan.attarde@imgtec.com> (raw)
In-Reply-To: <1467038991-6600-1-git-send-email-bhushan.attarde@imgtec.com>
Add the config5 register to the MIPS and MIPS64 GDB target description
files and regenerate various dependent files. This register contains the
FRE bit which is used with the FR bit in the status register to implement
a new floating point register mode.
The register is placed with the other cp0 registers at register number 38
(which used to be the first FP register number). The explicit FPU and DSP
register numbers are removed so that they can all shuffle up by one to
give space for config5. The explicit FPU register number used to be
necessary due to the PC register being defined non-linearly at register
number 37, but the explicit DSP register numbers didn't seem to serve a
particular purpose as far as I can tell.
An corresponding -1 entry is added to mips_base_regs in
gdbserver/linux-mips-low.c for config5, indicating that it cannot be
accessed using PTRACE_PEEK/PTRACE_POKE.
gdb/ChangeLog:
* features/mips-cp0.xml: Add config5 register.
* features/mips64-cp0.xml: Likewise.
* features/mips-fpu.xml: Remove explicit register number.
* features/mips64-fpu.xml: Likewise.
* features/mips-dsp.xml: Remove explicit register numbers.
* features/mips64-dsp.xml: Likewise.
* features/mips-dsp-linux.c: Regenerate.
* features/mips64-dsp-linux.c: Likewise.
* features/mips-linux.c: Likewise.
* features/mips64-linux.c: Likewise.
* regformats/mips-dsp-linux.dat: Regenerate.
* regformats/mips64-dsp-linux.dat: Likewise.
* regformats/mips-linux.dat: Likewise.
* regformats/mips64-linux.dat: Likewise.
gdb/gdbserver/ChangeLog:
* linux-mips-low.c (mips_num_regs, mips_dsp_num_regs): Increment.
(mips_base_regs): Add -1 entry for Config5.
---
gdb/features/mips-cp0.xml | 1 +
gdb/features/mips-dsp-linux.c | 85 +++++++++++++++++++------------------
gdb/features/mips-dsp.xml | 14 +++---
gdb/features/mips-fpu.xml | 2 +-
gdb/features/mips-linux.c | 71 ++++++++++++++++---------------
gdb/features/mips64-cp0.xml | 1 +
gdb/features/mips64-dsp-linux.c | 85 +++++++++++++++++++------------------
gdb/features/mips64-dsp.xml | 14 +++---
gdb/features/mips64-fpu.xml | 2 +-
gdb/features/mips64-linux.c | 71 ++++++++++++++++---------------
gdb/gdbserver/linux-mips-low.c | 6 +--
gdb/regformats/mips-dsp-linux.dat | 1 +
gdb/regformats/mips-linux.dat | 1 +
gdb/regformats/mips64-dsp-linux.dat | 1 +
gdb/regformats/mips64-linux.dat | 1 +
15 files changed, 183 insertions(+), 173 deletions(-)
diff --git a/gdb/features/mips-cp0.xml b/gdb/features/mips-cp0.xml
index 773fd88..349672e 100644
--- a/gdb/features/mips-cp0.xml
+++ b/gdb/features/mips-cp0.xml
@@ -10,4 +10,5 @@
<reg name="status" bitsize="32" regnum="32"/>
<reg name="badvaddr" bitsize="32" regnum="35"/>
<reg name="cause" bitsize="32" regnum="36"/>
+ <reg name="config5" bitsize="32" regnum="38"/>
</feature>
diff --git a/gdb/features/mips-dsp-linux.c b/gdb/features/mips-dsp-linux.c
index 80ceb22..b6e56fc 100644
--- a/gdb/features/mips-dsp-linux.c
+++ b/gdb/features/mips-dsp-linux.c
@@ -57,54 +57,55 @@ initialize_tdesc_mips_dsp_linux (void)
tdesc_create_reg (feature, "status", 32, 1, NULL, 32, "int");
tdesc_create_reg (feature, "badvaddr", 35, 1, NULL, 32, "int");
tdesc_create_reg (feature, "cause", 36, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "config5", 38, 1, NULL, 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.fpu");
- tdesc_create_reg (feature, "f0", 38, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f1", 39, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f2", 40, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f3", 41, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f4", 42, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f5", 43, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f6", 44, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f7", 45, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f8", 46, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f9", 47, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f10", 48, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f11", 49, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f12", 50, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f13", 51, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f14", 52, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f15", 53, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f16", 54, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f17", 55, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f18", 56, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f19", 57, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f20", 58, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f21", 59, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f22", 60, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f23", 61, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f24", 62, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f25", 63, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f26", 64, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f27", 65, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f28", 66, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f29", 67, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f30", 68, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f31", 69, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "fcsr", 70, 1, "float", 32, "int");
- tdesc_create_reg (feature, "fir", 71, 1, "float", 32, "int");
+ tdesc_create_reg (feature, "f0", 39, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f1", 40, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f2", 41, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f3", 42, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f4", 43, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f5", 44, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f6", 45, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f7", 46, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f8", 47, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f9", 48, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f10", 49, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f11", 50, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f12", 51, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f13", 52, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f14", 53, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f15", 54, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f16", 55, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f17", 56, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f18", 57, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f19", 58, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f20", 59, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f21", 60, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f22", 61, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f23", 62, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f24", 63, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f25", 64, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f26", 65, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f27", 66, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f28", 67, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f29", 68, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f30", 69, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f31", 70, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "fcsr", 71, 1, "float", 32, "int");
+ tdesc_create_reg (feature, "fir", 72, 1, "float", 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.dsp");
- tdesc_create_reg (feature, "hi1", 72, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "lo1", 73, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hi2", 74, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "lo2", 75, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "hi3", 76, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "lo3", 77, 1, NULL, 32, "int");
- tdesc_create_reg (feature, "dspctl", 78, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "hi1", 73, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "lo1", 74, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "hi2", 75, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "lo2", 76, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "hi3", 77, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "lo3", 78, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "dspctl", 79, 1, NULL, 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.linux");
- tdesc_create_reg (feature, "restart", 79, 1, "system", 32, "int");
+ tdesc_create_reg (feature, "restart", 80, 1, "system", 32, "int");
tdesc_mips_dsp_linux = result;
}
diff --git a/gdb/features/mips-dsp.xml b/gdb/features/mips-dsp.xml
index f8b7e74..fcc903d 100644
--- a/gdb/features/mips-dsp.xml
+++ b/gdb/features/mips-dsp.xml
@@ -7,12 +7,12 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.mips.dsp">
- <reg name="hi1" bitsize="32" regnum="72"/>
- <reg name="lo1" bitsize="32" regnum="73"/>
- <reg name="hi2" bitsize="32" regnum="74"/>
- <reg name="lo2" bitsize="32" regnum="75"/>
- <reg name="hi3" bitsize="32" regnum="76"/>
- <reg name="lo3" bitsize="32" regnum="77"/>
+ <reg name="hi1" bitsize="32"/>
+ <reg name="lo1" bitsize="32"/>
+ <reg name="hi2" bitsize="32"/>
+ <reg name="lo2" bitsize="32"/>
+ <reg name="hi3" bitsize="32"/>
+ <reg name="lo3" bitsize="32"/>
- <reg name="dspctl" bitsize="32" regnum="78"/>
+ <reg name="dspctl" bitsize="32"/>
</feature>
diff --git a/gdb/features/mips-fpu.xml b/gdb/features/mips-fpu.xml
index 4d331a1..44c4150 100644
--- a/gdb/features/mips-fpu.xml
+++ b/gdb/features/mips-fpu.xml
@@ -7,7 +7,7 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.mips.fpu">
- <reg name="f0" bitsize="32" type="ieee_single" regnum="38"/>
+ <reg name="f0" bitsize="32" type="ieee_single"/>
<reg name="f1" bitsize="32" type="ieee_single"/>
<reg name="f2" bitsize="32" type="ieee_single"/>
<reg name="f3" bitsize="32" type="ieee_single"/>
diff --git a/gdb/features/mips-linux.c b/gdb/features/mips-linux.c
index c990119..f316835 100644
--- a/gdb/features/mips-linux.c
+++ b/gdb/features/mips-linux.c
@@ -57,45 +57,46 @@ initialize_tdesc_mips_linux (void)
tdesc_create_reg (feature, "status", 32, 1, NULL, 32, "int");
tdesc_create_reg (feature, "badvaddr", 35, 1, NULL, 32, "int");
tdesc_create_reg (feature, "cause", 36, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "config5", 38, 1, NULL, 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.fpu");
- tdesc_create_reg (feature, "f0", 38, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f1", 39, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f2", 40, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f3", 41, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f4", 42, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f5", 43, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f6", 44, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f7", 45, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f8", 46, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f9", 47, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f10", 48, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f11", 49, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f12", 50, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f13", 51, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f14", 52, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f15", 53, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f16", 54, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f17", 55, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f18", 56, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f19", 57, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f20", 58, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f21", 59, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f22", 60, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f23", 61, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f24", 62, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f25", 63, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f26", 64, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f27", 65, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f28", 66, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f29", 67, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f30", 68, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "f31", 69, 1, NULL, 32, "ieee_single");
- tdesc_create_reg (feature, "fcsr", 70, 1, "float", 32, "int");
- tdesc_create_reg (feature, "fir", 71, 1, "float", 32, "int");
+ tdesc_create_reg (feature, "f0", 39, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f1", 40, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f2", 41, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f3", 42, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f4", 43, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f5", 44, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f6", 45, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f7", 46, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f8", 47, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f9", 48, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f10", 49, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f11", 50, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f12", 51, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f13", 52, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f14", 53, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f15", 54, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f16", 55, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f17", 56, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f18", 57, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f19", 58, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f20", 59, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f21", 60, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f22", 61, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f23", 62, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f24", 63, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f25", 64, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f26", 65, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f27", 66, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f28", 67, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f29", 68, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f30", 69, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "f31", 70, 1, NULL, 32, "ieee_single");
+ tdesc_create_reg (feature, "fcsr", 71, 1, "float", 32, "int");
+ tdesc_create_reg (feature, "fir", 72, 1, "float", 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.linux");
- tdesc_create_reg (feature, "restart", 72, 1, "system", 32, "int");
+ tdesc_create_reg (feature, "restart", 73, 1, "system", 32, "int");
tdesc_mips_linux = result;
}
diff --git a/gdb/features/mips64-cp0.xml b/gdb/features/mips64-cp0.xml
index 7d20cf9..d1249f4 100644
--- a/gdb/features/mips64-cp0.xml
+++ b/gdb/features/mips64-cp0.xml
@@ -10,4 +10,5 @@
<reg name="status" bitsize="64" regnum="32"/>
<reg name="badvaddr" bitsize="64" regnum="35"/>
<reg name="cause" bitsize="64" regnum="36"/>
+ <reg name="config5" bitsize="64" regnum="38"/>
</feature>
diff --git a/gdb/features/mips64-dsp-linux.c b/gdb/features/mips64-dsp-linux.c
index bc09078..f75cbd7 100644
--- a/gdb/features/mips64-dsp-linux.c
+++ b/gdb/features/mips64-dsp-linux.c
@@ -55,54 +55,55 @@ initialize_tdesc_mips64_dsp_linux (void)
tdesc_create_reg (feature, "status", 32, 1, NULL, 64, "int");
tdesc_create_reg (feature, "badvaddr", 35, 1, NULL, 64, "int");
tdesc_create_reg (feature, "cause", 36, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "config5", 38, 1, NULL, 64, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.fpu");
- tdesc_create_reg (feature, "f0", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 64, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 65, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 66, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 67, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 68, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 69, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fcsr", 70, 1, "float", 64, "int");
- tdesc_create_reg (feature, "fir", 71, 1, "float", 64, "int");
+ tdesc_create_reg (feature, "f0", 39, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f1", 40, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f2", 41, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f3", 42, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f4", 43, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f5", 44, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f6", 45, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f7", 46, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f8", 47, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f9", 48, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f10", 49, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f11", 50, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f12", 51, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f13", 52, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f14", 53, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f15", 54, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f16", 55, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f17", 56, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f18", 57, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f19", 58, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f20", 59, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f21", 60, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f22", 61, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f23", 62, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f24", 63, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f25", 64, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f26", 65, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f27", 66, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f28", 67, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f29", 68, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f30", 69, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f31", 70, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "fcsr", 71, 1, "float", 64, "int");
+ tdesc_create_reg (feature, "fir", 72, 1, "float", 64, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.dsp");
- tdesc_create_reg (feature, "hi1", 72, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "lo1", 73, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hi2", 74, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "lo2", 75, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "hi3", 76, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "lo3", 77, 1, NULL, 64, "int");
- tdesc_create_reg (feature, "dspctl", 78, 1, NULL, 32, "int");
+ tdesc_create_reg (feature, "hi1", 73, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "lo1", 74, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "hi2", 75, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "lo2", 76, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "hi3", 77, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "lo3", 78, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "dspctl", 79, 1, NULL, 32, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.linux");
- tdesc_create_reg (feature, "restart", 79, 1, "system", 64, "int");
+ tdesc_create_reg (feature, "restart", 80, 1, "system", 64, "int");
tdesc_mips64_dsp_linux = result;
}
diff --git a/gdb/features/mips64-dsp.xml b/gdb/features/mips64-dsp.xml
index 0a2694e..a627276 100644
--- a/gdb/features/mips64-dsp.xml
+++ b/gdb/features/mips64-dsp.xml
@@ -7,12 +7,12 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.mips.dsp">
- <reg name="hi1" bitsize="64" regnum="72"/>
- <reg name="lo1" bitsize="64" regnum="73"/>
- <reg name="hi2" bitsize="64" regnum="74"/>
- <reg name="lo2" bitsize="64" regnum="75"/>
- <reg name="hi3" bitsize="64" regnum="76"/>
- <reg name="lo3" bitsize="64" regnum="77"/>
+ <reg name="hi1" bitsize="64"/>
+ <reg name="lo1" bitsize="64"/>
+ <reg name="hi2" bitsize="64"/>
+ <reg name="lo2" bitsize="64"/>
+ <reg name="hi3" bitsize="64"/>
+ <reg name="lo3" bitsize="64"/>
- <reg name="dspctl" bitsize="32" regnum="78"/>
+ <reg name="dspctl" bitsize="32"/>
</feature>
diff --git a/gdb/features/mips64-fpu.xml b/gdb/features/mips64-fpu.xml
index 7596fec..60b194a 100644
--- a/gdb/features/mips64-fpu.xml
+++ b/gdb/features/mips64-fpu.xml
@@ -7,7 +7,7 @@
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.mips.fpu">
- <reg name="f0" bitsize="64" type="ieee_double" regnum="38"/>
+ <reg name="f0" bitsize="64" type="ieee_double"/>
<reg name="f1" bitsize="64" type="ieee_double"/>
<reg name="f2" bitsize="64" type="ieee_double"/>
<reg name="f3" bitsize="64" type="ieee_double"/>
diff --git a/gdb/features/mips64-linux.c b/gdb/features/mips64-linux.c
index 2ecda9b..0c9331b 100644
--- a/gdb/features/mips64-linux.c
+++ b/gdb/features/mips64-linux.c
@@ -55,45 +55,46 @@ initialize_tdesc_mips64_linux (void)
tdesc_create_reg (feature, "status", 32, 1, NULL, 64, "int");
tdesc_create_reg (feature, "badvaddr", 35, 1, NULL, 64, "int");
tdesc_create_reg (feature, "cause", 36, 1, NULL, 64, "int");
+ tdesc_create_reg (feature, "config5", 38, 1, NULL, 64, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.fpu");
- tdesc_create_reg (feature, "f0", 38, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f1", 39, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f2", 40, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f3", 41, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f4", 42, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f5", 43, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f6", 44, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f7", 45, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f8", 46, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f9", 47, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f10", 48, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f11", 49, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f12", 50, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f13", 51, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f14", 52, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f15", 53, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f16", 54, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f17", 55, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f18", 56, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f19", 57, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f20", 58, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f21", 59, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f22", 60, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f23", 61, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f24", 62, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f25", 63, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f26", 64, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f27", 65, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f28", 66, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f29", 67, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f30", 68, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "f31", 69, 1, NULL, 64, "ieee_double");
- tdesc_create_reg (feature, "fcsr", 70, 1, "float", 64, "int");
- tdesc_create_reg (feature, "fir", 71, 1, "float", 64, "int");
+ tdesc_create_reg (feature, "f0", 39, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f1", 40, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f2", 41, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f3", 42, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f4", 43, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f5", 44, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f6", 45, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f7", 46, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f8", 47, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f9", 48, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f10", 49, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f11", 50, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f12", 51, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f13", 52, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f14", 53, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f15", 54, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f16", 55, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f17", 56, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f18", 57, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f19", 58, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f20", 59, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f21", 60, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f22", 61, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f23", 62, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f24", 63, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f25", 64, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f26", 65, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f27", 66, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f28", 67, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f29", 68, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f30", 69, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "f31", 70, 1, NULL, 64, "ieee_double");
+ tdesc_create_reg (feature, "fcsr", 71, 1, "float", 64, "int");
+ tdesc_create_reg (feature, "fir", 72, 1, "float", 64, "int");
feature = tdesc_create_feature (result, "org.gnu.gdb.mips.linux");
- tdesc_create_reg (feature, "restart", 72, 1, "system", 64, "int");
+ tdesc_create_reg (feature, "restart", 73, 1, "system", 64, "int");
tdesc_mips64_linux = result;
}
diff --git a/gdb/gdbserver/linux-mips-low.c b/gdb/gdbserver/linux-mips-low.c
index 30a03d5..e9f0b06 100644
--- a/gdb/gdbserver/linux-mips-low.c
+++ b/gdb/gdbserver/linux-mips-low.c
@@ -54,8 +54,8 @@ extern const struct target_desc *tdesc_mips64_dsp_linux;
#include <sys/reg.h>
#endif
-#define mips_num_regs 73
-#define mips_dsp_num_regs 80
+#define mips_num_regs 74
+#define mips_dsp_num_regs 81
#include <asm/ptrace.h>
@@ -81,7 +81,7 @@ union mips_register
16, 17, 18, 19, 20, 21, 22, 23, \
24, 25, 26, 27, 28, 29, 30, 31, \
\
- -1, MMLO, MMHI, BADVADDR, CAUSE, PC, \
+ -1, MMLO, MMHI, BADVADDR, CAUSE, PC, -1, \
\
FPR_BASE, FPR_BASE + 1, FPR_BASE + 2, FPR_BASE + 3, \
FPR_BASE + 4, FPR_BASE + 5, FPR_BASE + 6, FPR_BASE + 7, \
diff --git a/gdb/regformats/mips-dsp-linux.dat b/gdb/regformats/mips-dsp-linux.dat
index ce37bf3..4793256 100644
--- a/gdb/regformats/mips-dsp-linux.dat
+++ b/gdb/regformats/mips-dsp-linux.dat
@@ -41,6 +41,7 @@ expedite:r29,pc
32:badvaddr
32:cause
32:pc
+32:config5
32:f0
32:f1
32:f2
diff --git a/gdb/regformats/mips-linux.dat b/gdb/regformats/mips-linux.dat
index d95e2c9..69457a6 100644
--- a/gdb/regformats/mips-linux.dat
+++ b/gdb/regformats/mips-linux.dat
@@ -41,6 +41,7 @@ expedite:r29,pc
32:badvaddr
32:cause
32:pc
+32:config5
32:f0
32:f1
32:f2
diff --git a/gdb/regformats/mips64-dsp-linux.dat b/gdb/regformats/mips64-dsp-linux.dat
index e73df93..4f30a31 100644
--- a/gdb/regformats/mips64-dsp-linux.dat
+++ b/gdb/regformats/mips64-dsp-linux.dat
@@ -41,6 +41,7 @@ expedite:r29,pc
64:badvaddr
64:cause
64:pc
+64:config5
64:f0
64:f1
64:f2
diff --git a/gdb/regformats/mips64-linux.dat b/gdb/regformats/mips64-linux.dat
index 6770c8f..43144ca 100644
--- a/gdb/regformats/mips64-linux.dat
+++ b/gdb/regformats/mips64-linux.dat
@@ -41,6 +41,7 @@ expedite:r29,pc
64:badvaddr
64:cause
64:pc
+64:config5
64:f0
64:f1
64:f2
--
1.9-rc2
next prev parent reply other threads:[~2016-06-27 14:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-27 14:50 [PATCH 01/24] MIPS: Handle run-time reconfigurable FPR size Bhushan Attarde
2016-06-27 14:50 ` [PATCH 03/24] regcache: handle invalidated regcache Bhushan Attarde
2016-10-21 22:42 ` Maciej W. Rozycki
2016-06-27 14:50 ` [PATCH 10/24] MIPS: override fscr/fir types and print control registers specially Bhushan Attarde
2016-06-27 14:50 ` [PATCH 08/24] MIPS: Convert FP mode to enum and put fp registers into fp reggroup Bhushan Attarde
2016-06-27 14:50 ` [PATCH 11/24] MIPS: Add support for hybrid fp32/fp64 mode Bhushan Attarde
2016-06-27 14:50 ` [PATCH 06/24] mips-linux-nat: pick fp64 target description when appropriate Bhushan Attarde
2016-06-27 14:51 ` [PATCH 21/24] MIPSR6 support for GDB Bhushan Attarde
2016-07-29 21:10 ` Maciej W. Rozycki
2016-06-27 14:51 ` [PATCH 04/24] Add MIPS Config5 register related support Bhushan Attarde
2016-06-27 14:51 ` [PATCH 02/24] Add MIPS32 FPU64 GDB target descriptions Bhushan Attarde
2016-10-12 12:42 ` Maciej W. Rozycki
2016-10-12 13:58 ` James Hogan
2016-10-12 16:30 ` Maciej W. Rozycki
2016-10-12 18:05 ` James Hogan
2016-10-12 22:04 ` Maciej W. Rozycki
2016-10-13 10:09 ` Matthew Fortune
2016-10-21 19:17 ` Maciej W. Rozycki
2016-10-21 19:24 ` Maciej W. Rozycki
2016-06-27 14:51 ` [PATCH 18/24] mips-linux-nat: get msa registers Bhushan Attarde
2016-06-27 14:51 ` [PATCH 13/24] Add MIPS MSA GDB target descriptions Bhushan Attarde
2016-06-27 14:51 ` [PATCH 07/24] MIPS: Make Linux restart register more dynamic Bhushan Attarde
2016-06-27 14:51 ` [PATCH 23/24] MIPS R6 opcode table shuffle for LDC2/SDC2 Bhushan Attarde
2016-06-27 14:51 ` [PATCH 20/24] Drop FP and MSA control registers from default info registers Bhushan Attarde
2016-06-27 14:51 ` [PATCH 14/24] Implement core MSA stuff Bhushan Attarde
2016-06-27 14:51 ` [PATCH 09/24] MIPS: Enhance cooked FP format Bhushan Attarde
2016-06-27 14:51 ` [PATCH 19/24] Add MIPS MSA vector branch instruction support Bhushan Attarde
2016-06-27 14:51 ` [PATCH 22/24] Support all new ABIs when detecting if an FPU is present Bhushan Attarde
2016-06-27 14:51 ` [PATCH 24/24] MIPS R6 forbidden slot support Bhushan Attarde
2016-06-27 14:51 ` Bhushan Attarde [this message]
2016-06-27 14:51 ` [PATCH 12/24] o32 sigframe unwinding with FR1 Bhushan Attarde
2016-07-25 14:03 ` [PATCH 01/24] MIPS: Handle run-time reconfigurable FPR size Maciej W. Rozycki
2016-10-18 17:37 ` Maciej W. Rozycki
2016-11-08 19:46 ` Yao Qi
2016-11-10 12:43 ` Maciej W. Rozycki
2016-11-11 12:29 ` Yao Qi
2016-12-02 2:31 ` Maciej W. Rozycki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1467038991-6600-5-git-send-email-bhushan.attarde@imgtec.com \
--to=bhushan.attarde@imgtec.com \
--cc=Andrew.Bennett@imgtec.com \
--cc=James.Hogan@imgtec.com \
--cc=Jaydeep.Patil@imgtec.com \
--cc=Maciej.Rozycki@imgtec.com \
--cc=Matthew.Fortune@imgtec.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox