[U-Boot] How to use the NEON instruction at u-boot?

Kyungmin Park kmpark at infradead.org
Thu Nov 11 11:09:15 CET 2010


On Thu, Nov 11, 2010 at 5:58 PM, V, Aneesh <aneesh at ti.com> wrote:
> Hi Kyungmin Park,
>
>> -----Original Message-----
>> From: u-boot-bounces at lists.denx.de [mailto:u-boot-
>> bounces at lists.denx.de] On Behalf Of Kyungmin Park
>> Sent: Thursday, November 11, 2010 11:05 AM
>> To: u-boot at lists.denx.de"
>> Cc: Minkyu Kang
>> Subject: [U-Boot] How to use the NEON instruction at u-boot?
>>
>> Hi,
>>
>> Now I'm trying to use the NEON instruction at u-boot. but it's
>> failed
>> and got the data abort.
>> Are there any way to use the NEON instruction at u-boot?
>>
>> The main purpose is to use the neon memcpy as below.
>>
>>         bge         1f
>>         // copies 4 bytes, destination 32-bits aligned
>>         vld4.8      {d0[0], d1[0], d2[0], d3[0]}, [r1]!
>>         vst4.8      {d0[0], d1[0], d2[0], d3[0]}, [r0, :32]!
>> 1:      bcc         2f
>>
>
> I am not sure if there is a valid use-case for this. But if you
> are keen on using Neon you will have to enable the co-processor first.
> Here is a piece of code I wrote for doing this in another bootloader.
>
> #define VMSR_FPSCR_r0 dcd 0xeee80a10
> #define VMRS_r0_FPSCR dcd 0xeef80a10
> __asm uint32 enable_neon(void)
> {
>    ldr r0, =0x00F00000
>    MCR p15,0,r0,c1,c0,2 // CP15 Coprocessor Access Control Register
>    ldr r0, =0x40000000
>    VMSR_FPSCR_r0
>    VMRS_r0_FPSCR
>    bx r14
> }

Thanks
NEON instruction is working but need to debug to use it correctly.

I used it as below.
        ldr     r0, =0x00F00000
        mcr     p15, 0, r0, c1, c0, 2
        ldr     r0, =0x40000000
        .word   0xeee80a10
        .word   0xeef80a10

Thank you,
Kyungmin Park

>
> This is written for RVCT tool chain. So you may have to convert it
> for GCC. Also, my assembler didn't allow ARMv7 instructions. So, I
> used DCD. You can either use .word in gcc or use the real instructions
> if your assembler understands those instructions.
>
>> Thank you,
>> Kyungmin Park
>> _______________________________________________
>> U-Boot mailing list
>> U-Boot at lists.denx.de
>> http://lists.denx.de/mailman/listinfo/u-boot
>


More information about the U-Boot mailing list