xen/arch/arm/shutdown.c | 4 ++++ 1 file changed, 4 insertions(+)
If for some reason the hardware reset is not working, print a message to
the user every 5 seconds to warn him that the system did not reset
properly and Xen is still looping.
The message is printed infinitely so that someone connecting to a serial
console with no history would see the message coming after 5 seconds.
Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
xen/arch/arm/shutdown.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
index b32f07ec0e..600088ec48 100644
--- a/xen/arch/arm/shutdown.c
+++ b/xen/arch/arm/shutdown.c
@@ -36,6 +36,7 @@ void machine_halt(void)
void machine_restart(unsigned int delay_millisecs)
{
int timeout = 10;
+ unsigned long count = 0;
watchdog_disable();
console_start_sync();
@@ -59,6 +60,9 @@ void machine_restart(unsigned int delay_millisecs)
{
platform_reset();
mdelay(100);
+ if ( (count % 50) == 0 )
+ printk(XENLOG_ERR "Xen: Platform reset did not work properly!!\n");
+ count++;
}
}
--
2.17.1
On Fri, 16 Oct 2020, Bertrand Marquis wrote:
> If for some reason the hardware reset is not working, print a message to
> the user every 5 seconds to warn him that the system did not reset
> properly and Xen is still looping.
>
> The message is printed infinitely so that someone connecting to a serial
> console with no history would see the message coming after 5 seconds.
>
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> xen/arch/arm/shutdown.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
> index b32f07ec0e..600088ec48 100644
> --- a/xen/arch/arm/shutdown.c
> +++ b/xen/arch/arm/shutdown.c
> @@ -36,6 +36,7 @@ void machine_halt(void)
> void machine_restart(unsigned int delay_millisecs)
> {
> int timeout = 10;
> + unsigned long count = 0;
>
> watchdog_disable();
> console_start_sync();
> @@ -59,6 +60,9 @@ void machine_restart(unsigned int delay_millisecs)
> {
> platform_reset();
> mdelay(100);
> + if ( (count % 50) == 0 )
> + printk(XENLOG_ERR "Xen: Platform reset did not work properly!!\n");
> + count++;
I'd think that one "!" is enough :-) but anyway
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> On 19 Oct 2020, at 18:37, Stefano Stabellini <sstabellini@kernel.org> wrote:
>
> On Fri, 16 Oct 2020, Bertrand Marquis wrote:
>> If for some reason the hardware reset is not working, print a message to
>> the user every 5 seconds to warn him that the system did not reset
>> properly and Xen is still looping.
>>
>> The message is printed infinitely so that someone connecting to a serial
>> console with no history would see the message coming after 5 seconds.
>>
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> xen/arch/arm/shutdown.c | 4 ++++
>> 1 file changed, 4 insertions(+)
>>
>> diff --git a/xen/arch/arm/shutdown.c b/xen/arch/arm/shutdown.c
>> index b32f07ec0e..600088ec48 100644
>> --- a/xen/arch/arm/shutdown.c
>> +++ b/xen/arch/arm/shutdown.c
>> @@ -36,6 +36,7 @@ void machine_halt(void)
>> void machine_restart(unsigned int delay_millisecs)
>> {
>> int timeout = 10;
>> + unsigned long count = 0;
>>
>> watchdog_disable();
>> console_start_sync();
>> @@ -59,6 +60,9 @@ void machine_restart(unsigned int delay_millisecs)
>> {
>> platform_reset();
>> mdelay(100);
>> + if ( (count % 50) == 0 )
>> + printk(XENLOG_ERR "Xen: Platform reset did not work properly!!\n");
>> + count++;
>
> I'd think that one "!" is enough :-) but anyway
True :-)
Feel to limit the exclamation to one while committing.
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Thanks
Bertrand
© 2016 - 2026 Red Hat, Inc.