summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2022-04-04 23:38:28 +0200
committerArnd Bergmann <arnd@arndb.de>2022-05-07 22:56:16 +0200
commitc8a91428941b912d66e13a2719fe6ac670150d69 (patch)
tree38a521a793f0676277f43f23937b5fe785d07dea
parent64dbc4dd7a7cc6642c522963a6194b62480e2a68 (diff)
ARM: PXA: fix multi-cpu build of xsc3
On a kernel that includes both ARMv4 and XScale support, the copypage function fails to build with invalid instructions. Since these are only called on an actual XScale processor, annotate the assembly with the correct .arch directive. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--arch/arm/mm/copypage-xsc3.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mm/copypage-xsc3.c b/arch/arm/mm/copypage-xsc3.c
index 6f0909dda2f9..c86e79677ff9 100644
--- a/arch/arm/mm/copypage-xsc3.c
+++ b/arch/arm/mm/copypage-xsc3.c
@@ -29,6 +29,7 @@ static void xsc3_mc_copy_user_page(void *kto, const void *kfrom)
int tmp;
asm volatile ("\
+.arch xscale \n\
pld [%1, #0] \n\
pld [%1, #32] \n\
1: pld [%1, #64] \n\
@@ -80,6 +81,7 @@ void xsc3_mc_clear_user_highpage(struct page *page, unsigned long vaddr)
{
void *ptr, *kaddr = kmap_atomic(page);
asm volatile ("\
+.arch xscale \n\
mov r1, %2 \n\
mov r2, #0 \n\
mov r3, #0 \n\