[RFC 02/14] efi_loader: define System Resource Table macros

Heinrich Schuchardt
2020-03-17T07:06:29Z

On 3/17/20 3:12 AM, AKASHI Takahiro wrote:
> Some of those values will be used in an implementation of UEFI firmware
> management protocol as part of my capsule update patch.
>
> Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>

Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

> ---
> include/efi_api.h | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/include/efi_api.h b/include/efi_api.h
> index 73c0722b0168..a99cc7acc475 100644
> --- a/include/efi_api.h
> +++ b/include/efi_api.h
> @@ -1627,4 +1627,31 @@ struct efi_unicode_collation_protocol {
> #define LOAD_OPTION_CATEGORY_BOOT 0x00000000
> #define LOAD_OPTION_CATEGORY_APP 0x00000100
>
> +/*
> + * System Resource Table
> + */
> +/* Firmware Type Definitions */
> +#define ESRT_FW_TYPE_UNKNOWN 0x00000000
> +#define ESRT_FW_TYPE_SYSTEMFIRMWARE 0x00000001
> +#define ESRT_FW_TYPE_DEVICEFIRMWARE 0x00000002
> +#define ESRT_FW_TYPE_UEFIDRIVER 0x00000003
> +
> +/* Last Attempt Status Values */
> +#define LAST_ATTEMPT_STATUS_SUCCESS 0x00000000
> +#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL 0x00000001
> +#define LAST_ATTEMPT_STATUS_ERROR_INSUFFICIENT_RESOURCES 0x00000002
> +#define LAST_ATTEMPT_STATUS_ERROR_INCORRECT_VERSION 0x00000003
> +#define LAST_ATTEMPT_STATUS_ERROR_INVALID_FORMAT 0x00000004
> +#define LAST_ATTEMPT_STATUS_ERROR_AUTH_ERROR 0x00000005
> +#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_AC 0x00000006
> +#define LAST_ATTEMPT_STATUS_ERROR_PWR_EVT_BATT 0x00000007
> +#define LAST_ATTEMPT_STATUS_ERROR_UNSATISFIED_DEPENDENCIES 0x00000008
> +
> +/*
> + * The LastAttemptStatus values of 0x1000 - 0x4000 are reserved for vendor
> + * usage.
> + */
> +#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL_VENDOR_RANGE_MIN 0x00001000
> +#define LAST_ATTEMPT_STATUS_ERROR_UNSUCCESSFUL_VENDOR_RANGE_MAX 0x00004000
> +
> #endif
>