/** @file IPMI 2.0 definitions from the IPMI Specification Version 2.0, Revision 1.1. Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.
Copyright (c) 2024, Ampere Computing LLC. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - Arm Server Base Manageability Requirements (SBMR) Specification Revision 2.0d, Section F https://developer.arm.com/documentation/den0069 **/ #ifndef _IPMI_NET_FN_GROUP_EXTENSION_H_ #define _IPMI_NET_FN_GROUP_EXTENSION_H_ #include // // Net function definition for Group Extension command // #define IPMI_NETFN_GROUP_EXT 0x2C // // All Group Extension commands and their structure definitions to follow here // /// /// Constants and structure definitions for Boot Progress Codes /// /// See Section F of the Arm Server Base Manageability Requirements 2.0 specification, /// https://developer.arm.com/documentation/den0069 /// #pragma pack(1) // // Definitions for send progress code command // #define IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_SEND 0x02 // // Definitions for get progress code command // #define IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_GET 0x03 // // Definitions for send and get progress code command response // #define IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_COMPLETED_NORMALLY 0x00 #define IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_COMPLETED_ERROR 0x80 #define IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_DEFINING_BODY 0xAE // // Structure for the format of the boot progress code data // See Table 29: SBMR Boot Progress Codes format // typedef struct { EFI_STATUS_CODE_TYPE CodeType; EFI_STATUS_CODE_VALUE CodeValue; UINT8 Instance; } IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_FORMAT; // // Structure for the boot progress code send request // typedef struct { UINT8 DefiningBody; IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_FORMAT BootProgressCode; } IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_SEND_REQUEST; // // Structure for the boot progress code send response // typedef struct { UINT8 CompletionCode; UINT8 DefiningBody; } IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_SEND_RESPONSE; // // Structure for the boot progress code get request // typedef struct { UINT8 DefiningBody; } IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_GET_REQUEST; // // Structure for the boot progress code get response // typedef struct { UINT8 CompletionCode; UINT8 DefiningBody; IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_FORMAT BootProgressCode; } IPMI_GROUP_EXTENSION_BOOT_PROGRESS_CODE_GET_RESPONSE; #pragma pack() #endif