arm: lib: Fix uldivmod.S build on Thumb2
This assembler source won't build in Thumb2 mode, so fix it adding the necessary Thumb2 conditional macros from unified.h . This patch also defines CONFIG_THUMB2_KERNEL and CONFIG_ARM_ASM_UNIFIED which is necessary for correct build of these files both in ARM and Thumb mode, just like Linux does. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Albert Aribaud <albert.u.boot@aribaud.net> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
c5a543ea2d
commit
e64d759484
@ -9,10 +9,6 @@
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/assembler.h>
|
||||
|
||||
/* We don't use Thumb instructions for now */
|
||||
#define ARM(x...) x
|
||||
#define THUMB(x...)
|
||||
|
||||
/*
|
||||
* A, Q = r0 + (r1 << 32)
|
||||
* B, R = r2 + (r3 << 32)
|
||||
@ -226,7 +222,9 @@ THUMB( orrpl A_0, A_0, TMP )
|
||||
@ Shift A to the right by the appropriate amount.
|
||||
rsb D_1, D_0, #32
|
||||
mov Q_0, A_0, lsr D_0
|
||||
orr Q_0, A_1, lsl D_1
|
||||
ARM( orr Q_0, Q_0, A_1, lsl D_1 )
|
||||
THUMB( lsl A_1, D_1 )
|
||||
THUMB( orr Q_0, A_1 )
|
||||
mov Q_1, A_1, lsr D_0
|
||||
@ Move C to R
|
||||
mov R_0, C_0
|
||||
|
Loading…
Reference in New Issue
Block a user