2022-03-04 05:24:03

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n

Include the DECstation interrupt handler in opting out of
FPU support.

Fixes a linker error:

mips-linux-ld: arch/mips/dec/int-handler.o: in function `fpu':
(.text+0x148): undefined reference to `handle_fpe_int'

Fixes: 183b40f992c8 ("MIPS: Allow FP support to be disabled")
Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kernel test robot <[email protected]>
Cc: Paul Burton <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: "Maciej W. Rozycki" <[email protected]>
Cc: [email protected]
---
This builds OK. Is it enough for runtime interrupt handling?

arch/mips/dec/int-handler.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

--- mmotm-2022-0302-1653.orig/arch/mips/dec/int-handler.S
+++ mmotm-2022-0302-1653/arch/mips/dec/int-handler.S
@@ -139,7 +139,7 @@

beqz t0,spurious

-#ifdef CONFIG_32BIT
+#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
and t2,t0
bnez t2,fpu # handle FPU immediately
#endif
@@ -280,7 +280,7 @@ handle_it:
j dec_irq_dispatch
nop

-#ifdef CONFIG_32BIT
+#if defined(CONFIG_32BIT) && defined(CONFIG_MIPS_FP_SUPPORT)
fpu:
lw t0,fpu_kstat_irq
nop


2022-03-04 17:46:42

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n



On 3/4/22 01:07, Maciej W. Rozycki wrote:
> On Thu, 3 Mar 2022, Randy Dunlap wrote:
>
>> Include the DECstation interrupt handler in opting out of
>> FPU support.
>>
>> Fixes a linker error:
>>
>> mips-linux-ld: arch/mips/dec/int-handler.o: in function `fpu':
>> (.text+0x148): undefined reference to `handle_fpe_int'
>>
>> Fixes: 183b40f992c8 ("MIPS: Allow FP support to be disabled")
>> Signed-off-by: Randy Dunlap <[email protected]>
>> Reported-by: kernel test robot <[email protected]>
>> Cc: Paul Burton <[email protected]>
>> Cc: Thomas Bogendoerfer <[email protected]>
>> Cc: "Maciej W. Rozycki" <[email protected]>
>> Cc: [email protected]
>> ---
>> This builds OK. Is it enough for runtime interrupt handling?
>
> There's:
>
> #ifdef CONFIG_32BIT
> lw t2,cpu_fpu_mask
> #endif
>
> earlier on that needs to go too, and code in arch/mips/dec/setup.c below:
>
> /* Register board interrupts: FPU and cascade. */
>
> (we don't want an unhandled interrupt unmasked). Are you happy to do such
> an update or shall I?
>
> I cannot verify that change at run time, because any program that does FP
> will then crash. Maybe init(8) and sulogin(8) won't. I can check that.
>
> Thanks for doing this stuff!

I'll update the patch and send v2.

thanks.

--
~Randy

2022-03-04 18:17:00

by Maciej W. Rozycki

[permalink] [raw]
Subject: Re: [PATCH] mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n

On Thu, 3 Mar 2022, Randy Dunlap wrote:

> Include the DECstation interrupt handler in opting out of
> FPU support.
>
> Fixes a linker error:
>
> mips-linux-ld: arch/mips/dec/int-handler.o: in function `fpu':
> (.text+0x148): undefined reference to `handle_fpe_int'
>
> Fixes: 183b40f992c8 ("MIPS: Allow FP support to be disabled")
> Signed-off-by: Randy Dunlap <[email protected]>
> Reported-by: kernel test robot <[email protected]>
> Cc: Paul Burton <[email protected]>
> Cc: Thomas Bogendoerfer <[email protected]>
> Cc: "Maciej W. Rozycki" <[email protected]>
> Cc: [email protected]
> ---
> This builds OK. Is it enough for runtime interrupt handling?

There's:

#ifdef CONFIG_32BIT
lw t2,cpu_fpu_mask
#endif

earlier on that needs to go too, and code in arch/mips/dec/setup.c below:

/* Register board interrupts: FPU and cascade. */

(we don't want an unhandled interrupt unmasked). Are you happy to do such
an update or shall I?

I cannot verify that change at run time, because any program that does FP
will then crash. Maybe init(8) and sulogin(8) won't. I can check that.

Thanks for doing this stuff!

Maciej