[Skiboot] [PATCH v2 4/4] ipmi/wdt: Add ipmi watchdog timer support
Joel Stanley
joel at jms.id.au
Thu Feb 5 16:19:43 AEDT 2015
On Wed, Feb 4, 2015 at 3:37 PM, Alistair Popple <alistair at popple.id.au> wrote:
> Add support for an ipmi watchdog timer. During skiboot initialisation
> this patch will cause the system to be reset if opal_run_pollers()
> isn't called for more than 60 seconds.
Looks good. A question below about clearing the message flags.
> Once the payload is started the watchdog timer will be reset and a
> pre-timeout interrupt set. The payload should then receive the
> interrupt and call into skiboot which will disable the watchdog timer.
>
> Signed-off-by: Alistair Popple <alistair at popple.id.au>
Reviewed-by: Joel Stanley <joel at jms.id.au>
> index 99c2fd9..6489b7a 100644
> --- a/core/ipmi.c
> +++ b/core/ipmi.c
> @@ -153,6 +153,12 @@ static void ipmi_get_message_flags_complete(struct ipmi_msg *msg)
>
> prlog(PR_DEBUG, "IPMI Get Message Flags: %02x\n", flags);
>
> + /* Once we see an interrupt we assume the payload has
> + * booted. We disable the wdt and let the OS setup its own
> + * wdt. */
> + if (flags & IPMI_MESSAGE_FLAGS_WATCHDOG_PRE_TIMEOUT)
> + ipmi_wdt_stop();
I see that this will send a IPMI_SET_WDT to the BMC. Do you also need
to clear the flag?
> +
> /* Message available in the event buffer? Queue a Read Event command
> * to retrieve it. The flag is cleared by performing a read */
> if (flags & IPMI_MESSAGE_FLAGS_EVENT_BUFFER) {
More information about the Skiboot
mailing list