mirror of
https://github.com/smaeul/u-boot.git
synced 2025-10-18 06:38:15 +01:00
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 <linux/linkage.h>
|
||||||
#include <asm/assembler.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)
|
* A, Q = r0 + (r1 << 32)
|
||||||
* B, R = r2 + (r3 << 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.
|
@ Shift A to the right by the appropriate amount.
|
||||||
rsb D_1, D_0, #32
|
rsb D_1, D_0, #32
|
||||||
mov Q_0, A_0, lsr D_0
|
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
|
mov Q_1, A_1, lsr D_0
|
||||||
@ Move C to R
|
@ Move C to R
|
||||||
mov R_0, C_0
|
mov R_0, C_0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user