[Skiboot] [PATCH v7 15/22] fadump: Introduce new reboot type
Oliver
oohall at gmail.com
Fri May 10 11:33:35 AEST 2019
On Sat, Apr 13, 2019 at 7:19 PM Vasant Hegde
<hegdevasant at linux.vnet.ibm.com> wrote:
>
> Enhance reboot2 call to support FADUMP. Payload will call this interface
> to initiate fadump.
Every other bit of bare metal firmware calls it MPIPL so I'd rather we
just stuck with that terminology for consistency. Think of it this
way: FAdump/fadump is a linux feature that we're implementing on top
of MPIPL.
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
> core/platform.c | 7 ++++++-
> doc/opal-api/opal-cec-reboot-6-116.rst | 7 +++++++
> include/opal-api.h | 1 +
> 3 files changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/core/platform.c b/core/platform.c
> index 570a4309a..5283fce0a 100644
> --- a/core/platform.c
> +++ b/core/platform.c
> @@ -1,4 +1,4 @@
> -/* Copyright 2013-2016 IBM Corp.
> +/* Copyright 2013-2019 IBM Corp.
> *
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> @@ -103,6 +103,11 @@ static int64_t opal_cec_reboot2(uint32_t reboot_type, char *diag)
> case OPAL_REBOOT_FULL_IPL:
> disable_fast_reboot("full IPL reboot requested");
> return opal_cec_reboot();
> + case OPAL_REBOOT_OS_ERROR:
> + prlog(PR_ERR, "Kernel requested for fadump\n");
> + console_complete_flush();
> + assert(false);
> + break;
> default:
> prlog(PR_NOTICE, "OPAL: Unsupported reboot request %d\n", reboot_type);
> return OPAL_UNSUPPORTED;
> diff --git a/doc/opal-api/opal-cec-reboot-6-116.rst b/doc/opal-api/opal-cec-reboot-6-116.rst
> index 516d4fc01..9ac7f9f69 100644
> --- a/doc/opal-api/opal-cec-reboot-6-116.rst
> +++ b/doc/opal-api/opal-cec-reboot-6-116.rst
> @@ -63,6 +63,13 @@ OPAL_REBOOT_FULL_IPL = 2
> On platforms that don't support fast reboot, this is equivalent to a
> normal reboot.
>
> +OPAL_REBOOT_OS_ERROR = 3
> + Request for fadump reboot. Firmware will reboot the system and collect
> + dump.
> +
> + On platforms that don't support fadump, this is equivalent to a
> + normal assert.
> +
> Unsupported Reboot type
> For unsupported reboot type, this function will return with
> OPAL_UNSUPPORTED and no reboot will be triggered.
> diff --git a/include/opal-api.h b/include/opal-api.h
> index 702e70841..1884850a9 100644
> --- a/include/opal-api.h
> +++ b/include/opal-api.h
> @@ -1239,6 +1239,7 @@ enum {
> OPAL_REBOOT_NORMAL = 0,
> OPAL_REBOOT_PLATFORM_ERROR,
> OPAL_REBOOT_FULL_IPL,
> + OPAL_REBOOT_OS_ERROR,
Having a "PLATFORM_ERROR" reboot type was always kind of dumb IMO so
I'd rather we didn't make that a pattern. Call it MPIPL or
MEMORY_PRESERVING_IPL. That way people might actually know what it
does.
> };
>
> /* Argument to OPAL_PCI_TCE_KILL */
> --
> 2.14.3
>
> _______________________________________________
> Skiboot mailing list
> Skiboot at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/skiboot
More information about the Skiboot
mailing list