[PATCH v4 12/12] ARM: entry: Make asm coproc dispatch code NWFPE only

Linus Walleij linus.walleij at linaro.org
Tue Mar 21 08:11:50 PDT 2023


On Mon, Mar 20, 2023 at 2:19 PM Ard Biesheuvel <ardb at kernel.org> wrote:

> Now that we can dispatch all VFP and iWMMXT related undef exceptions
> using undef hooks implemented in C code, we no longer need the asm entry
> code that takes care of this unless we are using FPE. As this means it
> is ARM only, we can also remove the Thumb2 specific decorations.
>
> It also means the non-standard, asm-only calling convention where
> returning via LR means failure and returning via R9 means success is now
> only used on legacy platforms that lack any kind of function return
> prediction, avoiding the associated performance impact.
>
> Signed-off-by: Ard Biesheuvel <ardb at kernel.org>

Clearly makes things more compartmentalized.
Reviewed-by: Linus Walleij <linus.walleij at linaro.org>

>  call_fpe:
> -       badr    r9, ret_from_exception
> -       badr    lr, __und_usr_fault_32
> +#ifdef CONFIG_FPE_NWFPE
> +       adr     r9, ret_from_exception
> +       adr     lr, __und_usr_fault_32

I actually have the NetWinder so if we want to refactor further I can test.
Marc Zyngier has this machine too.

Scott Bambrough wrote the NWFPE handling a long time ago I think, so
putting him on CC for fun.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list