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

Richard Earnshaw rearnsha@arm.com
Tue Dec 18 17:38:00 GMT 2012


On 18/12/12 17:19, David Fernandez wrote:
> On Tue, Dec 18, 2012 at 4:08 PM, Richard Earnshaw <rearnsha@arm.com> wrote:
>> On 18/12/12 15:30, David Fernandez wrote:
>>>
>>> Hi Richard,
>>>
>>> Great, thanks for the info. That will keep me going. I'll look into
>>> .inst, as I was using just a .word to define it for now.
>>>
>>> Just as a comment to the whole thing, AFAIK both Cortex-Rn and
>>> Cortex-An have in essence the same architecture, i.e. same instruction
>>> set, same possible extensions, etc. The difference is that while
>>> extensions like virt and sec are standard in Cortex-An, they are
>>> optional in Cortex-Rn.
>>>
>>> So I would suggest, that both armv7-r and arm-v7a should have access
>>> to the same extensions, just that armv7-r will have most disabled by
>>> default, while armv7-a would have some enabled by default.
>>>
>>> Also, the banked registers instructions are not part of any extension,
>>> and should be present all time. It is a bit weird that you don't have
>>> them unless you enable the virt extension.
>>>
>>
>> I'm not sure I understand what else you think is missing.
>>
>> The file
>>
>>          .arch armv7-r
>>          .thumb
>>          .syntax unified
>>          srsia   sp!, #4
>>          rfefd   sp!
>>
>> assembles without error for me.
>>
>> Perhaps you can provide a test-case.
>>
>> R.
>>
>>
>
> Something like:
>
>                  .arch   armv7-r
>                  .syntax unified
>                  .thumb
>                  mrs     r0, sp_usr
>                  bx      lr
>
> Complains, saying that this architecture does not support banked registers.
>
> I have to use .arch armv7-a and .arch_extension virt to make it work,
> but it should work in armv7-r and without the need for virtualization
> extensions.
>
> R
>

I'll look into it.  However, Rev C of the v7 ARM ARM is quite explicit 
in saying that this instruction is only available with the 
virtualization extension, so on that basis, I think GAS is right.  Do 
you have some document that appears to contradict this?

R.



More information about the Binutils mailing list