]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/IpmiFruInformationStorage.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / IpmiFruInformationStorage.h
1 /** @file
2 IPMI Platform Management FRU Information Storage Definitions
3
4 This file contains the definitions for:
5 Common Header Format (Chapter 8)
6 MultiRecord Header (Section 16.1)
7
8 Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
9 SPDX-License-Identifier: BSD-2-Clause-Patent
10
11 @par Revision Reference:
12 - IPMI Platform Management FRU Information Storage Definition v1.0 Revision
13 1.3, Dated March 24, 2015.
14 https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/ipmi-platform-mgt-fru-info-storage-def-v1-0-rev-1-3-spec-update.pdf
15 **/
16
17 #ifndef _IPMI_FRU_INFORMATION_STORAGE_H_
18 #define _IPMI_FRU_INFORMATION_STORAGE_H_
19
20 #pragma pack(1)
21
22 //
23 // Structure definitions for FRU Common Header
24 //
25 typedef union {
26 ///
27 /// Individual bit fields
28 ///
29 struct {
30 UINT8 FormatVersionNumber : 4;
31 UINT8 Reserved : 4;
32 } Bits;
33 ///
34 /// All bit fields as a 8-bit value
35 ///
36 UINT8 Uint8;
37 } IPMI_FRU_COMMON_HEADER_FORMAT_VERSION;
38
39 typedef struct {
40 IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion;
41 UINT8 InternalUseStartingOffset;
42 UINT8 ChassisInfoStartingOffset;
43 UINT8 BoardAreaStartingOffset;
44 UINT8 ProductInfoStartingOffset;
45 UINT8 MultiRecInfoStartingOffset;
46 UINT8 Pad;
47 UINT8 Checksum;
48 } IPMI_FRU_COMMON_HEADER;
49
50 //
51 // Structure definition for FRU MultiRecord Header
52 //
53 typedef union {
54 ///
55 /// Individual bit fields
56 ///
57 struct {
58 UINT8 RecordFormatVersion : 4;
59 UINT8 Reserved : 3;
60 UINT8 EndofList : 1;
61 } Bits;
62 ///
63 /// All bit fields as a 8-bit value
64 ///
65 UINT8 Uint8;
66 } IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION;
67
68 typedef struct {
69 UINT8 RecordTypeId;
70 IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion;
71 UINT8 RecordLength;
72 UINT8 RecordChecksum;
73 UINT8 HeaderChecksum;
74 } IPMI_FRU_MULTI_RECORD_HEADER;
75
76 //
77 // Structure definition for System UUID Subrecord with checksum.
78 //
79 typedef struct {
80 UINT8 RecordCheckSum;
81 UINT8 SubRecordId;
82 EFI_GUID Uuid;
83 } IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM;
84
85 #pragma pack()
86 #endif