[PATCH 1/1] riscv: reset after crash

Heinrich Schuchardt xypron.glpk at gmx.de
Sun Sep 27 01:02:32 CEST 2020


On 9/26/20 8:16 PM, Sean Anderson wrote:
> On 9/26/20 4:20 AM, Heinrich Schuchardt wrote:
>> If an exception occurs on ARM or x86, we call panic() which will try to
>> reset the board. Do the same on RISC-V.
>>
>> Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
>> ---
>>  arch/riscv/lib/interrupts.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/riscv/lib/interrupts.c b/arch/riscv/lib/interrupts.c
>> index 8ff40f0f36..f95cb97f92 100644
>> --- a/arch/riscv/lib/interrupts.c
>> +++ b/arch/riscv/lib/interrupts.c
>> @@ -84,7 +84,7 @@ static void _exit_trap(ulong code, ulong epc, ulong tval, struct pt_regs *regs)
>>
>>  	show_regs(regs);
>>  	show_efi_loaded_images(epc);
>> -	hang();
>> +	panic ("Resetting CPU ...\n");
>
> Nits: no space before parentheses.
>
> Do we need a message here? do_panic already prints "resetting...".

May be I should not have blindly copied from ARM.

With CONFIG_PANIC_HANG=y the next message will be:

### ERROR ### Please RESET the board ###

"resetting..." is printed by the respective implementation of do_reset()
depending on the value of CONFIG_SYSRESET=y.

As on all three passways we have a follow up message, passing an empty
string "" to panic() should be enough.

Best regards

Heinrich


More information about the U-Boot mailing list