Commit e64d7594 authored by Marek Vasut's avatar Marek Vasut Committed by Tom Rini

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: default avatarMarek 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: default avatarTom Rini <trini@konsulko.com>
parent c5a543ea
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment