Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: "Sturm, Michael" <michael.sturm@intel.com>
To: mark.kettenis@xs4all.nl, palves@redhat.com, eliz@gnu.org
Cc: gdb-patches@sourceware.org
Subject: [pushed] Add support for PKRU register to GDB and GDBServer.
Date: Fri, 17 Feb 2017 13:47:00 -0000	[thread overview]
Message-ID: <58A6FEC7.5010707@intel.com> (raw)
In-Reply-To: <1485954205-18536-1-git-send-email-michael.sturm@intel.com>

Thanks and Regards,
Michael

On 01/02/2017 14:03, Michael Sturm wrote:
> This patch series adds support for the registers added by the
> Memory Protection Keys for Userspace (PKU aka PKEYs).
> Native and remote debugging are covered by this patch.
>
> The feedback I got during the first review of this patch raised
> questions regarding the naming of XSTATE masks and target descriptors.
> in addition, Walfred started working on patches that included renaming
> of XSTATE masks and target descriptors. These patches have been submitted
> by now.
> (https://sourceware.org/ml/gdb-patches/2016-04/msg00329.html)
> (https://sourceware.org/ml/gdb-patches/2016-04/msg00328.html)
>
> Adressed in V4:
> Updated copyrights to 2017 throughout the series.
>
> * [PATCH v3 2/5] Change xstate_bv handling to use 8 bytes of data
>    Moved explanatory text from Changelog to commit log.
> * [PATCH v3 3/5] Rename target descriptions to reflect actual content
>    Removed unneccessary new expedites. Added fs_base/gs_base registers.
> * [PATCH v3 5/5] Add support for Intel PKRU register to GDB and GDBserver
>    Changed returned type of i386_pkru_regnum_p to bool.
>    Removed "Contributed by..." text.
>    Include stddef.h instead of stdio.h in test source file.
>    Check for actual value in pkru read back test.
>
> Adressed in V3:
> * [PATCH v2 1/5] Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch
>    Added copyright blurb that got lost by accident.
> * PATCH v2 2/5] Change xstate_bv handling to use 8 bytes of data
>    Shortened description of changes in Changelog.
> * [PATCH v2 5/5] Add support for Intel PKRU register to GDB and GDBserver
>    Corrected spurious change in NEWS and some missing spaces in comments.
>    Removed some code in the test and improved the output as pointed out by Luis..
>    
> Adressed in V2:
> * [Patch v2 1/5] New patch to sync cpuid bits with GCC as suggested by
>    Pedro.
> * [PATCH v2 2/5] Change xstate_bv handling to use 8 bytes of data:
>    Read/write xstate_bc values using endianess-aware functions.
> * [PATCH v2 3/5] Rename target descriptions to reflect actual content:
>    Addressed comments by Pedro regarding wording in Changelog.
> * [PATCH v2 4/5] Add target description for avx-avx512:
>    Addressed comments by Pedro regarding Changelog.
>    Fixed wording of comments regarding MPX on x32.
>    Removed MPX from comment in x32*.xml files.
> * [PATCH v2 5/5] Add support for Intel PKRU register to GDB and GDBserver:
>    Adressed comments by Pedro regarding Changelog.
>    Added missing renames in GDBserver ipa-related files.
>    Changed test for PKU following comments by Pedro.
>    
>    
>    I'd like to answer Pedro's question regarding the approach of
>    adding PKRU to amd64-avx-mpx_avx512-* tdesc and renaming _without_
>    keeping a copy without PKU:
>    Q: "Is that really the right thing to do?  What about machines that
>    _don't_ support pkru?  Shouldn't we keep the older descriptions
>    for those?
>    A: The first machine to support PKU will have the xstate mask
>    X86_XSTATE_AVX_MPX_AVX512_PKU_MASK.
>    The nearest existing xstate masks without PKU are
>    X86_XSTATE_AVX_AVX512_MASK, which was introduced in patch 4 of
>    this series, and X86_XSTATE_AVX_MPX_MASK.
>    I've only kept X86_XSTATE_AVX_MPX_AVX512_MASK in patch 4,
>    because it is reused in patch 5 to be renamed to
>    X86_XSTATE_AVX_MPX_AVX512_PKU_MASK.
>
> Michael Sturm (5):
>    Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch.
>    Change xstate_bv handling to use 8 bytes of data.
>    Rename target descriptions to reflect actual content of description.
>    Add target description for avx-avx512.
>    Add support for Intel PKRU register to GDB and GDBserver.
>
>   gdb/NEWS                                           |   4 +
>   gdb/amd64-linux-nat.c                              |   1 +
>   gdb/amd64-linux-tdep.c                             |  30 ++-
>   gdb/amd64-linux-tdep.h                             |   7 +-
>   gdb/amd64-tdep.c                                   |  28 +-
>   gdb/amd64-tdep.h                                   |   1 +
>   gdb/common/x86-xstate.h                            |  21 +-
>   gdb/doc/gdb.texinfo                                |   4 +
>   gdb/features/Makefile                              |  64 +++--
>   gdb/features/i386/32bit-pkeys.xml                  |  13 +
>   gdb/features/i386/64bit-pkeys.xml                  |  13 +
>   gdb/features/i386/amd64-avx-avx512-linux.c         | 288 +++++++++++++++++++++
>   gdb/features/i386/amd64-avx-avx512-linux.xml       |  20 ++
>   gdb/features/i386/amd64-avx-avx512.c               | 279 ++++++++++++++++++++
>   gdb/features/i386/amd64-avx-avx512.xml             |  17 ++
>   ...12-linux.c => amd64-avx-mpx-avx512-pku-linux.c} |  11 +-
>   ...inux.xml => amd64-avx-mpx-avx512-pku-linux.xml} |   4 +-
>   .../{amd64-avx512.c => amd64-avx-mpx-avx512-pku.c} |  11 +-
>   ...d64-avx512.xml => amd64-avx-mpx-avx512-pku.xml} |   3 +-
>   gdb/features/i386/i386-avx-avx512-linux.c          | 170 ++++++++++++
>   gdb/features/i386/i386-avx-avx512-linux.xml        |  19 ++
>   gdb/features/i386/i386-avx-avx512.c                | 165 ++++++++++++
>   gdb/features/i386/i386-avx-avx512.xml              |  17 ++
>   ...512-linux.c => i386-avx-mpx-avx512-pku-linux.c} |  11 +-
>   ...linux.xml => i386-avx-mpx-avx512-pku-linux.xml} |   4 +-
>   .../{i386-avx512.c => i386-avx-mpx-avx512-pku.c}   |  11 +-
>   ...i386-avx512.xml => i386-avx-mpx-avx512-pku.xml} |   3 +-
>   .../{x32-avx512-linux.c => x32-avx-avx512-linux.c} | 192 ++++++--------
>   ...2-avx512-linux.xml => x32-avx-avx512-linux.xml} |   3 +-
>   .../i386/{x32-avx512.c => x32-avx-avx512.c}        | 190 ++++++--------
>   .../i386/{x32-avx512.xml => x32-avx-avx512.xml}    |   3 +-
>   gdb/gdbserver/Makefile.in                          |  50 ++--
>   gdb/gdbserver/configure.srv                        |  25 +-
>   gdb/gdbserver/i387-fp.c                            |  51 +++-
>   gdb/gdbserver/linux-amd64-ipa.c                    |  15 +-
>   gdb/gdbserver/linux-i386-ipa.c                     |  10 +-
>   gdb/gdbserver/linux-x86-low.c                      |  45 +++-
>   gdb/gdbserver/linux-x86-tdesc.h                    |  29 ++-
>   gdb/i386-linux-nat.c                               |   2 +-
>   gdb/i386-linux-tdep.c                              |  14 +-
>   gdb/i386-linux-tdep.h                              |   6 +-
>   gdb/i386-tdep.c                                    |  76 +++++-
>   gdb/i386-tdep.h                                    |  14 +-
>   gdb/i387-tdep.c                                    | 116 ++++++++-
>   gdb/i387-tdep.h                                    |   5 +
>   gdb/nat/x86-gcc-cpuid.h                            | 108 ++++----
>   .../{x32-avx512.dat => amd64-avx-avx512-linux.dat} |  15 +-
>   .../{amd64-avx512.dat => amd64-avx-avx512.dat}     |  12 +-
>   ...inux.dat => amd64-avx-mpx-avx512-pku-linux.dat} |   6 +-
>   ...x512-linux.dat => amd64-avx-mpx-avx512-pku.dat} |   7 +-
>   gdb/regformats/i386/i386-avx-avx512-linux.dat      |  71 +++++
>   gdb/regformats/i386/i386-avx-avx512.dat            |  70 +++++
>   ...vx512.dat => i386-avx-mpx-avx512-pku-linux.dat} |   8 +-
>   ...vx512-linux.dat => i386-avx-mpx-avx512-pku.dat} |   8 +-
>   gdb/regformats/i386/x32-avx-avx512-linux.dat       | 153 +++++++++++
>   gdb/regformats/i386/x32-avx-avx512.dat             | 150 +++++++++++
>   gdb/testsuite/gdb.arch/i386-pkru.c                 |  90 +++++++
>   gdb/testsuite/gdb.arch/i386-pkru.exp               |  69 +++++
>   gdb/x86-linux-nat.c                                |  20 +-
>   59 files changed, 2351 insertions(+), 501 deletions(-)
>   create mode 100644 gdb/features/i386/32bit-pkeys.xml
>   create mode 100644 gdb/features/i386/64bit-pkeys.xml
>   create mode 100644 gdb/features/i386/amd64-avx-avx512-linux.c
>   create mode 100644 gdb/features/i386/amd64-avx-avx512-linux.xml
>   create mode 100644 gdb/features/i386/amd64-avx-avx512.c
>   create mode 100644 gdb/features/i386/amd64-avx-avx512.xml
>   rename gdb/features/i386/{amd64-avx512-linux.c => amd64-avx-mpx-avx512-pku-linux.c} (97%)
>   rename gdb/features/i386/{amd64-avx512-linux.xml => amd64-avx-mpx-avx512-pku-linux.xml} (83%)
>   rename gdb/features/i386/{amd64-avx512.c => amd64-avx-mpx-avx512-pku.c} (98%)
>   rename gdb/features/i386/{amd64-avx512.xml => amd64-avx-mpx-avx512-pku.xml} (87%)
>   create mode 100644 gdb/features/i386/i386-avx-avx512-linux.c
>   create mode 100644 gdb/features/i386/i386-avx-avx512-linux.xml
>   create mode 100644 gdb/features/i386/i386-avx-avx512.c
>   create mode 100644 gdb/features/i386/i386-avx-avx512.xml
>   rename gdb/features/i386/{i386-avx512-linux.c => i386-avx-mpx-avx512-pku-linux.c} (96%)
>   rename gdb/features/i386/{i386-avx512-linux.xml => i386-avx-mpx-avx512-pku-linux.xml} (82%)
>   rename gdb/features/i386/{i386-avx512.c => i386-avx-mpx-avx512-pku.c} (96%)
>   rename gdb/features/i386/{i386-avx512.xml => i386-avx-mpx-avx512-pku.xml} (87%)
>   rename gdb/features/i386/{x32-avx512-linux.c => x32-avx-avx512-linux.c} (61%)
>   rename gdb/features/i386/{x32-avx512-linux.xml => x32-avx-avx512-linux.xml} (85%)
>   rename gdb/features/i386/{x32-avx512.c => x32-avx-avx512.c} (60%)
>   rename gdb/features/i386/{x32-avx512.xml => x32-avx-avx512.xml} (89%)
>   rename gdb/regformats/i386/{x32-avx512.dat => amd64-avx-avx512-linux.dat} (90%)
>   rename gdb/regformats/i386/{amd64-avx512.dat => amd64-avx-avx512.dat} (90%)
>   rename gdb/regformats/i386/{x32-avx512-linux.dat => amd64-avx-mpx-avx512-pku-linux.dat} (91%)
>   rename gdb/regformats/i386/{amd64-avx512-linux.dat => amd64-avx-mpx-avx512-pku.dat} (92%)
>   create mode 100644 gdb/regformats/i386/i386-avx-avx512-linux.dat
>   create mode 100644 gdb/regformats/i386/i386-avx-avx512.dat
>   rename gdb/regformats/i386/{i386-avx512.dat => i386-avx-mpx-avx512-pku-linux.dat} (81%)
>   rename gdb/regformats/i386/{i386-avx512-linux.dat => i386-avx-mpx-avx512-pku.dat} (84%)
>   create mode 100644 gdb/regformats/i386/x32-avx-avx512-linux.dat
>   create mode 100644 gdb/regformats/i386/x32-avx-avx512.dat
>   create mode 100644 gdb/testsuite/gdb.arch/i386-pkru.c
>   create mode 100644 gdb/testsuite/gdb.arch/i386-pkru.exp
>

Intel Deutschland GmbH
Registered Address: Am Campeon 10-12, 85579 Neubiberg, Germany
Tel: +49 89 99 8853-0, www.intel.de
Managing Directors: Christin Eisenschmid, Christian Lamprechter
Chairperson of the Supervisory Board: Nicole Lau
Registered Office: Munich
Commercial Register: Amtsgericht Muenchen HRB 186928


      parent reply	other threads:[~2017-02-17 13:47 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-01 13:04 [PATCH v4 0/5] " Michael Sturm
2017-02-01 13:03 ` [PATCH 3/5] Rename target descriptions to reflect actual content of description Michael Sturm
2017-02-01 13:03 ` [PATCH 2/5] Change xstate_bv handling to use 8 bytes of data Michael Sturm
2017-02-01 13:03 ` [PATCH 1/5] Sync up x86-gcc-cpuid.h with cpuid.h from gcc-6 branch Michael Sturm
2017-02-01 13:04 ` [PATCH 5/5] Add support for Intel PKRU register to GDB and GDBserver Michael Sturm
2017-02-01 13:09   ` Eli Zaretskii
2017-02-03  9:20     ` Sturm, Michael
2017-02-10 15:46   ` Pedro Alves
2017-06-19 20:15   ` Simon Marchi
2017-06-20  7:07     ` Tedeschi, Walfred
2017-06-20  8:49       ` Simon Marchi
2017-06-20 10:07       ` Yao Qi
2017-06-20 10:53         ` Tedeschi, Walfred
2017-06-20 11:03           ` Yao Qi
2017-06-20 11:04             ` Tedeschi, Walfred
2017-06-22 11:17             ` Tedeschi, Walfred
     [not found]               ` <CAH=s-POWw-duRWLMAGrU_gqWfH5HEo9eCiRK-y7NgBt8jFp0_Q@mail.gmail.com>
2017-06-22 11:53                 ` Tedeschi, Walfred
2017-02-01 13:04 ` [PATCH 4/5] Add target description for avx-avx512 Michael Sturm
2017-02-10 15:44   ` Pedro Alves
2017-02-07 14:29 ` [ping][PATCH v4 0/5] Add support for PKRU register to GDB and GDBServer Sturm, Michael
2017-02-17 13:47 ` Sturm, Michael [this message]

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=58A6FEC7.5010707@intel.com \
    --to=michael.sturm@intel.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=palves@redhat.com \
    /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