• Arnd Bergmann's avatar
    ARM: pxa: fix building without IWMMXT · 343c1cdb
    Arnd Bergmann authored
    When CONFIG_IWMMXT, the pxa3xx and pxa27x suspend/resume code
    emits some xscale specific instructions, which are rejected
    by the assembler, because gcc is built with -march=armv5
    -mtune=xscale and passes that option to the assembler:
    
    /tmp/cciHumzr.s:553: Error: selected processor does not support ARM mode `mra r2,r3,acc0'
    /tmp/cciHumzr.s:605: Error: selected processor does not support ARM mode `mar acc0,r2,r3'
    make[3]: *** [arch/arm/mach-pxa/pxa3xx.o] Error 1
    /tmp/cci5MUNu.s:326: Error: selected processor does not support ARM mode `mra r2,r3,acc0'
    /tmp/cci5MUNu.s:367: Error: selected processor does not support ARM mode `mar acc0,r2,r3'
    make[3]: *** [arch/arm/mach-pxa/pxa27x.o] Error 1
    
    Overriding with -Wa,-march=xscale no longer works, so instead
    I'm adding an explict ".arch_extension" directive in all four inline
    assembly statements, which should work even if they end up in a different
    order in the assembly output.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarRobert Jarzmik <robert.jarzmik@free.fr>
    343c1cdb
pxa3xx.c 9.91 KB