aboutsummaryrefslogtreecommitdiff
path: root/gdb/arch
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/arch')
-rw-r--r--gdb/arch/arm.c7
-rw-r--r--gdb/arch/arm.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/arch/arm.c b/gdb/arch/arm.c
index 7407c4a..a18b38b 100644
--- a/gdb/arch/arm.c
+++ b/gdb/arch/arm.c
@@ -27,6 +27,7 @@
#include "../features/arm/xscale-iwmmxt.c"
#include "../features/arm/arm-m-profile.c"
#include "../features/arm/arm-m-profile-with-fpa.c"
+#include "../features/arm/arm-m-profile-mve.c"
/* See arm.h. */
@@ -439,6 +440,12 @@ arm_create_mprofile_target_description (arm_m_profile_type m_type)
regnum = create_feature_arm_arm_m_profile_with_fpa (tdesc, regnum);
break;
+ case ARM_M_TYPE_MVE:
+ regnum = create_feature_arm_arm_m_profile (tdesc, regnum);
+ regnum = create_feature_arm_arm_vfpv2 (tdesc, regnum);
+ regnum = create_feature_arm_arm_m_profile_mve (tdesc, regnum);
+ break;
+
default:
error (_("Invalid Arm M type: %d"), m_type);
}
diff --git a/gdb/arch/arm.h b/gdb/arch/arm.h
index f6a155d..eabcb43 100644
--- a/gdb/arch/arm.h
+++ b/gdb/arch/arm.h
@@ -59,6 +59,8 @@ enum gdb_regnum {
/* Register count constants. */
enum arm_register_counts {
+ /* Number of Q registers for MVE. */
+ ARM_MVE_NUM_Q_REGS = 8,
/* Number of argument registers. */
ARM_NUM_ARG_REGS = 4,
/* Number of floating point argument registers. */
@@ -89,6 +91,7 @@ enum arm_m_profile_type {
ARM_M_TYPE_M_PROFILE,
ARM_M_TYPE_VFP_D16,
ARM_M_TYPE_WITH_FPA,
+ ARM_M_TYPE_MVE,
ARM_M_TYPE_INVALID
};