<html lang="en">
<head>
<title>S/390 and System z Features - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Standard-Target-Features.html#Standard-Target-Features" title="Standard Target Features">
<link rel="prev" href="RISC_002dV-Features.html#RISC_002dV-Features" title="RISC-V Features">
<link rel="next" href="Sparc-Features.html#Sparc-Features" title="Sparc Features">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="S%2f390-and-System-z-Features"></a>
<a name="S_002f390-and-System-z-Features"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Sparc-Features.html#Sparc-Features">Sparc Features</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="RISC_002dV-Features.html#RISC_002dV-Features">RISC-V Features</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Standard-Target-Features.html#Standard-Target-Features">Standard Target Features</a>
<hr>
</div>

<h4 class="subsection">G.5.13 S/390 and System z Features</h4>

<p><a name="index-target-descriptions_002c-S_002f390-features-3670"></a><a name="index-target-descriptions_002c-System-z-features-3671"></a>
The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.core</span></samp>&rsquo; feature is required for S/390 and
System z targets.  It should contain the PSW and the 16 general
registers.  In particular, System z targets should provide the 64-bit
registers &lsquo;<samp><span class="samp">pswm</span></samp>&rsquo;, &lsquo;<samp><span class="samp">pswa</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">r0</span></samp>&rsquo; through &lsquo;<samp><span class="samp">r15</span></samp>&rsquo;. 
S/390 targets should provide the 32-bit versions of these registers. 
A System z target that runs in 31-bit addressing mode should provide
32-bit versions of &lsquo;<samp><span class="samp">pswm</span></samp>&rsquo; and &lsquo;<samp><span class="samp">pswa</span></samp>&rsquo;, as well as the general
register's upper halves &lsquo;<samp><span class="samp">r0h</span></samp>&rsquo; through &lsquo;<samp><span class="samp">r15h</span></samp>&rsquo;, and their
lower halves &lsquo;<samp><span class="samp">r0l</span></samp>&rsquo; through &lsquo;<samp><span class="samp">r15l</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.fpr</span></samp>&rsquo; feature is required.  It should
contain the 64-bit registers &lsquo;<samp><span class="samp">f0</span></samp>&rsquo; through &lsquo;<samp><span class="samp">f15</span></samp>&rsquo;, and
&lsquo;<samp><span class="samp">fpc</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.acr</span></samp>&rsquo; feature is required.  It should
contain the 32-bit registers &lsquo;<samp><span class="samp">acr0</span></samp>&rsquo; through &lsquo;<samp><span class="samp">acr15</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.linux</span></samp>&rsquo; feature is optional.  It should
contain the register &lsquo;<samp><span class="samp">orig_r2</span></samp>&rsquo;, which is 64-bit wide on System z
targets and 32-bit otherwise.  In addition, the feature may contain
the &lsquo;<samp><span class="samp">last_break</span></samp>&rsquo; register, whose width depends on the addressing
mode, as well as the &lsquo;<samp><span class="samp">system_call</span></samp>&rsquo; register, which is always
32-bit wide.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.tdb</span></samp>&rsquo; feature is optional.  It should
contain the 64-bit registers &lsquo;<samp><span class="samp">tdb0</span></samp>&rsquo;, &lsquo;<samp><span class="samp">tac</span></samp>&rsquo;, &lsquo;<samp><span class="samp">tct</span></samp>&rsquo;,
&lsquo;<samp><span class="samp">atia</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">tr0</span></samp>&rsquo; through &lsquo;<samp><span class="samp">tr15</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.vx</span></samp>&rsquo; feature is optional.  It should contain
64-bit wide registers &lsquo;<samp><span class="samp">v0l</span></samp>&rsquo; through &lsquo;<samp><span class="samp">v15l</span></samp>&rsquo;, which will be
combined by <span class="sc">gdb</span> with the floating point registers &lsquo;<samp><span class="samp">f0</span></samp>&rsquo;
through &lsquo;<samp><span class="samp">f15</span></samp>&rsquo; to present the 128-bit wide vector registers
&lsquo;<samp><span class="samp">v0</span></samp>&rsquo; through &lsquo;<samp><span class="samp">v15</span></samp>&rsquo;.  In addition, this feature should
contain the 128-bit wide vector registers &lsquo;<samp><span class="samp">v16</span></samp>&rsquo; through
&lsquo;<samp><span class="samp">v31</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.gs</span></samp>&rsquo; feature is optional.  It should contain
the 64-bit wide guarded-storage-control registers &lsquo;<samp><span class="samp">gsd</span></samp>&rsquo;,
&lsquo;<samp><span class="samp">gssm</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">gsepla</span></samp>&rsquo;.

   <p>The &lsquo;<samp><span class="samp">org.gnu.gdb.s390.gsbc</span></samp>&rsquo; feature is optional.  It should contain
the 64-bit wide guarded-storage broadcast control registers
&lsquo;<samp><span class="samp">bc_gsd</span></samp>&rsquo;, &lsquo;<samp><span class="samp">bc_gssm</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">bc_gsepla</span></samp>&rsquo;.

   </body></html>

