[PATCH 1/2] powerpc/entry: convert to common and generic entry

Christophe Leroy christophe.leroy at csgroup.eu
Thu Sep 12 20:23:29 AEST 2024



Le 12/09/2024 à 10:24, Luming Yu a écrit :
> From: Yu Luming <luming.yu at gmail.com>
> 
> convert powerpc entry code in syscall and fault to use syscall_work
> and irqentry_state as well as common calls from generic entry infrastructure.
> 
> Signed-off-by: Luming Yu <luming.yu at shingroup.cn>
> ---
>   arch/powerpc/Kconfig                   | 1 +
>   arch/powerpc/include/asm/hw_irq.h      | 5 +++++
>   arch/powerpc/include/asm/processor.h   | 6 ++++++
>   arch/powerpc/include/asm/syscall.h     | 5 +++++
>   arch/powerpc/include/asm/thread_info.h | 1 +
>   arch/powerpc/kernel/syscall.c          | 6 +++++-
>   arch/powerpc/mm/fault.c                | 5 +++++
>   7 files changed, 28 insertions(+), 1 deletion(-)

There is another build problem:

   CC      kernel/entry/common.o
kernel/entry/common.c: In function 'irqentry_exit':
kernel/entry/common.c:335:21: error: implicit declaration of function 
'regs_irqs_disabled'; did you mean 'raw_irqs_disabled'? 
[-Werror=implicit-function-declaration]
   335 |         } else if (!regs_irqs_disabled(regs)) {
       |                     ^~~~~~~~~~~~~~~~~~
       |                     raw_irqs_disabled


You have put regs_irqs_disabled() in a section dedicated to PPC64, so it 
fails on PPC32.


After fixing this problem and providing an empty asm/entry-common.h it 
is now possible to build the kernel. But that's not enough, the board is 
stuck after:

...
[    2.871391] Freeing unused kernel image (initmem) memory: 1228K
[    2.877990] Run /init as init process


Christophe


More information about the Linuxppc-dev mailing list