[PATCH ARM]: Architectural Extensions (Matthew Gretton-Dann or Richard Earnshaw)

Richard Earnshaw rearnsha@arm.com
Tue Dec 18 11:03:00 GMT 2012
On 17/12/12 20:19, David Fernandez wrote:
> Hi there
>
> In the meantime, I've found out that the latest binutils already
> includes these patches, BUT, there are several things that don't seem
> to work yet. I'll appreciate some information about how soon (roughly)
> are fixes expected, or if it is expected to stay like that for long.
>
> Anyway, I've built binutils-2.23.1 in the following machine:
> Linux xxx 2.6.18-274.el5 #1 SMP Fri Jul 8 17:36:59 EDT 2011 x86_64
> x86_64 x86_64 GNU/Linux
>
> with the following configuration (let me know if you want the config.log):
> $ configure --target=arm-eabi
> --prefix=/home/arm2gcc/cortex-r4_gcc_472_001-binutils
> ...
> $ make -w all install
>
> (all built well)
>
> If I change the .arch directive from armv7-r to armv7-a, and add
> .arch_extension virt, and in thumb mode, it seems to eat well the
> banked registers, but complains about instructions like:
>
> DDI04060c.b, B9.3.15, SRS (thumb) Encodings T1 & T2: ARMv6T2, ARMv7
> srsfd   sp!, #M_USR
>
> DDI04060c.b, A8.8.247, UDF Encoding T1: ARMv4T, ARMv5T*, ARMv6, ARMv7
> Encoding T2: ARMv6T2, ARMv7
> udf #imm8
>
> Amazingly, it does not complain about rfefd sp!, which is the
> counterpart of srsfd.
>
> All this is quite rare, as cortex-r4, which, AFAIK has architecture
> armv7-r, should support all these instruction regardless of any
> extension.
>
> So, Is anybody working already, or close to work on this?
>
> Am I wrong about something here?
>

No, you're not wrong, the support here for srs appears to be incomplete. 
  Looking at the source code I see support for srsia, srsib, srcda and 
srsdb, but not for any of the alternative names (srs, srsfd, srsfa, 
srsea and srsed).

Similarly, rfe without adornment is also not supported.

As a work-around, you can use the equivalents (srsdb for srsfd, etc).

I'll see if we can get some patches coded up.


R.

> Regards
> David Fernandez.
>
> On Mon, Dec 17, 2012 at 4:33 PM, David Fernandez
> <david.fernandez.work@googlemail.com> wrote:
>> Hi there Matthew Gretton-Dann, or Richard Earnshaw, or anybody that
>> knows about this...
>>
>> I moved from cortex-m3 to cortex-r4, just to discover that the
>> assembler seems to know nothing about banked registers, SRS/RTE
>> instructions and the like, which is worrying, as these AFAIK are basic
>> features for armv7-r/a architectures without any security or
>> virtualization extensions.
>>
>> Then I came around these posts that seem to imply that all this stuff
>> is suported as pasrt of the "virt" extension for the armv7-a
>> architecture. Am I right so far?
>>
>> So, if that is the case, Do you have apropriate patches like these in
>> some ftp for latest binutils 2.23.1?
>>
>> Otherwise, how can I make the binutils to recognize this stuff?
>>
>> I'll appreciate a quick answer, although I understand that, so close
>> to holidays might make people to not read this list at all... :)
>>
>> Regards.
>> David Fernandez
>
>
>




More information about the Binutils mailing list