From 9312ae6538646b7669fb19271a62e985ba4e5369 Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Fri, 18 Sep 2009 23:27:07 +0100 Subject: [PATCH] --- yaml --- r: 166147 b: refs/heads/master c: 83e686ea0291ee93b87dcdc00b96443b80de56c9 h: refs/heads/master i: 166145: a9a7d70c4f56ac19e5cc94e6f2297b8654053cd9 166143: e264567707b1d299393fe4ea521ce2a6c5d692d1 v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/entry-armv.S | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index d4729b8e9ac7..630c943ff34d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 74109b8913277b1dbd072039d1e0a930d2834389 +refs/heads/master: 83e686ea0291ee93b87dcdc00b96443b80de56c9 diff --git a/trunk/arch/arm/kernel/entry-armv.S b/trunk/arch/arm/kernel/entry-armv.S index a332bc7225bf..0a2ba51cf35d 100644 --- a/trunk/arch/arm/kernel/entry-armv.S +++ b/trunk/arch/arm/kernel/entry-armv.S @@ -272,7 +272,15 @@ __und_svc: @ @ r0 - instruction @ +#ifndef CONFIG_THUMB2_KERNEL ldr r0, [r2, #-4] +#else + ldrh r0, [r2, #-2] @ Thumb instruction at LR - 2 + and r9, r0, #0xf800 + cmp r9, #0xe800 @ 32-bit instruction if xx >= 0 + ldrhhs r9, [r2] @ bottom 16 bits + orrhs r0, r9, r0, lsl #16 +#endif adr r9, BSYM(1f) bl call_fpe @@ -678,7 +686,9 @@ ENTRY(fp_enter) .word no_fp .previous -no_fp: mov pc, lr +ENTRY(no_fp) + mov pc, lr +ENDPROC(no_fp) __und_usr_unknown: enable_irq