]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Add s390x register decsription to vgdb. This enables examination
authorFlorian Krohm <florian@eich-krohm.de>
Tue, 13 Mar 2012 02:13:50 +0000 (02:13 +0000)
committerFlorian Krohm <florian@eich-krohm.de>
Tue, 13 Mar 2012 02:13:50 +0000 (02:13 +0000)
of V bits in vgdb.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12443

18 files changed:
NEWS
coregrind/Makefile.am
coregrind/m_gdbserver/README_DEVELOPERS
coregrind/m_gdbserver/s390-acr-valgrind-s1.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390-acr-valgrind-s2.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390-acr.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390-fpr-valgrind-s1.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390-fpr-valgrind-s2.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390-fpr.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-core64-valgrind-s1.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-core64-valgrind-s2.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-core64.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-generic-valgrind.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-generic.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-linux64-valgrind-s1.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-linux64-valgrind-s2.xml [new file with mode: 0644]
coregrind/m_gdbserver/s390x-linux64.xml [new file with mode: 0644]
coregrind/m_gdbserver/valgrind-low-s390x.c

diff --git a/NEWS b/NEWS
index 814ed1e45c62f470a338d9f69e1e80e2985150bc..a4da32f210ae7fccf8cf439c48afb0796c757750 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -72,6 +72,8 @@ where XXXXXX is the bug number as listed below.
 293088  Add some VEX sanity checks for ppc64 unhandled instructions
 294055  regtest none/tests/shell fails when locale is not set to C
 294190  --vgdb-error=xxx can be out of sync with errors shown to the user
+n-i-bz  s390x: Shadow registers can now be examined using vgdb
+
 
 Release 3.7.0 (5 November 2011)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
index 3e99f3fa2757f88d1c25184adb1c4b940349980d..329a01bdac4a13d53df3e7fc0da0af3725f6da26 100644 (file)
@@ -510,7 +510,21 @@ GDBSERVER_XML_FILES = \
        m_gdbserver/powerpc-altivec32l-valgrind.xml \
        m_gdbserver/powerpc-altivec32l.xml \
        m_gdbserver/powerpc-altivec64l-valgrind.xml \
-       m_gdbserver/powerpc-altivec64l.xml
+       m_gdbserver/powerpc-altivec64l.xml \
+       m_gdbserver/s390-acr-valgrind-s1.xml \
+       m_gdbserver/s390-acr-valgrind-s2.xml \
+       m_gdbserver/s390-acr.xml \
+       m_gdbserver/s390-fpr-valgrind-s1.xml \
+       m_gdbserver/s390-fpr-valgrind-s2.xml \
+       m_gdbserver/s390-fpr.xml \
+       m_gdbserver/s390x-core64-valgrind-s1.xml \
+       m_gdbserver/s390x-core64-valgrind-s2.xml \
+       m_gdbserver/s390x-core64.xml \
+       m_gdbserver/s390x-generic-valgrind.xml \
+       m_gdbserver/s390x-generic.xml \
+       m_gdbserver/s390x-linux64-valgrind-s1.xml \
+       m_gdbserver/s390x-linux64-valgrind-s2.xml \
+       m_gdbserver/s390x-linux64.xml
 
 # so as to make sure these get copied into the install tree
 vglibdir = $(pkglibdir)
index 55d0790f66bb20e58e4dff547b1170e983e2a33e..3cf740f49487debd8c824f79eb04cdf5b2830933 100644 (file)
@@ -295,7 +295,7 @@ shadow1 and shadow2 register sets description.
 
 Modify coregrind/Makefile.am:
     add valgrind-low-hal9000.c
-    If you have target xml description, also add them in pkglib_DATA 
+    If you have target xml description, also add them to GDBSERVER_XML_FILES
 
 
 TODO and/or additional nice things to have
diff --git a/coregrind/m_gdbserver/s390-acr-valgrind-s1.xml b/coregrind/m_gdbserver/s390-acr-valgrind-s1.xml
new file mode 100644 (file)
index 0000000..77b63b1
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr-valgrind-s1">
+  <reg name="acr0s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr1s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr2s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr3s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr4s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr5s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr6s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr7s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr8s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr9s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr10s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr11s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr12s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr13s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr14s1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr15s1" bitsize="32" type="uint32" group="access"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390-acr-valgrind-s2.xml b/coregrind/m_gdbserver/s390-acr-valgrind-s2.xml
new file mode 100644 (file)
index 0000000..5124e48
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr-valgrind-s2">
+  <reg name="acr0s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr1s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr2s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr3s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr4s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr5s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr6s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr7s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr8s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr9s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr10s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr11s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr12s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr13s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr14s2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr15s2" bitsize="32" type="uint32" group="access"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390-acr.xml b/coregrind/m_gdbserver/s390-acr.xml
new file mode 100644 (file)
index 0000000..a7e9a17
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.acr">
+  <reg name="acr0" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr1" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr2" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr3" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr4" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr5" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr6" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr7" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr8" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr9" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr10" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr11" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr12" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr13" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr14" bitsize="32" type="uint32" group="access"/>
+  <reg name="acr15" bitsize="32" type="uint32" group="access"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390-fpr-valgrind-s1.xml b/coregrind/m_gdbserver/s390-fpr-valgrind-s1.xml
new file mode 100644 (file)
index 0000000..afc2b95
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr-valgrind-s1">
+  <reg name="fpcs1" bitsize="32" type="uint32" group="float"/>
+  <reg name="f0s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f1s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f2s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f3s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f4s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f5s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f6s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f7s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f8s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f9s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f10s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f11s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f12s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f13s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f14s1" bitsize="64" type="uint64" group="float"/>
+  <reg name="f15s1" bitsize="64" type="uint64" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390-fpr-valgrind-s2.xml b/coregrind/m_gdbserver/s390-fpr-valgrind-s2.xml
new file mode 100644 (file)
index 0000000..7a74ce6
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr-valgrind-s2">
+  <reg name="fpcs2" bitsize="32" type="uint32" group="float"/>
+  <reg name="f0s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f1s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f2s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f3s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f4s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f5s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f6s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f7s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f8s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f9s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f10s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f11s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f12s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f13s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f14s2" bitsize="64" type="uint64" group="float"/>
+  <reg name="f15s2" bitsize="64" type="uint64" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390-fpr.xml b/coregrind/m_gdbserver/s390-fpr.xml
new file mode 100644 (file)
index 0000000..1919b60
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.fpr">
+  <reg name="fpc" bitsize="32" type="uint32" group="float"/>
+  <reg name="f0" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f1" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f2" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f3" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f4" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f5" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f6" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f7" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f8" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f9" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f10" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f11" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f12" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f13" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f14" bitsize="64" type="ieee_double" group="float"/>
+  <reg name="f15" bitsize="64" type="ieee_double" group="float"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-core64-valgrind-s1.xml b/coregrind/m_gdbserver/s390x-core64-valgrind-s1.xml
new file mode 100644 (file)
index 0000000..ee19b13
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core-valgrind-s1">
+  <reg name="pswms1" bitsize="64" type="uint64" group="psw"/>
+  <reg name="pswas1" bitsize="64" type="uint64" group="psw"/>
+  <reg name="r0s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r1s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r2s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r3s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r4s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r5s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r6s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r7s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r8s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r9s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r10s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r11s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r12s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r13s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r14s1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r15s1" bitsize="64" type="uint64" group="general"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-core64-valgrind-s2.xml b/coregrind/m_gdbserver/s390x-core64-valgrind-s2.xml
new file mode 100644 (file)
index 0000000..90b373b
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core-valgrind-s2">
+  <reg name="pswms2" bitsize="64" type="uint64" group="psw"/>
+  <reg name="pswas2" bitsize="64" type="uint64" group="psw"/>
+  <reg name="r0s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r1s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r2s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r3s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r4s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r5s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r6s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r7s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r8s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r9s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r10s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r11s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r12s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r13s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r14s2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r15s2" bitsize="64" type="uint64" group="general"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-core64.xml b/coregrind/m_gdbserver/s390x-core64.xml
new file mode 100644 (file)
index 0000000..06f786c
--- /dev/null
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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 feature SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.core">
+  <reg name="pswm" bitsize="64" type="uint64" group="psw"/>
+  <reg name="pswa" bitsize="64" type="uint64" group="psw"/>
+  <reg name="r0" bitsize="64" type="uint64" group="general"/>
+  <reg name="r1" bitsize="64" type="uint64" group="general"/>
+  <reg name="r2" bitsize="64" type="uint64" group="general"/>
+  <reg name="r3" bitsize="64" type="uint64" group="general"/>
+  <reg name="r4" bitsize="64" type="uint64" group="general"/>
+  <reg name="r5" bitsize="64" type="uint64" group="general"/>
+  <reg name="r6" bitsize="64" type="uint64" group="general"/>
+  <reg name="r7" bitsize="64" type="uint64" group="general"/>
+  <reg name="r8" bitsize="64" type="uint64" group="general"/>
+  <reg name="r9" bitsize="64" type="uint64" group="general"/>
+  <reg name="r10" bitsize="64" type="uint64" group="general"/>
+  <reg name="r11" bitsize="64" type="uint64" group="general"/>
+  <reg name="r12" bitsize="64" type="uint64" group="general"/>
+  <reg name="r13" bitsize="64" type="uint64" group="general"/>
+  <reg name="r14" bitsize="64" type="uint64" group="general"/>
+  <reg name="r15" bitsize="64" type="uint64" group="general"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-generic-valgrind.xml b/coregrind/m_gdbserver/s390x-generic-valgrind.xml
new file mode 100644 (file)
index 0000000..6457582
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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.  -->
+
+<!-- S/390 64-bit user-level code.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>s390:64-bit</architecture>
+  <xi:include href="s390x-core64.xml"/>
+  <xi:include href="s390-acr.xml"/>
+  <xi:include href="s390-fpr.xml"/>
+  <xi:include href="s390x-linux64.xml"/>
+  <xi:include href="s390x-core64-valgrind-s1.xml"/>
+  <xi:include href="s390-acr-valgrind-s1.xml"/>
+  <xi:include href="s390-fpr-valgrind-s1.xml"/>
+  <xi:include href="s390x-linux64-valgrind-s1.xml"/>
+  <xi:include href="s390x-core64-valgrind-s2.xml"/>
+  <xi:include href="s390-acr-valgrind-s2.xml"/>
+  <xi:include href="s390-fpr-valgrind-s2.xml"/>
+  <xi:include href="s390x-linux64-valgrind-s2.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/s390x-generic.xml b/coregrind/m_gdbserver/s390x-generic.xml
new file mode 100644 (file)
index 0000000..c005a3b
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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.  -->
+
+<!-- S/390 64-bit user-level code.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+  <architecture>s390:64-bit</architecture>
+  <xi:include href="s390x-core64.xml"/>
+  <xi:include href="s390-acr.xml"/>
+  <xi:include href="s390-fpr.xml"/>
+  <xi:include href="s390x-linux64.xml"/>
+</target>
diff --git a/coregrind/m_gdbserver/s390x-linux64-valgrind-s1.xml b/coregrind/m_gdbserver/s390x-linux64-valgrind-s1.xml
new file mode 100644 (file)
index 0000000..23eed21
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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.  -->
+
+<!-- S/390 64-bit user-level code.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux-valgrind-s1">
+  <reg name="orig_r2s1" bitsize="64" type="uint64" group="system"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-linux64-valgrind-s2.xml b/coregrind/m_gdbserver/s390x-linux64-valgrind-s2.xml
new file mode 100644 (file)
index 0000000..22ac591
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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.  -->
+
+<!-- S/390 64-bit user-level code.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux-valgrind-s2">
+  <reg name="orig_r2s2" bitsize="64" type="uint64" group="system"/>
+</feature>
diff --git a/coregrind/m_gdbserver/s390x-linux64.xml b/coregrind/m_gdbserver/s390x-linux64.xml
new file mode 100644 (file)
index 0000000..7e2ec89
--- /dev/null
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2012 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.  -->
+
+<!-- S/390 64-bit user-level code.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<feature name="org.gnu.gdb.s390.linux">
+  <reg name="orig_r2" bitsize="64" type="uint64" group="system"/>
+</feature>
index baa3ffcd0347f7108fe9dd57db0a9cbed8eeb2d9..aae9355150f7f7f36eb8cf7ec542987c12188009 100644 (file)
@@ -88,6 +88,7 @@ struct reg regs[] = {
   { "f13", 2528, 64 },
   { "f14", 2592, 64 },
   { "f15", 2656, 64 },
+  { "orig_r2", 2720, 64 },
 };
 static const char *expedite_regs[] = { "r14", "r15", "pswa", 0 };
 #define num_regs (sizeof (regs) / sizeof (regs[0]))
@@ -181,6 +182,7 @@ void transfer_register (ThreadId tid, int abs_regno, void * buf,
    case 48: VG_(transfer) (&s390x->guest_f13, buf, dir, size, mod); break;
    case 49: VG_(transfer) (&s390x->guest_f14, buf, dir, size, mod); break;
    case 50: VG_(transfer) (&s390x->guest_f15, buf, dir, size, mod); break;
+   case 51:  *mod = False; break; //GDBTD??? { "orig_r2", 0, 64 },  
    default: vg_assert(0);
    }
 }
@@ -193,8 +195,8 @@ static struct valgrind_target_ops low_target = {
    get_pc,
    set_pc,
    "s390x",
-   NULL, // target_xml not needed.
-   NULL // no xml shadow target description (yet?)
+   "s390x-generic.xml",
+   "s390x-generic-valgrind.xml"
 };
 
 void s390x_init_architecture (struct valgrind_target_ops *target)