#### G.5.15 S/390 and System z Features ¶

The ‘`org.gnu.gdb.s390.core`’ 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 ‘`pswm`’, ‘`pswa`’, and ‘`r0`’ through ‘`r15`’. 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 ‘`pswm`’ and ‘`pswa`’, as well as the general register’s upper halves ‘`r0h`’ through ‘`r15h`’, and their lower halves ‘`r0l`’ through ‘`r15l`’.

The ‘`org.gnu.gdb.s390.fpr`’ feature is required. It should contain the 64-bit registers ‘`f0`’ through ‘`f15`’, and ‘`fpc`’.

The ‘`org.gnu.gdb.s390.acr`’ feature is required. It should contain the 32-bit registers ‘`acr0`’ through ‘`acr15`’.

The ‘`org.gnu.gdb.s390.linux`’ feature is optional. It should contain the register ‘`orig_r2`’, which is 64-bit wide on System z targets and 32-bit otherwise. In addition, the feature may contain the ‘`last_break`’ register, whose width depends on the addressing mode, as well as the ‘`system_call`’ register, which is always 32-bit wide.

The ‘`org.gnu.gdb.s390.tdb`’ feature is optional. It should contain the 64-bit registers ‘`tdb0`’, ‘`tac`’, ‘`tct`’, ‘`atia`’, and ‘`tr0`’ through ‘`tr15`’.

The ‘`org.gnu.gdb.s390.vx`’ feature is optional. It should contain 64-bit wide registers ‘`v0l`’ through ‘`v15l`’, which will be combined by GDB with the floating point registers ‘`f0`’ through ‘`f15`’ to present the 128-bit wide vector registers ‘`v0`’ through ‘`v15`’. In addition, this feature should contain the 128-bit wide vector registers ‘`v16`’ through ‘`v31`’.

The ‘`org.gnu.gdb.s390.gs`’ feature is optional. It should contain the 64-bit wide guarded-storage-control registers ‘`gsd`’, ‘`gssm`’, and ‘`gsepla`’.

The ‘`org.gnu.gdb.s390.gsbc`’ feature is optional. It should contain the 64-bit wide guarded-storage broadcast control registers ‘`bc_gsd`’, ‘`bc_gssm`’, and ‘`bc_gsepla`’.