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