This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 0/2] Split tdesc_(amd64|i386)_mpx into tdesc(amd64|i386)_mpx_* and tdesc(amd64|i386)_avx_mpx_*


CPU features can occur in any combination. The current assumption that 
feature "A" implies in feature "B" does not necessarily hold.
 
This patch series construct an additional combination of the Intel(R) 
Memory Protection Extensions (MPX) with Intel(R) Advanced Vector 
Extensions (AVX).
 
Starting from the current implementation that has MPX combined with AVX.
A new target description having only MPX will be created using a two 
step approach as described below:
 
First step:
Mirror (i386|amd64)mpx target descriptors onto (i386|amd64)-avx-mpx 
ones.
 
Add a redundant target description for the MPX and AVX case using a 
combined feature name to reflect that, i.e. avx-mpx.  A new flag 2is 
also added to address MPX case without AVX.
 
 
Second step:
Refactor (i386|amd64)-mpx target descriptors.
 
AVX feature is removed from the set of files that described MPX alone 
feature.  Present on GDB code previous to this patch.
 
 
Tests were done with hardware having MPX and AVX as is.
For MPX standing alone tests were done forcing the XCR0 bits.


Walfred Tedeschi (2):
  Add redundant target descriptor for tdesc(amd64|i386)_avx_mpx_*
  Re-factor (i386|amd64)mpx target descriptors.

 gdb/amd64-linux-tdep.c                      |   7 +
 gdb/amd64-linux-tdep.h                      |   1 +
 gdb/amd64-tdep.c                            |   4 +
 gdb/common/x86-xstate.h                     |   5 +-
 gdb/features/Makefile                       |  18 +++
 gdb/features/i386/amd64-avx-mpx-linux.c     | 211 ++++++++++++++++++++++++++++
 gdb/features/i386/amd64-avx-mpx-linux.xml   |  19 +++
 gdb/features/i386/amd64-avx-mpx.c           | 206 +++++++++++++++++++++++++++
 gdb/features/i386/amd64-avx-mpx.xml         |  17 +++
 gdb/features/i386/amd64-mpx-linux.c         |  30 +---
 gdb/features/i386/amd64-mpx-linux.xml       |   1 -
 gdb/features/i386/amd64-mpx.c               |  30 +---
 gdb/features/i386/amd64-mpx.xml             |   1 -
 gdb/features/i386/i386-avx-mpx-linux.c      | 187 ++++++++++++++++++++++++
 gdb/features/i386/i386-avx-mpx-linux.xml    |  19 +++
 gdb/features/i386/i386-avx-mpx.c            | 182 ++++++++++++++++++++++++
 gdb/features/i386/i386-avx-mpx.xml          |  17 +++
 gdb/features/i386/i386-mpx-linux.c          |  22 +--
 gdb/features/i386/i386-mpx-linux.xml        |   1 -
 gdb/features/i386/i386-mpx.c                |  22 +--
 gdb/features/i386/i386-mpx.xml              |   1 -
 gdb/gdbserver/Makefile.in                   |  10 ++
 gdb/gdbserver/configure.srv                 |  16 +--
 gdb/gdbserver/linux-x86-low.c               |  16 +++
 gdb/i386-linux-tdep.c                       |   4 +
 gdb/i386-linux-tdep.h                       |   1 +
 gdb/i386-tdep.c                             |   4 +
 gdb/regformats/i386/amd64-avx-mpx-linux.dat |  85 +++++++++++
 gdb/regformats/i386/amd64-avx-mpx.dat       |  84 +++++++++++
 gdb/regformats/i386/amd64-mpx-linux.dat     |  16 ---
 gdb/regformats/i386/amd64-mpx.dat           |  16 ---
 gdb/regformats/i386/i386-avx-mpx-linux.dat  |  61 ++++++++
 gdb/regformats/i386/i386-avx-mpx.dat        |  60 ++++++++
 gdb/regformats/i386/i386-mpx-linux.dat      |   8 --
 gdb/regformats/i386/i386-mpx.dat            |   8 --
 gdb/x86-linux-nat.c                         |   7 +
 36 files changed, 1255 insertions(+), 142 deletions(-)
 create mode 100644 gdb/features/i386/amd64-avx-mpx-linux.c
 create mode 100644 gdb/features/i386/amd64-avx-mpx-linux.xml
 create mode 100644 gdb/features/i386/amd64-avx-mpx.c
 create mode 100644 gdb/features/i386/amd64-avx-mpx.xml
 create mode 100644 gdb/features/i386/i386-avx-mpx-linux.c
 create mode 100644 gdb/features/i386/i386-avx-mpx-linux.xml
 create mode 100644 gdb/features/i386/i386-avx-mpx.c
 create mode 100644 gdb/features/i386/i386-avx-mpx.xml
 create mode 100644 gdb/regformats/i386/amd64-avx-mpx-linux.dat
 create mode 100644 gdb/regformats/i386/amd64-avx-mpx.dat
 create mode 100644 gdb/regformats/i386/i386-avx-mpx-linux.dat
 create mode 100644 gdb/regformats/i386/i386-avx-mpx.dat

-- 
2.1.4


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]