[PATCH 2/2] powerpc: Print esr register when hitting Program Interrupt

Christophe Leroy christophe.leroy at csgroup.eu
Fri Apr 23 01:29:32 AEST 2021



Le 22/04/2021 à 17:10, Xiongwei Song a écrit :
> From: Xiongwei Song <sxwjean at gmail.com>
> 
> The esr register has the details of Program Interrupt on BookE/4xx cpus,
> printing its value is helpful.
> 
> Signed-off-by: Xiongwei Song <sxwjean at gmail.com>
> ---
>   arch/powerpc/kernel/process.c | 1 +
>   1 file changed, 1 insertion(+)
> 
> diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c
> index 5c3830837f3a..664aecf8ee2e 100644
> --- a/arch/powerpc/kernel/process.c
> +++ b/arch/powerpc/kernel/process.c
> @@ -1459,6 +1459,7 @@ static bool interrupt_detail_printable(int trap)
>   	case INTERRUPT_MACHINE_CHECK:
>   	case INTERRUPT_DATA_STORAGE:
>   	case INTERRUPT_ALIGNMENT:
> +	case INTERRUPT_PROGRAM:

With this, it will also print the DSISR on 8xx/6xx so it will print garbage.

8xx/6xx provide the information in SRR1. If you want to proceed, you have to do the same as in ISI: 
Copy the content of SRR1 into regs->dsisr in the assembly handler in head_book3s_32.S and in the 
instruction TLB error handler in head_8xx.S

>   		return true;
>   	default:
>   		return false;
> 


More information about the Linuxppc-dev mailing list