summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
diff options
context:
space:
mode:
authorValentina Giusti <valentina.giusti@intel.com>2016-09-05 17:43:10 +0000
committerValentina Giusti <valentina.giusti@intel.com>2016-09-05 17:43:10 +0000
commitf105abbc0d0bf316f43ca6a3e0b2aae6daedf1d6 (patch)
tree9547ee4b31a6203a7a6e3745ae475ad792befc46 /lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
parent9bd34f975157df546bd57e7a5d86a8aace7d573b (diff)
downloadbcm5719-llvm-f105abbc0d0bf316f43ca6a3e0b2aae6daedf1d6.tar.gz
bcm5719-llvm-f105abbc0d0bf316f43ca6a3e0b2aae6daedf1d6.zip
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
Diffstat (limited to 'lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h')
-rw-r--r--lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h30
1 files changed, 28 insertions, 2 deletions
diff --git a/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h b/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
index 63027b4451b..b33dd86472b 100644
--- a/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
+++ b/lldb/source/Plugins/Process/Utility/lldb-x86-register-enums.h
@@ -106,6 +106,18 @@ namespace lldb_private
lldb_ymm7_i386,
k_last_avx_i386 = lldb_ymm7_i386,
+ k_first_mpxr_i386,
+ lldb_bnd0_i386 = k_first_mpxr_i386,
+ lldb_bnd1_i386,
+ lldb_bnd2_i386,
+ lldb_bnd3_i386,
+ k_last_mpxr = lldb_bnd3_i386,
+
+ k_first_mpxc_i386,
+ lldb_bndcfgu_i386 = k_first_mpxc_i386,
+ lldb_bndstatus_i386,
+ k_last_mpxc_i386 = lldb_bndstatus_i386,
+
lldb_dr0_i386,
lldb_dr1_i386,
lldb_dr2_i386,
@@ -119,7 +131,8 @@ namespace lldb_private
k_num_gpr_registers_i386 = k_last_gpr_i386 - k_first_gpr_i386 + 1,
k_num_fpr_registers_i386 = k_last_fpr_i386 - k_first_fpr_i386 + 1,
k_num_avx_registers_i386 = k_last_avx_i386 - k_first_avx_i386 + 1,
- k_num_user_registers_i386 = k_num_gpr_registers_i386 + k_num_fpr_registers_i386 + k_num_avx_registers_i386,
+ k_num_mpx_registers_i386 = k_last_mpxc_i386 - k_first_mpxr_i386 + 1,
+ k_num_user_registers_i386 = k_num_gpr_registers_i386 + k_num_fpr_registers_i386 + k_num_avx_registers_i386 + k_num_mpx_registers_i386,
};
//---------------------------------------------------------------------------
@@ -274,6 +287,18 @@ namespace lldb_private
lldb_ymm15_x86_64,
k_last_avx_x86_64 = lldb_ymm15_x86_64,
+ k_first_mpxr_x86_64,
+ lldb_bnd0_x86_64 = k_first_mpxr_x86_64,
+ lldb_bnd1_x86_64,
+ lldb_bnd2_x86_64,
+ lldb_bnd3_x86_64,
+ k_last_mpxr_x86_64 = lldb_bnd3_x86_64,
+
+ k_first_mpxc_x86_64,
+ lldb_bndcfgu_x86_64 = k_first_mpxc_x86_64,
+ lldb_bndstatus_x86_64,
+ k_last_mpxc_x86_64 = lldb_bndstatus_x86_64,
+
lldb_dr0_x86_64,
lldb_dr1_x86_64,
lldb_dr2_x86_64,
@@ -287,7 +312,8 @@ namespace lldb_private
k_num_gpr_registers_x86_64 = k_last_gpr_x86_64 - k_first_gpr_x86_64 + 1,
k_num_fpr_registers_x86_64 = k_last_fpr_x86_64 - k_first_fpr_x86_64 + 1,
k_num_avx_registers_x86_64 = k_last_avx_x86_64 - k_first_avx_x86_64 + 1,
- k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 + k_num_fpr_registers_x86_64 + k_num_avx_registers_x86_64,
+ k_num_mpx_registers_x86_64 = k_last_mpxc_x86_64 - k_first_mpxr_x86_64 + 1,
+ k_num_user_registers_x86_64 = k_num_gpr_registers_x86_64 + k_num_fpr_registers_x86_64 + k_num_avx_registers_x86_64 + k_num_mpx_registers_x86_64,
};
}
OpenPOWER on IntegriCloud