diff options
-rw-r--r-- | gdb/features/Makefile | 2 | ||||
-rw-r--r-- | gdb/features/microblaze-linux.c | 79 | ||||
-rw-r--r-- | gdb/features/microblaze-linux.xml | 13 | ||||
-rw-r--r-- | gdb/regformats/microblaze-linux.dat | 63 |
4 files changed, 157 insertions, 0 deletions
diff --git a/gdb/features/Makefile b/gdb/features/Makefile index 7c10f20..344c12c 100644 --- a/gdb/features/Makefile +++ b/gdb/features/Makefile @@ -46,6 +46,7 @@ # List of .dat files to create in ../regformats/ WHICH = mips-linux mips-dsp-linux \ mips64-linux mips64-dsp-linux \ + microblaze-linux \ or1k-linux \ rs6000/powerpc-32 \ rs6000/powerpc-32l rs6000/powerpc-altivec32l rs6000/powerpc-e500l \ @@ -68,6 +69,7 @@ WHICH = mips-linux mips-dsp-linux \ tic6x-c64xp-linux tic6x-c64x-linux tic6x-c62x-linux # Record which registers should be sent to GDB by default after stop. +microblaze-expedite = r1,rpc mips-expedite = r29,pc mips-dsp-expedite = r29,pc mips64-expedite = r29,pc diff --git a/gdb/features/microblaze-linux.c b/gdb/features/microblaze-linux.c new file mode 100644 index 0000000..48c6fc4 --- /dev/null +++ b/gdb/features/microblaze-linux.c @@ -0,0 +1,79 @@ +/* THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi:set ro: + Original: microblaze-linux.xml */ + +#include "defs.h" +#include "osabi.h" +#include "target-descriptions.h" + +const struct target_desc *tdesc_microblaze_linux; +static void +initialize_tdesc_microblaze_linux (void) +{ + target_desc_up result = allocate_target_description (); + set_tdesc_architecture (result.get (), bfd_scan_arch ("MicroBlaze")); + + set_tdesc_osabi (result.get (), osabi_from_tdesc_string ("GNU/Linux")); + + struct tdesc_feature *feature; + + feature = tdesc_create_feature (result.get (), "org.gnu.gdb.microblaze.core"); + tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "data_ptr"); + tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r13", 13, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r14", 14, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r15", 15, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r16", 16, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r17", 17, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r18", 18, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r19", 19, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r20", 20, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r21", 21, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r22", 22, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r23", 23, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r24", 24, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r25", 25, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r26", 26, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r27", 27, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r28", 28, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r29", 29, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r30", 30, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "r31", 31, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpc", 32, 1, NULL, 32, "code_ptr"); + tdesc_create_reg (feature, "rmsr", 33, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rear", 34, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "resr", 35, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rfsr", 36, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rbtr", 37, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr0", 38, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr1", 39, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr2", 40, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr3", 41, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr4", 42, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr5", 43, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr6", 44, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr7", 45, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr8", 46, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr9", 47, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr10", 48, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpvr11", 49, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "redr", 50, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rpid", 51, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rzpr", 52, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rtlbx", 53, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rtlbsx", 54, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rtlblo", 55, 1, NULL, 32, "int"); + tdesc_create_reg (feature, "rtlbhi", 56, 1, NULL, 32, "int"); + + tdesc_microblaze_linux = result.release (); +} diff --git a/gdb/features/microblaze-linux.xml b/gdb/features/microblaze-linux.xml new file mode 100644 index 0000000..688a3f8 --- /dev/null +++ b/gdb/features/microblaze-linux.xml @@ -0,0 +1,13 @@ +<?xml version="1.0"?> +<!-- Copyright (C) 2014-2018 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 target SYSTEM "gdb-target.dtd"> +<target> + <architecture>microblaze</architecture> + <osabi>GNU/Linux</osabi> + <xi:include href="microblaze-core.xml"/> +</target> diff --git a/gdb/regformats/microblaze-linux.dat b/gdb/regformats/microblaze-linux.dat new file mode 100644 index 0000000..aca35aa --- /dev/null +++ b/gdb/regformats/microblaze-linux.dat @@ -0,0 +1,63 @@ +# THIS FILE IS GENERATED. -*- buffer-read-only: t -*- vi :set ro: +# Generated from: microblaze-linux.xml +name:microblaze_linux +xmltarget:microblaze-linux.xml +expedite:r1,rpc +osabi:GNU/Linux +32:r0 +32:r1 +32:r2 +32:r3 +32:r4 +32:r5 +32:r6 +32:r7 +32:r8 +32:r9 +32:r10 +32:r11 +32:r12 +32:r13 +32:r14 +32:r15 +32:r16 +32:r17 +32:r18 +32:r19 +32:r20 +32:r21 +32:r22 +32:r23 +32:r24 +32:r25 +32:r26 +32:r27 +32:r28 +32:r29 +32:r30 +32:r31 +32:rpc +32:rmsr +32:rear +32:resr +32:rfsr +32:rbtr +32:rpvr0 +32:rpvr1 +32:rpvr2 +32:rpvr3 +32:rpvr4 +32:rpvr5 +32:rpvr6 +32:rpvr7 +32:rpvr8 +32:rpvr9 +32:rpvr10 +32:rpvr11 +32:redr +32:rpid +32:rzpr +32:rtlbx +32:rtlbsx +32:rtlblo +32:rtlbhi |