This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]