diff mbox

Clean up the XML files for ARM

Message ID 000b01cf8540$dafa6d80$90ef4880$@arm.com
State New
Headers show

Commit Message

Terry Guo June 11, 2014, 6:46 a.m. UTC
Hi There,

Under folder gdb/features we are having more and more ARM related XML files.
This patch intends to move those ARM XML files into a new folder named arm.
All the references to those files are now prefixed with folder name arm.
Please be noted that this doesn't include AArch64 XML files so far. Is it ok
to GDB trunk?

BR,
Terry

2014-06-11  Terry Guo  <terry.guo@arm.com>

     * features/arm-core.xml: Move to ...
     * features/arm/arm-core.xml: ... here.
     * features/arm-fpa.xml: Move to ...
     * features/arm/arm-fpa.xml: ... here.
     * features/arm-m-profile.xml: Move to ...
     * features/arm/arm-m-profile.xml: ... here.
     * features/arm-vfpv2.xml: Move to ...
     * features/arm/arm-vfpv2.xml: ... here.
     * features/arm-vfpv3.xml: Move to ...
     * features/arm/arm-vfpv3.xml: ... here.
     * features/arm-with-iwmmxt.xml: Move to ...
     * features/arm/arm-with-iwmmxt.xml: ... here.
     * features/arm-with-iwmmxt.c: Move to ...
     * features/arm/arm-with-iwmmxt.c: ... here.
     * features/arm-with-m.xml: Move to ...
     * features/arm/arm-with-m.xml: ... here.
     * features/arm-with-m.c: Move to ...
     * features/arm/arm-with-m.c: ... here.
     * features/arm-with-m-fpa-layout.xml: Move to ...
     * features/arm/arm-with-m-fpa-layout.xml: ... here.
     * features/arm-with-m-fpa-layout.c: Move to ...
     * features/arm/arm-with-m-fpa-layout.c: ... here.
     * features/arm-with-m-vfp-d16.xml: Move to ...
     * features/arm/arm-with-m-vfp-d16.xml: ... here.
     * features/arm-with-m-vfp-d16.c: Move to ...
     * features/arm/arm-with-m-vfp-d16.c: ... here.
     * features/arm-with-neon.xml: Move to ...
     * features/arm/arm-with-neon.xml: ... here.
     * features/arm-with-neon.c: Move to ...
     * features/arm/arm-with-neon.c: ... here.
     * features/arm-with-vfpv2.xml: Move to ...
     * features/arm/arm-with-vfpv2.xml: ... here.
     * features/arm-with-vfpv2.c: Move to ...
     * features/arm/arm-with-vfpv2.c: ... here.
     * features/arm-with-vfpv3.xml: Move to ...
     * features/arm/arm-with-vfpv3.xml: ... here.
     * features/arm-with-vfpv3.c: Move to ...
     * features/arm/arm-with-vfpv3.c: ... here.
     * features/Makefile: Use new paths to refer ARM files.
     * arm-tdep.c: Use new paths to include files.

gdb/gdbserver/ChangeLog:

2014-06-11  Terry Guo  <terry.guo@arm.com>

     * configure.srv: Use new paths to refer ARM XML files.

Comments

Will Newton June 11, 2014, 8:16 a.m. UTC | #1
On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> Hi There,
>
> Under folder gdb/features we are having more and more ARM related XML files.
> This patch intends to move those ARM XML files into a new folder named arm.
> All the references to those files are now prefixed with folder name arm.
> Please be noted that this doesn't include AArch64 XML files so far. Is it ok
> to GDB trunk?
>
> BR,
> Terry
>
> 2014-06-11  Terry Guo  <terry.guo@arm.com>
>
>      * features/arm-core.xml: Move to ...
>      * features/arm/arm-core.xml: ... here.
>      * features/arm-fpa.xml: Move to ...
>      * features/arm/arm-fpa.xml: ... here.
>      * features/arm-m-profile.xml: Move to ...
>      * features/arm/arm-m-profile.xml: ... here.
>      * features/arm-vfpv2.xml: Move to ...
>      * features/arm/arm-vfpv2.xml: ... here.
>      * features/arm-vfpv3.xml: Move to ...
>      * features/arm/arm-vfpv3.xml: ... here.
>      * features/arm-with-iwmmxt.xml: Move to ...
>      * features/arm/arm-with-iwmmxt.xml: ... here.
>      * features/arm-with-iwmmxt.c: Move to ...
>      * features/arm/arm-with-iwmmxt.c: ... here.
>      * features/arm-with-m.xml: Move to ...
>      * features/arm/arm-with-m.xml: ... here.
>      * features/arm-with-m.c: Move to ...
>      * features/arm/arm-with-m.c: ... here.
>      * features/arm-with-m-fpa-layout.xml: Move to ...
>      * features/arm/arm-with-m-fpa-layout.xml: ... here.
>      * features/arm-with-m-fpa-layout.c: Move to ...
>      * features/arm/arm-with-m-fpa-layout.c: ... here.
>      * features/arm-with-m-vfp-d16.xml: Move to ...
>      * features/arm/arm-with-m-vfp-d16.xml: ... here.
>      * features/arm-with-m-vfp-d16.c: Move to ...
>      * features/arm/arm-with-m-vfp-d16.c: ... here.
>      * features/arm-with-neon.xml: Move to ...
>      * features/arm/arm-with-neon.xml: ... here.
>      * features/arm-with-neon.c: Move to ...
>      * features/arm/arm-with-neon.c: ... here.
>      * features/arm-with-vfpv2.xml: Move to ...
>      * features/arm/arm-with-vfpv2.xml: ... here.
>      * features/arm-with-vfpv2.c: Move to ...
>      * features/arm/arm-with-vfpv2.c: ... here.
>      * features/arm-with-vfpv3.xml: Move to ...
>      * features/arm/arm-with-vfpv3.xml: ... here.
>      * features/arm-with-vfpv3.c: Move to ...
>      * features/arm/arm-with-vfpv3.c: ... here.
>      * features/Makefile: Use new paths to refer ARM files.
>      * arm-tdep.c: Use new paths to include files.

It seems like we have duplicate "arm" in some of the names now, it
might be a good cleanup to rename, e.g.:

features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml

> gdb/gdbserver/ChangeLog:
>
> 2014-06-11  Terry Guo  <terry.guo@arm.com>
>
>      * configure.srv: Use new paths to refer ARM XML files.
Terry Guo June 11, 2014, 9:12 a.m. UTC | #2
> -----Original Message-----
> From: Will Newton [mailto:will.newton@linaro.org]
> Sent: Wednesday, June 11, 2014 4:16 PM
> To: Terry Guo
> Cc: gdb-patches@sourceware.org
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> > Hi There,
> >
> > Under folder gdb/features we are having more and more ARM related XML
> files.
> > This patch intends to move those ARM XML files into a new folder named
> arm.
> > All the references to those files are now prefixed with folder name arm.
> > Please be noted that this doesn't include AArch64 XML files so far. Is
> > it ok to GDB trunk?
> >
> > BR,
> > Terry
> >
> > 2014-06-11  Terry Guo  <terry.guo@arm.com>
> >
> >      * features/arm-core.xml: Move to ...
> >      * features/arm/arm-core.xml: ... here.
> >      * features/arm-fpa.xml: Move to ...
> >      * features/arm/arm-fpa.xml: ... here.
> >      * features/arm-m-profile.xml: Move to ...
> >      * features/arm/arm-m-profile.xml: ... here.
> >      * features/arm-vfpv2.xml: Move to ...
> >      * features/arm/arm-vfpv2.xml: ... here.
> >      * features/arm-vfpv3.xml: Move to ...
> >      * features/arm/arm-vfpv3.xml: ... here.
> >      * features/arm-with-iwmmxt.xml: Move to ...
> >      * features/arm/arm-with-iwmmxt.xml: ... here.
> >      * features/arm-with-iwmmxt.c: Move to ...
> >      * features/arm/arm-with-iwmmxt.c: ... here.
> >      * features/arm-with-m.xml: Move to ...
> >      * features/arm/arm-with-m.xml: ... here.
> >      * features/arm-with-m.c: Move to ...
> >      * features/arm/arm-with-m.c: ... here.
> >      * features/arm-with-m-fpa-layout.xml: Move to ...
> >      * features/arm/arm-with-m-fpa-layout.xml: ... here.
> >      * features/arm-with-m-fpa-layout.c: Move to ...
> >      * features/arm/arm-with-m-fpa-layout.c: ... here.
> >      * features/arm-with-m-vfp-d16.xml: Move to ...
> >      * features/arm/arm-with-m-vfp-d16.xml: ... here.
> >      * features/arm-with-m-vfp-d16.c: Move to ...
> >      * features/arm/arm-with-m-vfp-d16.c: ... here.
> >      * features/arm-with-neon.xml: Move to ...
> >      * features/arm/arm-with-neon.xml: ... here.
> >      * features/arm-with-neon.c: Move to ...
> >      * features/arm/arm-with-neon.c: ... here.
> >      * features/arm-with-vfpv2.xml: Move to ...
> >      * features/arm/arm-with-vfpv2.xml: ... here.
> >      * features/arm-with-vfpv2.c: Move to ...
> >      * features/arm/arm-with-vfpv2.c: ... here.
> >      * features/arm-with-vfpv3.xml: Move to ...
> >      * features/arm/arm-with-vfpv3.xml: ... here.
> >      * features/arm-with-vfpv3.c: Move to ...
> >      * features/arm/arm-with-vfpv3.c: ... here.
> >      * features/Makefile: Use new paths to refer ARM files.
> >      * arm-tdep.c: Use new paths to include files.
> 
> It seems like we have duplicate "arm" in some of the names now, it might be
> a good cleanup to rename, e.g.:
> 
> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
> 

Thanks for comments. But files in folder i386 and rs6000 are same as mine. Maybe there are reasons to do so.

For example:

i386/
i386/i386-mmx.c
i386/32bit-avx512.xml
i386/x32-avx512.xml
i386/x32-avx512-linux.c
i386/32bit-sse.xml
i386/32bit-mpx.xml
i386/i386-avx-linux.xml
i386/i386-mpx.c
i386/i386-mpx-linux.xml
i386/x32-core.xml
i386/64bit-core.xml
i386/i386.xml

./rs6000/powerpc-isa205-altivec64l.xml
./rs6000/powerpc-e500l.c
./rs6000/powerpc-altivec64l.c
./rs6000/powerpc-603.xml
./rs6000/powerpc-602.xml
./rs6000/power64-core.xml
./rs6000/powerpc-64.c
./rs6000/powerpc-altivec64.c
./rs6000/powerpc-505.xml

BR,
Terry
Luis Machado June 11, 2014, 11:24 a.m. UTC | #3
On 06/11/2014 10:12 AM, Terry Guo wrote:
>
>
>> -----Original Message-----
>> From: Will Newton [mailto:will.newton@linaro.org]
>> Sent: Wednesday, June 11, 2014 4:16 PM
>> To: Terry Guo
>> Cc: gdb-patches@sourceware.org
>> Subject: Re: [Patch]Clean up the XML files for ARM
>>
>> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
>>> Hi There,
>>>
>>> Under folder gdb/features we are having more and more ARM related XML
>> files.
>>> This patch intends to move those ARM XML files into a new folder named
>> arm.
>>> All the references to those files are now prefixed with folder name arm.
>>> Please be noted that this doesn't include AArch64 XML files so far. Is
>>> it ok to GDB trunk?
>>>
>>> BR,
>>> Terry
>>>
>>> 2014-06-11  Terry Guo  <terry.guo@arm.com>
>>>
>>>       * features/arm-core.xml: Move to ...
>>>       * features/arm/arm-core.xml: ... here.
>>>       * features/arm-fpa.xml: Move to ...
>>>       * features/arm/arm-fpa.xml: ... here.
>>>       * features/arm-m-profile.xml: Move to ...
>>>       * features/arm/arm-m-profile.xml: ... here.
>>>       * features/arm-vfpv2.xml: Move to ...
>>>       * features/arm/arm-vfpv2.xml: ... here.
>>>       * features/arm-vfpv3.xml: Move to ...
>>>       * features/arm/arm-vfpv3.xml: ... here.
>>>       * features/arm-with-iwmmxt.xml: Move to ...
>>>       * features/arm/arm-with-iwmmxt.xml: ... here.
>>>       * features/arm-with-iwmmxt.c: Move to ...
>>>       * features/arm/arm-with-iwmmxt.c: ... here.
>>>       * features/arm-with-m.xml: Move to ...
>>>       * features/arm/arm-with-m.xml: ... here.
>>>       * features/arm-with-m.c: Move to ...
>>>       * features/arm/arm-with-m.c: ... here.
>>>       * features/arm-with-m-fpa-layout.xml: Move to ...
>>>       * features/arm/arm-with-m-fpa-layout.xml: ... here.
>>>       * features/arm-with-m-fpa-layout.c: Move to ...
>>>       * features/arm/arm-with-m-fpa-layout.c: ... here.
>>>       * features/arm-with-m-vfp-d16.xml: Move to ...
>>>       * features/arm/arm-with-m-vfp-d16.xml: ... here.
>>>       * features/arm-with-m-vfp-d16.c: Move to ...
>>>       * features/arm/arm-with-m-vfp-d16.c: ... here.
>>>       * features/arm-with-neon.xml: Move to ...
>>>       * features/arm/arm-with-neon.xml: ... here.
>>>       * features/arm-with-neon.c: Move to ...
>>>       * features/arm/arm-with-neon.c: ... here.
>>>       * features/arm-with-vfpv2.xml: Move to ...
>>>       * features/arm/arm-with-vfpv2.xml: ... here.
>>>       * features/arm-with-vfpv2.c: Move to ...
>>>       * features/arm/arm-with-vfpv2.c: ... here.
>>>       * features/arm-with-vfpv3.xml: Move to ...
>>>       * features/arm/arm-with-vfpv3.xml: ... here.
>>>       * features/arm-with-vfpv3.c: Move to ...
>>>       * features/arm/arm-with-vfpv3.c: ... here.
>>>       * features/Makefile: Use new paths to refer ARM files.
>>>       * arm-tdep.c: Use new paths to include files.
>>
>> It seems like we have duplicate "arm" in some of the names now, it might be
>> a good cleanup to rename, e.g.:
>>
>> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
>>
>
> Thanks for comments. But files in folder i386 and rs6000 are same as mine. Maybe there are reasons to do so.
>
> For example:
>
> i386/
> i386/i386-mmx.c
> i386/32bit-avx512.xml
> i386/x32-avx512.xml
> i386/x32-avx512-linux.c
> i386/32bit-sse.xml
> i386/32bit-mpx.xml
> i386/i386-avx-linux.xml
> i386/i386-mpx.c
> i386/i386-mpx-linux.xml
> i386/x32-core.xml
> i386/64bit-core.xml
> i386/i386.xml
>
> ./rs6000/powerpc-isa205-altivec64l.xml
> ./rs6000/powerpc-e500l.c
> ./rs6000/powerpc-altivec64l.c
> ./rs6000/powerpc-603.xml
> ./rs6000/powerpc-602.xml
> ./rs6000/power64-core.xml
> ./rs6000/powerpc-64.c
> ./rs6000/powerpc-altivec64.c
> ./rs6000/powerpc-505.xml
>
> BR,
> Terry

I think one of the reasons for having duplication there is that nobody 
commented about it, like Will.

I'd go for the cleaner names without the duplication. The duplication 
certainly doesn't add anything to it.

Luis

Luis
Terry Guo June 12, 2014, 3:39 a.m. UTC | #4
> -----Original Message-----
> From: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] On Behalf Of Luis Machado
> Sent: Wednesday, June 11, 2014 7:25 PM
> To: Terry Guo; 'Will Newton'
> Cc: gdb-patches@sourceware.org
> Subject: Re: [Patch]Clean up the XML files for ARM
> 
> On 06/11/2014 10:12 AM, Terry Guo wrote:
> >
> >
> >> -----Original Message-----
> >> From: Will Newton [mailto:will.newton@linaro.org]
> >> Sent: Wednesday, June 11, 2014 4:16 PM
> >> To: Terry Guo
> >> Cc: gdb-patches@sourceware.org
> >> Subject: Re: [Patch]Clean up the XML files for ARM
> >>
> >> On 11 June 2014 07:46, Terry Guo <terry.guo@arm.com> wrote:
> >>> Hi There,
> >>>
> >>> Under folder gdb/features we are having more and more ARM related
> >>> XML
> >> files.
> >>> This patch intends to move those ARM XML files into a new folder
> >>> named
> >> arm.
> >>> All the references to those files are now prefixed with folder name arm.
> >>> Please be noted that this doesn't include AArch64 XML files so far.
> >>> Is it ok to GDB trunk?
> >>>
> >>> BR,
> >>> Terry
> >>>
> >>> 2014-06-11  Terry Guo  <terry.guo@arm.com>
> >>>
> >>>       * features/arm-core.xml: Move to ...
> >>>       * features/arm/arm-core.xml: ... here.
> >>>       * features/arm-fpa.xml: Move to ...
> >>>       * features/arm/arm-fpa.xml: ... here.
> >>>       * features/arm-m-profile.xml: Move to ...
> >>>       * features/arm/arm-m-profile.xml: ... here.
> >>>       * features/arm-vfpv2.xml: Move to ...
> >>>       * features/arm/arm-vfpv2.xml: ... here.
> >>>       * features/arm-vfpv3.xml: Move to ...
> >>>       * features/arm/arm-vfpv3.xml: ... here.
> >>>       * features/arm-with-iwmmxt.xml: Move to ...
> >>>       * features/arm/arm-with-iwmmxt.xml: ... here.
> >>>       * features/arm-with-iwmmxt.c: Move to ...
> >>>       * features/arm/arm-with-iwmmxt.c: ... here.
> >>>       * features/arm-with-m.xml: Move to ...
> >>>       * features/arm/arm-with-m.xml: ... here.
> >>>       * features/arm-with-m.c: Move to ...
> >>>       * features/arm/arm-with-m.c: ... here.
> >>>       * features/arm-with-m-fpa-layout.xml: Move to ...
> >>>       * features/arm/arm-with-m-fpa-layout.xml: ... here.
> >>>       * features/arm-with-m-fpa-layout.c: Move to ...
> >>>       * features/arm/arm-with-m-fpa-layout.c: ... here.
> >>>       * features/arm-with-m-vfp-d16.xml: Move to ...
> >>>       * features/arm/arm-with-m-vfp-d16.xml: ... here.
> >>>       * features/arm-with-m-vfp-d16.c: Move to ...
> >>>       * features/arm/arm-with-m-vfp-d16.c: ... here.
> >>>       * features/arm-with-neon.xml: Move to ...
> >>>       * features/arm/arm-with-neon.xml: ... here.
> >>>       * features/arm-with-neon.c: Move to ...
> >>>       * features/arm/arm-with-neon.c: ... here.
> >>>       * features/arm-with-vfpv2.xml: Move to ...
> >>>       * features/arm/arm-with-vfpv2.xml: ... here.
> >>>       * features/arm-with-vfpv2.c: Move to ...
> >>>       * features/arm/arm-with-vfpv2.c: ... here.
> >>>       * features/arm-with-vfpv3.xml: Move to ...
> >>>       * features/arm/arm-with-vfpv3.xml: ... here.
> >>>       * features/arm-with-vfpv3.c: Move to ...
> >>>       * features/arm/arm-with-vfpv3.c: ... here.
> >>>       * features/Makefile: Use new paths to refer ARM files.
> >>>       * arm-tdep.c: Use new paths to include files.
> >>
> >> It seems like we have duplicate "arm" in some of the names now, it
> >> might be a good cleanup to rename, e.g.:
> >>
> >> features/arm/arm-vfpv3.xml -> features/arm/vfpv3.xml
> >>
> >
> > Thanks for comments. But files in folder i386 and rs6000 are same as mine.
> Maybe there are reasons to do so.
> >
> > For example:
> >
> > i386/
> > i386/i386-mmx.c
> > i386/32bit-avx512.xml
> > i386/x32-avx512.xml
> > i386/x32-avx512-linux.c
> > i386/32bit-sse.xml
> > i386/32bit-mpx.xml
> > i386/i386-avx-linux.xml
> > i386/i386-mpx.c
> > i386/i386-mpx-linux.xml
> > i386/x32-core.xml
> > i386/64bit-core.xml
> > i386/i386.xml
> >
> > ./rs6000/powerpc-isa205-altivec64l.xml
> > ./rs6000/powerpc-e500l.c
> > ./rs6000/powerpc-altivec64l.c
> > ./rs6000/powerpc-603.xml
> > ./rs6000/powerpc-602.xml
> > ./rs6000/power64-core.xml
> > ./rs6000/powerpc-64.c
> > ./rs6000/powerpc-altivec64.c
> > ./rs6000/powerpc-505.xml
> >
> > BR,
> > Terry
> 
> I think one of the reasons for having duplication there is that nobody
> commented about it, like Will.
> 
> I'd go for the cleaner names without the duplication. The duplication certainly
> doesn't add anything to it.
> 

Hi Luis and Will,

Thanks both of you. This clears my concerns. I will update this per your comments.

BR,
Terry
diff mbox

Patch

diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 74942b1..9ff3aac 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -59,13 +59,13 @@ 
 #include "record.h"
 #include "record-full.h"
 
-#include "features/arm-with-m.c"
-#include "features/arm-with-m-fpa-layout.c"
-#include "features/arm-with-m-vfp-d16.c"
-#include "features/arm-with-iwmmxt.c"
-#include "features/arm-with-vfpv2.c"
-#include "features/arm-with-vfpv3.c"
-#include "features/arm-with-neon.c"
+#include "features/arm/arm-with-m.c"
+#include "features/arm/arm-with-m-fpa-layout.c"
+#include "features/arm/arm-with-m-vfp-d16.c"
+#include "features/arm/arm-with-iwmmxt.c"
+#include "features/arm/arm-with-vfpv2.c"
+#include "features/arm/arm-with-vfpv3.c"
+#include "features/arm/arm-with-neon.c"
 
 static int arm_debug;
 
diff --git a/gdb/features/Makefile b/gdb/features/Makefile
index dbf4963..244a3c4 100644
--- a/gdb/features/Makefile
+++ b/gdb/features/Makefile
@@ -31,8 +31,8 @@ 
 #   make GDB=/path/to/gdb XMLTOC="xml files" cfiles
 
 WHICH = aarch64 \
-	arm-with-iwmmxt arm-with-vfpv2 arm-with-vfpv3 arm-with-neon \
-	arm-with-m arm-with-m-fpa-layout arm-with-m-vfp-d16 \
+	arm/arm-with-iwmmxt arm/arm-with-vfpv2 arm/arm-with-vfpv3 arm/arm-with-neon \
+	arm/arm-with-m arm/arm-with-m-fpa-layout arm/arm-with-m-vfp-d16 \
 	i386/i386 i386/i386-linux \
 	i386/i386-mmx i386/i386-mmx-linux \
 	i386/amd64 i386/amd64-linux \
@@ -61,7 +61,7 @@  WHICH = aarch64 \
 
 # Record which registers should be sent to GDB by default after stop.
 aarch64-expedite = x29,sp,pc
-arm-expedite = r11,sp,pc
+arm/arm-expedite = r11,sp,pc
 i386/i386-expedite = ebp,esp,eip
 i386/i386-linux-expedite = ebp,esp,eip
 i386/amd64-expedite = rbp,rsp,rip
@@ -141,7 +141,7 @@  cfiles: $(CFILES)
 	sh ../../move-if-change $@.tmp $@
 
 # Other dependencies.
-$(outdir)/arm-with-iwmmxt.dat: arm-core.xml xscale-iwmmxt.xml
+$(outdir)/arm/arm-with-iwmmxt.dat: arm/arm-core.xml arm/xscale-iwmmxt.xml
 $(outdir)/i386/i386.dat: i386/32bit-core.xml i386/32bit-sse.xml
 $(outdir)/i386/i386-linux.dat: i386/32bit-core.xml i386/32bit-sse.xml \
 			       i386/32bit-linux.xml
diff --git a/gdb/features/arm-core.xml b/gdb/features/arm-core.xml
deleted file mode 100644
index 422d9bd..0000000
--- a/gdb/features/arm-core.xml
+++ /dev/null
@@ -1,31 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 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.core">
-  <reg name="r0" bitsize="32" type="uint32"/>
-  <reg name="r1" bitsize="32" type="uint32"/>
-  <reg name="r2" bitsize="32" type="uint32"/>
-  <reg name="r3" bitsize="32" type="uint32"/>
-  <reg name="r4" bitsize="32" type="uint32"/>
-  <reg name="r5" bitsize="32" type="uint32"/>
-  <reg name="r6" bitsize="32" type="uint32"/>
-  <reg name="r7" bitsize="32" type="uint32"/>
-  <reg name="r8" bitsize="32" type="uint32"/>
-  <reg name="r9" bitsize="32" type="uint32"/>
-  <reg name="r10" bitsize="32" type="uint32"/>
-  <reg name="r11" bitsize="32" type="uint32"/>
-  <reg name="r12" bitsize="32" type="uint32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-
-  <!-- The CPSR is register 25, rather than register 16, because
-       the FPA registers historically were placed between the PC
-       and the CPSR in the "g" packet.  -->
-  <reg name="cpsr" bitsize="32" regnum="25"/>
-</feature>
diff --git a/gdb/features/arm-fpa.xml b/gdb/features/arm-fpa.xml
deleted file mode 100644
index 8e21450..0000000
--- a/gdb/features/arm-fpa.xml
+++ /dev/null
@@ -1,23 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 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.fpa">
-  <!-- f0's regnum is set explicitly, because the FPA registers
-       historically were placed between the PC and the CPSR in the "g"
-       packet - in the middle of org.gnu.gdb.arm.core.  -->
-  <reg name="f0" bitsize="96" type="arm_fpa_ext" regnum="16"/>
-  <reg name="f1" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f2" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f3" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f4" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f5" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f6" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="f7" bitsize="96" type="arm_fpa_ext"/>
-
-  <reg name="fps" bitsize="32"/>
-</feature>
diff --git a/gdb/features/arm-m-profile.xml b/gdb/features/arm-m-profile.xml
deleted file mode 100644
index 06d660a..0000000
--- a/gdb/features/arm-m-profile.xml
+++ /dev/null
@@ -1,27 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 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">
-  <reg name="r0" bitsize="32"/>
-  <reg name="r1" bitsize="32"/>
-  <reg name="r2" bitsize="32"/>
-  <reg name="r3" bitsize="32"/>
-  <reg name="r4" bitsize="32"/>
-  <reg name="r5" bitsize="32"/>
-  <reg name="r6" bitsize="32"/>
-  <reg name="r7" bitsize="32"/>
-  <reg name="r8" bitsize="32"/>
-  <reg name="r9" bitsize="32"/>
-  <reg name="r10" bitsize="32"/>
-  <reg name="r11" bitsize="32"/>
-  <reg name="r12" bitsize="32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-  <reg name="xpsr" bitsize="32" regnum="25"/>
-</feature>
diff --git a/gdb/features/arm-vfpv2.xml b/gdb/features/arm-vfpv2.xml
deleted file mode 100644
index 5e552e0..0000000
--- a/gdb/features/arm-vfpv2.xml
+++ /dev/null
@@ -1,28 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 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.vfp">
-  <reg name="d0" bitsize="64" type="ieee_double"/>
-  <reg name="d1" bitsize="64" type="ieee_double"/>
-  <reg name="d2" bitsize="64" type="ieee_double"/>
-  <reg name="d3" bitsize="64" type="ieee_double"/>
-  <reg name="d4" bitsize="64" type="ieee_double"/>
-  <reg name="d5" bitsize="64" type="ieee_double"/>
-  <reg name="d6" bitsize="64" type="ieee_double"/>
-  <reg name="d7" bitsize="64" type="ieee_double"/>
-  <reg name="d8" bitsize="64" type="ieee_double"/>
-  <reg name="d9" bitsize="64" type="ieee_double"/>
-  <reg name="d10" bitsize="64" type="ieee_double"/>
-  <reg name="d11" bitsize="64" type="ieee_double"/>
-  <reg name="d12" bitsize="64" type="ieee_double"/>
-  <reg name="d13" bitsize="64" type="ieee_double"/>
-  <reg name="d14" bitsize="64" type="ieee_double"/>
-  <reg name="d15" bitsize="64" type="ieee_double"/>
-
-  <reg name="fpscr" bitsize="32" type="int" group="float"/>
-</feature>
diff --git a/gdb/features/arm-vfpv3.xml b/gdb/features/arm-vfpv3.xml
deleted file mode 100644
index 4cd5983..0000000
--- a/gdb/features/arm-vfpv3.xml
+++ /dev/null
@@ -1,44 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 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.vfp">
-  <reg name="d0" bitsize="64" type="ieee_double"/>
-  <reg name="d1" bitsize="64" type="ieee_double"/>
-  <reg name="d2" bitsize="64" type="ieee_double"/>
-  <reg name="d3" bitsize="64" type="ieee_double"/>
-  <reg name="d4" bitsize="64" type="ieee_double"/>
-  <reg name="d5" bitsize="64" type="ieee_double"/>
-  <reg name="d6" bitsize="64" type="ieee_double"/>
-  <reg name="d7" bitsize="64" type="ieee_double"/>
-  <reg name="d8" bitsize="64" type="ieee_double"/>
-  <reg name="d9" bitsize="64" type="ieee_double"/>
-  <reg name="d10" bitsize="64" type="ieee_double"/>
-  <reg name="d11" bitsize="64" type="ieee_double"/>
-  <reg name="d12" bitsize="64" type="ieee_double"/>
-  <reg name="d13" bitsize="64" type="ieee_double"/>
-  <reg name="d14" bitsize="64" type="ieee_double"/>
-  <reg name="d15" bitsize="64" type="ieee_double"/>
-  <reg name="d16" bitsize="64" type="ieee_double"/>
-  <reg name="d17" bitsize="64" type="ieee_double"/>
-  <reg name="d18" bitsize="64" type="ieee_double"/>
-  <reg name="d19" bitsize="64" type="ieee_double"/>
-  <reg name="d20" bitsize="64" type="ieee_double"/>
-  <reg name="d21" bitsize="64" type="ieee_double"/>
-  <reg name="d22" bitsize="64" type="ieee_double"/>
-  <reg name="d23" bitsize="64" type="ieee_double"/>
-  <reg name="d24" bitsize="64" type="ieee_double"/>
-  <reg name="d25" bitsize="64" type="ieee_double"/>
-  <reg name="d26" bitsize="64" type="ieee_double"/>
-  <reg name="d27" bitsize="64" type="ieee_double"/>
-  <reg name="d28" bitsize="64" type="ieee_double"/>
-  <reg name="d29" bitsize="64" type="ieee_double"/>
-  <reg name="d30" bitsize="64" type="ieee_double"/>
-  <reg name="d31" bitsize="64" type="ieee_double"/>
-
-  <reg name="fpscr" bitsize="32" type="int" group="float"/>
-</feature>
diff --git a/gdb/features/arm-with-iwmmxt.c b/gdb/features/arm-with-iwmmxt.c
deleted file mode 100644
index 1770e03..0000000
--- a/gdb/features/arm-with-iwmmxt.c
+++ /dev/null
@@ -1,82 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-iwmmxt.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_iwmmxt;
-static void
-initialize_tdesc_arm_with_iwmmxt (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-  struct tdesc_type *field_type;
-  struct tdesc_type *type;
-
-  set_tdesc_architecture (result, bfd_scan_arch ("iwmmxt"));
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
-  field_type = tdesc_named_type (feature, "uint8");
-  tdesc_create_vector (feature, "iwmmxt_v8u8", field_type, 8);
-
-  field_type = tdesc_named_type (feature, "uint16");
-  tdesc_create_vector (feature, "iwmmxt_v4u16", field_type, 4);
-
-  field_type = tdesc_named_type (feature, "uint32");
-  tdesc_create_vector (feature, "iwmmxt_v2u32", field_type, 2);
-
-  type = tdesc_create_union (feature, "iwmmxt_vec64i");
-  field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
-  tdesc_add_field (type, "u8", field_type);
-  field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
-  tdesc_add_field (type, "u16", field_type);
-  field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
-  tdesc_add_field (type, "u32", field_type);
-  field_type = tdesc_named_type (feature, "uint64");
-  tdesc_add_field (type, "u64", field_type);
-
-  tdesc_create_reg (feature, "wR0", 26, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR1", 27, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR2", 28, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR3", 29, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR4", 30, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR5", 31, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR6", 32, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR7", 33, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR8", 34, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR9", 35, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR10", 36, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR11", 37, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR12", 38, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR13", 39, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR14", 40, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wR15", 41, 1, NULL, 64, "iwmmxt_vec64i");
-  tdesc_create_reg (feature, "wCSSF", 42, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCASF", 43, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR0", 44, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR1", 45, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR2", 46, 1, "vector", 32, "int");
-  tdesc_create_reg (feature, "wCGR3", 47, 1, "vector", 32, "int");
-
-  tdesc_arm_with_iwmmxt = result;
-}
diff --git a/gdb/features/arm-with-iwmmxt.xml b/gdb/features/arm-with-iwmmxt.xml
deleted file mode 100644
index 5adadee..0000000
--- a/gdb/features/arm-with-iwmmxt.xml
+++ /dev/null
@@ -1,13 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 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>iwmmxt</architecture>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="xscale-iwmmxt.xml"/>
-</target>
diff --git a/gdb/features/arm-with-m-fpa-layout.c b/gdb/features/arm-with-m-fpa-layout.c
deleted file mode 100644
index bc51f05..0000000
--- a/gdb/features/arm-with-m-fpa-layout.c
+++ /dev/null
@@ -1,44 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-fpa-layout.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m_fpa_layout;
-static void
-initialize_tdesc_arm_with_m_fpa_layout (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  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, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "", 16, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 17, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 18, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 19, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 20, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 21, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 22, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 23, 1, NULL, 96, "arm_fpa_ext");
-  tdesc_create_reg (feature, "", 24, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  tdesc_arm_with_m_fpa_layout = result;
-}
diff --git a/gdb/features/arm-with-m-fpa-layout.xml b/gdb/features/arm-with-m-fpa-layout.xml
deleted file mode 100644
index 18b5b0a..0000000
--- a/gdb/features/arm-with-m-fpa-layout.xml
+++ /dev/null
@@ -1,45 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2007-2014 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.  -->
-
-<!-- A target description for an M-profile device, for stubs that
-     transfer registers using the historical fpa layout.  -->
-
-<!DOCTYPE target SYSTEM "gdb-target.dtd">
-<target>
-<feature name="org.gnu.gdb.arm.m-profile">
-  <reg name="r0" bitsize="32"/>
-  <reg name="r1" bitsize="32"/>
-  <reg name="r2" bitsize="32"/>
-  <reg name="r3" bitsize="32"/>
-  <reg name="r4" bitsize="32"/>
-  <reg name="r5" bitsize="32"/>
-  <reg name="r6" bitsize="32"/>
-  <reg name="r7" bitsize="32"/>
-  <reg name="r8" bitsize="32"/>
-  <reg name="r9" bitsize="32"/>
-  <reg name="r10" bitsize="32"/>
-  <reg name="r11" bitsize="32"/>
-  <reg name="r12" bitsize="32"/>
-  <reg name="sp" bitsize="32" type="data_ptr"/>
-  <reg name="lr" bitsize="32"/>
-  <reg name="pc" bitsize="32" type="code_ptr"/>
-
-  <!-- Slack for unused FPA registers (f0-f7 + fps).
-       See arm-fpa.xml.  -->
-  <reg name="" bitsize="96" type="arm_fpa_ext" regnum="16"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="96" type="arm_fpa_ext"/>
-  <reg name="" bitsize="32"/>
-
-  <reg name="xpsr" bitsize="32" regnum="25"/>
-</feature>
-</target>
diff --git a/gdb/features/arm-with-m-vfp-d16.c b/gdb/features/arm-with-m-vfp-d16.c
deleted file mode 100644
index a0da583..0000000
--- a/gdb/features/arm-with-m-vfp-d16.c
+++ /dev/null
@@ -1,54 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m-vfp-d16.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m_vfp_d16;
-static void
-initialize_tdesc_arm_with_m_vfp_d16 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  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, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
-
-  tdesc_arm_with_m_vfp_d16 = result;
-}
diff --git a/gdb/features/arm-with-m-vfp-d16.xml b/gdb/features/arm-with-m-vfp-d16.xml
deleted file mode 100644
index a6527ab..0000000
--- a/gdb/features/arm-with-m-vfp-d16.xml
+++ /dev/null
@@ -1,13 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 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>
-  <xi:include href="arm-m-profile.xml"/>
-  <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
-  <xi:include href="arm-vfpv2.xml"/>
-</target>
diff --git a/gdb/features/arm-with-m.c b/gdb/features/arm-with-m.c
deleted file mode 100644
index 8e27a80..0000000
--- a/gdb/features/arm-with-m.c
+++ /dev/null
@@ -1,35 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-m.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_m;
-static void
-initialize_tdesc_arm_with_m (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
-  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, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
-
-  tdesc_arm_with_m = result;
-}
diff --git a/gdb/features/arm-with-m.xml b/gdb/features/arm-with-m.xml
deleted file mode 100644
index 6b82405..0000000
--- a/gdb/features/arm-with-m.xml
+++ /dev/null
@@ -1,11 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2010-2014 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>
-  <xi:include href="arm-m-profile.xml"/>
-</target>
diff --git a/gdb/features/arm-with-neon.c b/gdb/features/arm-with-neon.c
deleted file mode 100644
index 61c9a3a..0000000
--- a/gdb/features/arm-with-neon.c
+++ /dev/null
@@ -1,72 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-neon.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_neon;
-static void
-initialize_tdesc_arm_with_neon (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.neon");
-
-  tdesc_arm_with_neon = result;
-}
diff --git a/gdb/features/arm-with-neon.xml b/gdb/features/arm-with-neon.xml
deleted file mode 100644
index 53d1618..0000000
--- a/gdb/features/arm-with-neon.xml
+++ /dev/null
@@ -1,13 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 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>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
-  <feature name="org.gnu.gdb.arm.neon"/>
-</target>
diff --git a/gdb/features/arm-with-vfpv2.c b/gdb/features/arm-with-vfpv2.c
deleted file mode 100644
index 78e3c81..0000000
--- a/gdb/features/arm-with-vfpv2.c
+++ /dev/null
@@ -1,54 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv2.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_vfpv2;
-static void
-initialize_tdesc_arm_with_vfpv2 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
-
-  tdesc_arm_with_vfpv2 = result;
-}
diff --git a/gdb/features/arm-with-vfpv2.xml b/gdb/features/arm-with-vfpv2.xml
deleted file mode 100644
index 98a5a1c..0000000
--- a/gdb/features/arm-with-vfpv2.xml
+++ /dev/null
@@ -1,12 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 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>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv2.xml"/>
-</target>
diff --git a/gdb/features/arm-with-vfpv3.c b/gdb/features/arm-with-vfpv3.c
deleted file mode 100644
index e48ca79..0000000
--- a/gdb/features/arm-with-vfpv3.c
+++ /dev/null
@@ -1,70 +0,0 @@ 
-/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
-  Original: arm-with-vfpv3.xml */
-
-#include "defs.h"
-#include "osabi.h"
-#include "target-descriptions.h"
-
-struct target_desc *tdesc_arm_with_vfpv3;
-static void
-initialize_tdesc_arm_with_vfpv3 (void)
-{
-  struct target_desc *result = allocate_target_description ();
-  struct tdesc_feature *feature;
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
-  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
-  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
-  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
-  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
-  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
-
-  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
-  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
-  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
-
-  tdesc_arm_with_vfpv3 = result;
-}
diff --git a/gdb/features/arm-with-vfpv3.xml b/gdb/features/arm-with-vfpv3.xml
deleted file mode 100644
index aa39548..0000000
--- a/gdb/features/arm-with-vfpv3.xml
+++ /dev/null
@@ -1,12 +0,0 @@ 
-<?xml version="1.0"?>
-<!-- Copyright (C) 2009-2014 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>
-  <xi:include href="arm-core.xml"/>
-  <xi:include href="arm-vfpv3.xml"/>
-</target>
diff --git a/gdb/features/arm/arm-core.xml b/gdb/features/arm/arm-core.xml
new file mode 100644
index 0000000..422d9bd
--- /dev/null
+++ b/gdb/features/arm/arm-core.xml
@@ -0,0 +1,31 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 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.core">
+  <reg name="r0" bitsize="32" type="uint32"/>
+  <reg name="r1" bitsize="32" type="uint32"/>
+  <reg name="r2" bitsize="32" type="uint32"/>
+  <reg name="r3" bitsize="32" type="uint32"/>
+  <reg name="r4" bitsize="32" type="uint32"/>
+  <reg name="r5" bitsize="32" type="uint32"/>
+  <reg name="r6" bitsize="32" type="uint32"/>
+  <reg name="r7" bitsize="32" type="uint32"/>
+  <reg name="r8" bitsize="32" type="uint32"/>
+  <reg name="r9" bitsize="32" type="uint32"/>
+  <reg name="r10" bitsize="32" type="uint32"/>
+  <reg name="r11" bitsize="32" type="uint32"/>
+  <reg name="r12" bitsize="32" type="uint32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+
+  <!-- The CPSR is register 25, rather than register 16, because
+       the FPA registers historically were placed between the PC
+       and the CPSR in the "g" packet.  -->
+  <reg name="cpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm/arm-fpa.xml b/gdb/features/arm/arm-fpa.xml
new file mode 100644
index 0000000..8e21450
--- /dev/null
+++ b/gdb/features/arm/arm-fpa.xml
@@ -0,0 +1,23 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 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.fpa">
+  <!-- f0's regnum is set explicitly, because the FPA registers
+       historically were placed between the PC and the CPSR in the "g"
+       packet - in the middle of org.gnu.gdb.arm.core.  -->
+  <reg name="f0" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+  <reg name="f1" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f2" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f3" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f4" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f5" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f6" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="f7" bitsize="96" type="arm_fpa_ext"/>
+
+  <reg name="fps" bitsize="32"/>
+</feature>
diff --git a/gdb/features/arm/arm-m-profile.xml b/gdb/features/arm/arm-m-profile.xml
new file mode 100644
index 0000000..06d660a
--- /dev/null
+++ b/gdb/features/arm/arm-m-profile.xml
@@ -0,0 +1,27 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 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">
+  <reg name="r0" bitsize="32"/>
+  <reg name="r1" bitsize="32"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+  <reg name="xpsr" bitsize="32" regnum="25"/>
+</feature>
diff --git a/gdb/features/arm/arm-vfpv2.xml b/gdb/features/arm/arm-vfpv2.xml
new file mode 100644
index 0000000..5e552e0
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv2.xml
@@ -0,0 +1,28 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 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.vfp">
+  <reg name="d0" bitsize="64" type="ieee_double"/>
+  <reg name="d1" bitsize="64" type="ieee_double"/>
+  <reg name="d2" bitsize="64" type="ieee_double"/>
+  <reg name="d3" bitsize="64" type="ieee_double"/>
+  <reg name="d4" bitsize="64" type="ieee_double"/>
+  <reg name="d5" bitsize="64" type="ieee_double"/>
+  <reg name="d6" bitsize="64" type="ieee_double"/>
+  <reg name="d7" bitsize="64" type="ieee_double"/>
+  <reg name="d8" bitsize="64" type="ieee_double"/>
+  <reg name="d9" bitsize="64" type="ieee_double"/>
+  <reg name="d10" bitsize="64" type="ieee_double"/>
+  <reg name="d11" bitsize="64" type="ieee_double"/>
+  <reg name="d12" bitsize="64" type="ieee_double"/>
+  <reg name="d13" bitsize="64" type="ieee_double"/>
+  <reg name="d14" bitsize="64" type="ieee_double"/>
+  <reg name="d15" bitsize="64" type="ieee_double"/>
+
+  <reg name="fpscr" bitsize="32" type="int" group="float"/>
+</feature>
diff --git a/gdb/features/arm/arm-vfpv3.xml b/gdb/features/arm/arm-vfpv3.xml
new file mode 100644
index 0000000..4cd5983
--- /dev/null
+++ b/gdb/features/arm/arm-vfpv3.xml
@@ -0,0 +1,44 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 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.vfp">
+  <reg name="d0" bitsize="64" type="ieee_double"/>
+  <reg name="d1" bitsize="64" type="ieee_double"/>
+  <reg name="d2" bitsize="64" type="ieee_double"/>
+  <reg name="d3" bitsize="64" type="ieee_double"/>
+  <reg name="d4" bitsize="64" type="ieee_double"/>
+  <reg name="d5" bitsize="64" type="ieee_double"/>
+  <reg name="d6" bitsize="64" type="ieee_double"/>
+  <reg name="d7" bitsize="64" type="ieee_double"/>
+  <reg name="d8" bitsize="64" type="ieee_double"/>
+  <reg name="d9" bitsize="64" type="ieee_double"/>
+  <reg name="d10" bitsize="64" type="ieee_double"/>
+  <reg name="d11" bitsize="64" type="ieee_double"/>
+  <reg name="d12" bitsize="64" type="ieee_double"/>
+  <reg name="d13" bitsize="64" type="ieee_double"/>
+  <reg name="d14" bitsize="64" type="ieee_double"/>
+  <reg name="d15" bitsize="64" type="ieee_double"/>
+  <reg name="d16" bitsize="64" type="ieee_double"/>
+  <reg name="d17" bitsize="64" type="ieee_double"/>
+  <reg name="d18" bitsize="64" type="ieee_double"/>
+  <reg name="d19" bitsize="64" type="ieee_double"/>
+  <reg name="d20" bitsize="64" type="ieee_double"/>
+  <reg name="d21" bitsize="64" type="ieee_double"/>
+  <reg name="d22" bitsize="64" type="ieee_double"/>
+  <reg name="d23" bitsize="64" type="ieee_double"/>
+  <reg name="d24" bitsize="64" type="ieee_double"/>
+  <reg name="d25" bitsize="64" type="ieee_double"/>
+  <reg name="d26" bitsize="64" type="ieee_double"/>
+  <reg name="d27" bitsize="64" type="ieee_double"/>
+  <reg name="d28" bitsize="64" type="ieee_double"/>
+  <reg name="d29" bitsize="64" type="ieee_double"/>
+  <reg name="d30" bitsize="64" type="ieee_double"/>
+  <reg name="d31" bitsize="64" type="ieee_double"/>
+
+  <reg name="fpscr" bitsize="32" type="int" group="float"/>
+</feature>
diff --git a/gdb/features/arm/arm-with-iwmmxt.c b/gdb/features/arm/arm-with-iwmmxt.c
new file mode 100644
index 0000000..1770e03
--- /dev/null
+++ b/gdb/features/arm/arm-with-iwmmxt.c
@@ -0,0 +1,82 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-iwmmxt.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_iwmmxt;
+static void
+initialize_tdesc_arm_with_iwmmxt (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+  struct tdesc_type *field_type;
+  struct tdesc_type *type;
+
+  set_tdesc_architecture (result, bfd_scan_arch ("iwmmxt"));
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.xscale.iwmmxt");
+  field_type = tdesc_named_type (feature, "uint8");
+  tdesc_create_vector (feature, "iwmmxt_v8u8", field_type, 8);
+
+  field_type = tdesc_named_type (feature, "uint16");
+  tdesc_create_vector (feature, "iwmmxt_v4u16", field_type, 4);
+
+  field_type = tdesc_named_type (feature, "uint32");
+  tdesc_create_vector (feature, "iwmmxt_v2u32", field_type, 2);
+
+  type = tdesc_create_union (feature, "iwmmxt_vec64i");
+  field_type = tdesc_named_type (feature, "iwmmxt_v8u8");
+  tdesc_add_field (type, "u8", field_type);
+  field_type = tdesc_named_type (feature, "iwmmxt_v4u16");
+  tdesc_add_field (type, "u16", field_type);
+  field_type = tdesc_named_type (feature, "iwmmxt_v2u32");
+  tdesc_add_field (type, "u32", field_type);
+  field_type = tdesc_named_type (feature, "uint64");
+  tdesc_add_field (type, "u64", field_type);
+
+  tdesc_create_reg (feature, "wR0", 26, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR1", 27, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR2", 28, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR3", 29, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR4", 30, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR5", 31, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR6", 32, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR7", 33, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR8", 34, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR9", 35, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR10", 36, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR11", 37, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR12", 38, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR13", 39, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR14", 40, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wR15", 41, 1, NULL, 64, "iwmmxt_vec64i");
+  tdesc_create_reg (feature, "wCSSF", 42, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCASF", 43, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR0", 44, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR1", 45, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR2", 46, 1, "vector", 32, "int");
+  tdesc_create_reg (feature, "wCGR3", 47, 1, "vector", 32, "int");
+
+  tdesc_arm_with_iwmmxt = result;
+}
diff --git a/gdb/features/arm/arm-with-iwmmxt.xml b/gdb/features/arm/arm-with-iwmmxt.xml
new file mode 100644
index 0000000..5adadee
--- /dev/null
+++ b/gdb/features/arm/arm-with-iwmmxt.xml
@@ -0,0 +1,13 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 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>iwmmxt</architecture>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="xscale-iwmmxt.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-m-fpa-layout.c b/gdb/features/arm/arm-with-m-fpa-layout.c
new file mode 100644
index 0000000..bc51f05
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-fpa-layout.c
@@ -0,0 +1,44 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m-fpa-layout.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m_fpa_layout;
+static void
+initialize_tdesc_arm_with_m_fpa_layout (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  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, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "", 16, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 17, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 18, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 19, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 20, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 21, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 22, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 23, 1, NULL, 96, "arm_fpa_ext");
+  tdesc_create_reg (feature, "", 24, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  tdesc_arm_with_m_fpa_layout = result;
+}
diff --git a/gdb/features/arm/arm-with-m-fpa-layout.xml b/gdb/features/arm/arm-with-m-fpa-layout.xml
new file mode 100644
index 0000000..18b5b0a
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-fpa-layout.xml
@@ -0,0 +1,45 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2007-2014 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.  -->
+
+<!-- A target description for an M-profile device, for stubs that
+     transfer registers using the historical fpa layout.  -->
+
+<!DOCTYPE target SYSTEM "gdb-target.dtd">
+<target>
+<feature name="org.gnu.gdb.arm.m-profile">
+  <reg name="r0" bitsize="32"/>
+  <reg name="r1" bitsize="32"/>
+  <reg name="r2" bitsize="32"/>
+  <reg name="r3" bitsize="32"/>
+  <reg name="r4" bitsize="32"/>
+  <reg name="r5" bitsize="32"/>
+  <reg name="r6" bitsize="32"/>
+  <reg name="r7" bitsize="32"/>
+  <reg name="r8" bitsize="32"/>
+  <reg name="r9" bitsize="32"/>
+  <reg name="r10" bitsize="32"/>
+  <reg name="r11" bitsize="32"/>
+  <reg name="r12" bitsize="32"/>
+  <reg name="sp" bitsize="32" type="data_ptr"/>
+  <reg name="lr" bitsize="32"/>
+  <reg name="pc" bitsize="32" type="code_ptr"/>
+
+  <!-- Slack for unused FPA registers (f0-f7 + fps).
+       See arm-fpa.xml.  -->
+  <reg name="" bitsize="96" type="arm_fpa_ext" regnum="16"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="96" type="arm_fpa_ext"/>
+  <reg name="" bitsize="32"/>
+
+  <reg name="xpsr" bitsize="32" regnum="25"/>
+</feature>
+</target>
diff --git a/gdb/features/arm/arm-with-m-vfp-d16.c b/gdb/features/arm/arm-with-m-vfp-d16.c
new file mode 100644
index 0000000..a0da583
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-vfp-d16.c
@@ -0,0 +1,54 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m-vfp-d16.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m_vfp_d16;
+static void
+initialize_tdesc_arm_with_m_vfp_d16 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  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, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
+
+  tdesc_arm_with_m_vfp_d16 = result;
+}
diff --git a/gdb/features/arm/arm-with-m-vfp-d16.xml b/gdb/features/arm/arm-with-m-vfp-d16.xml
new file mode 100644
index 0000000..a6527ab
--- /dev/null
+++ b/gdb/features/arm/arm-with-m-vfp-d16.xml
@@ -0,0 +1,13 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 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>
+  <xi:include href="arm-m-profile.xml"/>
+  <!-- Layout of vfpv4-sp-d16 is identical to vfpv2 -->
+  <xi:include href="arm-vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-m.c b/gdb/features/arm/arm-with-m.c
new file mode 100644
index 0000000..8e27a80
--- /dev/null
+++ b/gdb/features/arm/arm-with-m.c
@@ -0,0 +1,35 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-m.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_m;
+static void
+initialize_tdesc_arm_with_m (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.m-profile");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "int");
+  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, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "xpsr", 25, 1, NULL, 32, "int");
+
+  tdesc_arm_with_m = result;
+}
diff --git a/gdb/features/arm/arm-with-m.xml b/gdb/features/arm/arm-with-m.xml
new file mode 100644
index 0000000..6b82405
--- /dev/null
+++ b/gdb/features/arm/arm-with-m.xml
@@ -0,0 +1,11 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2010-2014 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>
+  <xi:include href="arm-m-profile.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-neon.c b/gdb/features/arm/arm-with-neon.c
new file mode 100644
index 0000000..61c9a3a
--- /dev/null
+++ b/gdb/features/arm/arm-with-neon.c
@@ -0,0 +1,72 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-neon.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_neon;
+static void
+initialize_tdesc_arm_with_neon (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.neon");
+
+  tdesc_arm_with_neon = result;
+}
diff --git a/gdb/features/arm/arm-with-neon.xml b/gdb/features/arm/arm-with-neon.xml
new file mode 100644
index 0000000..53d1618
--- /dev/null
+++ b/gdb/features/arm/arm-with-neon.xml
@@ -0,0 +1,13 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 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>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv3.xml"/>
+  <feature name="org.gnu.gdb.arm.neon"/>
+</target>
diff --git a/gdb/features/arm/arm-with-vfpv2.c b/gdb/features/arm/arm-with-vfpv2.c
new file mode 100644
index 0000000..78e3c81
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv2.c
@@ -0,0 +1,54 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-vfpv2.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_vfpv2;
+static void
+initialize_tdesc_arm_with_vfpv2 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 42, 1, "float", 32, "int");
+
+  tdesc_arm_with_vfpv2 = result;
+}
diff --git a/gdb/features/arm/arm-with-vfpv2.xml b/gdb/features/arm/arm-with-vfpv2.xml
new file mode 100644
index 0000000..98a5a1c
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv2.xml
@@ -0,0 +1,12 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 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>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv2.xml"/>
+</target>
diff --git a/gdb/features/arm/arm-with-vfpv3.c b/gdb/features/arm/arm-with-vfpv3.c
new file mode 100644
index 0000000..e48ca79
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv3.c
@@ -0,0 +1,70 @@ 
+/* THIS FILE IS GENERATED.  -*- buffer-read-only: t -*- vi:set ro:
+  Original: arm-with-vfpv3.xml */
+
+#include "defs.h"
+#include "osabi.h"
+#include "target-descriptions.h"
+
+struct target_desc *tdesc_arm_with_vfpv3;
+static void
+initialize_tdesc_arm_with_vfpv3 (void)
+{
+  struct target_desc *result = allocate_target_description ();
+  struct tdesc_feature *feature;
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.core");
+  tdesc_create_reg (feature, "r0", 0, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r1", 1, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r2", 2, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r3", 3, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r4", 4, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r5", 5, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r6", 6, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r7", 7, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r8", 8, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r9", 9, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r10", 10, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r11", 11, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "r12", 12, 1, NULL, 32, "uint32");
+  tdesc_create_reg (feature, "sp", 13, 1, NULL, 32, "data_ptr");
+  tdesc_create_reg (feature, "lr", 14, 1, NULL, 32, "int");
+  tdesc_create_reg (feature, "pc", 15, 1, NULL, 32, "code_ptr");
+  tdesc_create_reg (feature, "cpsr", 25, 1, NULL, 32, "int");
+
+  feature = tdesc_create_feature (result, "org.gnu.gdb.arm.vfp");
+  tdesc_create_reg (feature, "d0", 26, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d1", 27, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d2", 28, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d3", 29, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d4", 30, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d5", 31, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d6", 32, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d7", 33, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d8", 34, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d9", 35, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d10", 36, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d11", 37, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d12", 38, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d13", 39, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d14", 40, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d15", 41, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d16", 42, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d17", 43, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d18", 44, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d19", 45, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d20", 46, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d21", 47, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d22", 48, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d23", 49, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d24", 50, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d25", 51, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d26", 52, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d27", 53, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d28", 54, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d29", 55, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d30", 56, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "d31", 57, 1, NULL, 64, "ieee_double");
+  tdesc_create_reg (feature, "fpscr", 58, 1, "float", 32, "int");
+
+  tdesc_arm_with_vfpv3 = result;
+}
diff --git a/gdb/features/arm/arm-with-vfpv3.xml b/gdb/features/arm/arm-with-vfpv3.xml
new file mode 100644
index 0000000..aa39548
--- /dev/null
+++ b/gdb/features/arm/arm-with-vfpv3.xml
@@ -0,0 +1,12 @@ 
+<?xml version="1.0"?>
+<!-- Copyright (C) 2009-2014 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>
+  <xi:include href="arm-core.xml"/>
+  <xi:include href="arm-vfpv3.xml"/>
+</target>
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index cc4f53d..b69a68d 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -63,14 +63,14 @@  case "${target}" in
 			srv_regobj="${srv_regobj} arm-with-vfpv3.o"
 			srv_regobj="${srv_regobj} arm-with-neon.o"
 			srv_tgtobj="$srv_linux_obj linux-arm-low.o"
-			srv_xmlfiles="arm-with-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-vfpv3.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-with-neon.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-core.xml"
-			srv_xmlfiles="${srv_xmlfiles} xscale-iwmmxt.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv2.xml"
-			srv_xmlfiles="${srv_xmlfiles} arm-vfpv3.xml"
+			srv_xmlfiles="arm/arm-with-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-vfpv3.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-with-neon.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-core.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/xscale-iwmmxt.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv2.xml"
+			srv_xmlfiles="${srv_xmlfiles} arm/arm-vfpv3.xml"
 			srv_linux_usrregs=yes
 			srv_linux_regsets=yes
 			srv_linux_thread_db=yes