Re: [PATCH] ARM: vfp: Fix up exception location in Thumb mode

From: Colin Cross
Date: Wed Feb 09 2011 - 13:12:56 EST


On Wed, Jan 26, 2011 at 11:30 PM, Colin Cross <ccross@xxxxxxxxxxx> wrote:
> This patch is on top of your first patch that cleans up the comments,
> but not the second patch that fixes the PC in the VFP exception case.
> Compiled but not run tested, and I can't test crunch or iwmmxt.
> vfpmodule.c may be able to be simplified (right now its both adding
> and subtracting 4 from regs->ARM_pc).
>
>  arch/arm/kernel/crunch-bits.S |    3 ---
>  arch/arm/kernel/entry-armv.S  |   38 ++++++++++++++++++++------------------
>  arch/arm/kernel/iwmmxt.S      |    3 ---
>  arch/arm/nwfpe/entry.S        |    1 +
>  arch/arm/vfp/vfphw.S          |    5 -----
>  arch/arm/vfp/vfpmodule.c      |    6 ++++++
>  6 files changed, 27 insertions(+), 29 deletions(-)

Finally got a chance to do some quick testing on this, it needs one
more change to drop the correction in do_undefinstr in traps.c, and
fix one register in entry-armv.S. Russell, do you have any interest
in this solution? Alternatively, a one line change to store the
corrected PC into the stack in vfphw.S instead of entry-armv.S will
fix the original problem (VFP_bounce from thumb mode returning to the
wrong address) without causing the problem introduced by your second
patch (undefined NEON or VFP-D32 instructions in thumb mode returning
to the wrong address).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/