AnsweredAssumed Answered

is the 'enable_neon_fpu' function in cortexA9.S (imx6 Platform SDK) missing a return?

Question asked by Ed Sutter on May 30, 2013
Latest reply on May 30, 2013 by Leonardo Sandoval Gonzalez

I'm by no means an ARM assembler expert, but I am working with the iMX6 Platform SDK and just noticed that the assembler function enable_neon_fpu (copied below, extracted from iMX6_Platform_SDK/sdk/core/src/cortexA9.s) appears to be missing a return...

 

  .global enable_neon_fpu

  .func enable_neon_fpu

enable_neon_fpu:

    /* set NSACR, both Secure and Non-secure access are allowed to NEON */

    MRC p15, 0, r0, c1, c1, 2

    ORR r0, r0, #(0x3<<10) @ enable fpu/neon

    MCR p15, 0, r0, c1, c1, 2

    /* Set the CPACR for access to CP10 and CP11*/

    LDR r0, =0xF00000

    MCR p15, 0, r0, c1, c0, 2

    /* Set the FPEXC EN bit to enable the FPU */

    MOV r3, #0x40000000

    @VMSR FPEXC, r3

    MCR p10, 7, r3, c8, c0, 0

  .endfunc

 

 

Can someone verify this?

 

Outcomes