Re: [RFC][CFT] signal handling fixes

From: Finn Thain
Date: Thu Sep 16 2021 - 05:03:48 EST


On Sun, 25 Jul 2021, Al Viro wrote:

> ...
>
> PS: FWIW, ifdefs in arch/m68k/kernel/signal.c are wrong - it's not !MMU
> vs. coldfire/MMU vs. classic/MMU. It's actually 68000 vs. coldfire vs.
> everything else. These days it's nearly correct, but only because on
> MMU variants of coldfire we never see exception stack frames with type
> other than 4 - it's controlled by alignment of kernel stack pointer on
> those, and it's under the kernel control, so it's always 32bit-aligned.
> It used to be more serious back when we had 68360 support - that's !MMU
> and exception stack frames are like those on 68020, unless I'm
> misreading their manual...
>

I don't claim to understand this code but CPU32 cores appear to be
unsupported on either #ifdef branch: the MMU branch due to CACR and CAAR
used in push_cache(), and the !MMU branch due to frame format $4 used in
adjust_format().

The CPU32 Reference Manual appendix says these chips only supports control
registers SFC, DFC, VBR and stack frame formats $0, $2, $C.
https://www.nxp.com/files-static/microcontrollers/doc/ref_manual/CPU32RM.pdf