Intel(R) Memory Protection Extensions (Intel(R) MPX) support.
authorValentina Giusti <valentina.giusti@intel.com>
Mon, 5 Sep 2016 17:43:10 +0000 (17:43 +0000)
committerValentina Giusti <valentina.giusti@intel.com>
Mon, 5 Sep 2016 17:43:10 +0000 (17:43 +0000)
commitf105abbc0d0bf316f43ca6a3e0b2aae6daedf1d6
tree9547ee4b31a6203a7a6e3745ae475ad792befc46
parent9bd34f975157df546bd57e7a5d86a8aace7d573b
Intel(R) Memory Protection Extensions (Intel(R) MPX) support.

Summary:

The Intel(R) Memory Protection Extensions (Intel(R) MPX) associates pointers
to bounds, against which the software can check memory references to
prevent out of bound memory access.

This patch allows accessing the MPX registers:
  * bnd0-3: 128-bit registers to hold the bound values,
  * bndcfgu, bndstatus: 64-bit configuration registers,

This patch also adds read/write tests for the MPX registers in the register
command tests and adds a new subdirectory for MPX specific tests.

Signed-off-by: Valentina Giusti <valentina.giusti@intel.com>
Reviewers: labath, granata.enrico, lldb-commits, clayborg

Subscribers: lldb-commits

Differential Revision: https://reviews.llvm.org/D24187

llvm-svn: 280668
21 files changed:
lldb/packages/Python/lldbsuite/test/functionalities/register/Makefile [deleted file]
lldb/packages/Python/lldbsuite/test/functionalities/register/TestRegisters.py [deleted file]
lldb/packages/Python/lldbsuite/test/functionalities/register/a.cpp [deleted file]
lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/Makefile [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/TestMPXRegisters.py [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/intel_xtended_registers/main.cpp [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/main.cpp [deleted file]
lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/Makefile [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/TestRegisters.py [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/a.cpp [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/functionalities/register/register_command/main.cpp [new file with mode: 0644]
lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.cpp
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_x86_64.h
lldb/source/Plugins/Process/Utility/RegisterContext_x86.h
lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h
lldb/source/Plugins/Process/Utility/RegisterInfos_x86_64.h
lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp