/** @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