diff options
Diffstat (limited to 'gdb/features')
-rw-r--r-- | gdb/features/Makefile | 1 | ||||
-rw-r--r-- | gdb/features/arm/arm-m-profile-mve.c | 20 | ||||
-rw-r--r-- | gdb/features/arm/arm-m-profile-mve.xml | 19 |
3 files changed, 40 insertions, 0 deletions
diff --git a/gdb/features/Makefile b/gdb/features/Makefile index aa38d17..e478bf8 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -203,6 +203,7 @@ FEATURE_XMLFILES = aarch64-core.xml \ arm/arm-core.xml \ arm/arm-fpa.xml \ arm/arm-m-profile.xml \ + arm/arm-m-profile-mve.xml \ arm/arm-m-profile-with-fpa.xml \ arm/arm-vfpv2.xml \ arm/arm-vfpv3.xml \ diff --git a/gdb/features/arm/arm-m-profile-mve.c b/gdb/features/arm/arm-m-profile-mve.c new file mode 100644 index 0000000..532ae3b --- /dev/null +++ b/gdb/features/arm/arm-m-profile-mve.c @@ -0,0 +1,20 @@ +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: + Original: arm-m-profile-mve.xml */ + +#include "gdbsupport/tdesc.h" + +static int +create_feature_arm_arm_m_profile_mve (struct target_desc *result, long regnum) +{ + struct tdesc_feature *feature; + + feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile-mve"); + tdesc_type_with_fields *type_with_fields; + type_with_fields = tdesc_create_flags (feature, "vpr_reg", 4); + tdesc_add_bitfield (type_with_fields, "P0", 0, 15); + tdesc_add_bitfield (type_with_fields, "MASK01", 16, 19); + tdesc_add_bitfield (type_with_fields, "MASK23", 20, 23); + + tdesc_create_reg (feature, "vpr", regnum++, 1, NULL, 32, "vpr_reg"); + return regnum; +} diff --git a/gdb/features/arm/arm-m-profile-mve.xml b/gdb/features/arm/arm-m-profile-mve.xml new file mode 100644 index 0000000..cba664c --- /dev/null +++ b/gdb/features/arm/arm-m-profile-mve.xml @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2021 Free Software Foundation, Inc. + + Copying and distribution of this file, with or without modification, + are permitted in any medium without royalty provided the copyright + notice and this notice are preserved. --> + +<!DOCTYPE feature SYSTEM "gdb-target.dtd"> +<feature name="org.gnu.gdb.arm.m-profile-mve"> + <flags id="vpr_reg" size="4"> + <!-- ARMv8.1-M and MVE: Unprivileged and privileged Access. --> + <field name="P0" start="0" end="15"/> + <!-- ARMv8.1-M: Privileged Access only. --> + <field name="MASK01" start="16" end="19"/> + <!-- ARMv8.1-M: Privileged Access only. --> + <field name="MASK23" start="20" end="23"/> + </flags> + <reg name="vpr" bitsize="32" type="vpr_reg"/> +</feature> |