]>
Commit | Line | Data |
---|---|---|
25517f7c HW |
1 | /** @file\r |
2 | IPMI Platform Management FRU Information Storage Definitions\r | |
3 | \r | |
4 | This file contains the definitions for:\r | |
5 | Common Header Format (Chapter 8)\r | |
6 | MultiRecord Header (Section 16.1)\r | |
7 | \r | |
8 | Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r | |
9344f092 | 9 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
25517f7c HW |
10 | \r |
11 | @par Revision Reference:\r | |
12 | - IPMI Platform Management FRU Information Storage Definition v1.0 Revision\r | |
13 | 1.3, Dated March 24, 2015.\r | |
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\r | |
15 | **/\r | |
16 | \r | |
17 | #ifndef _IPMI_FRU_INFORMATION_STORAGE_H_\r | |
18 | #define _IPMI_FRU_INFORMATION_STORAGE_H_\r | |
19 | \r | |
20 | #pragma pack(1)\r | |
21 | \r | |
22 | //\r | |
aeb6f576 | 23 | // Structure definitions for FRU Common Header\r |
25517f7c | 24 | //\r |
aeb6f576 HW |
25 | typedef union {\r |
26 | ///\r | |
27 | /// Individual bit fields\r | |
28 | ///\r | |
29 | struct {\r | |
2f88bd3a MK |
30 | UINT8 FormatVersionNumber : 4;\r |
31 | UINT8 Reserved : 4;\r | |
aeb6f576 HW |
32 | } Bits;\r |
33 | ///\r | |
34 | /// All bit fields as a 8-bit value\r | |
35 | ///\r | |
2f88bd3a | 36 | UINT8 Uint8;\r |
aeb6f576 HW |
37 | } IPMI_FRU_COMMON_HEADER_FORMAT_VERSION;\r |
38 | \r | |
25517f7c | 39 | typedef struct {\r |
2f88bd3a MK |
40 | IPMI_FRU_COMMON_HEADER_FORMAT_VERSION FormatVersion;\r |
41 | UINT8 InternalUseStartingOffset;\r | |
42 | UINT8 ChassisInfoStartingOffset;\r | |
43 | UINT8 BoardAreaStartingOffset;\r | |
44 | UINT8 ProductInfoStartingOffset;\r | |
45 | UINT8 MultiRecInfoStartingOffset;\r | |
46 | UINT8 Pad;\r | |
47 | UINT8 Checksum;\r | |
25517f7c HW |
48 | } IPMI_FRU_COMMON_HEADER;\r |
49 | \r | |
50 | //\r | |
51 | // Structure definition for FRU MultiRecord Header\r | |
52 | //\r | |
aeb6f576 HW |
53 | typedef union {\r |
54 | ///\r | |
55 | /// Individual bit fields\r | |
56 | ///\r | |
57 | struct {\r | |
2f88bd3a MK |
58 | UINT8 RecordFormatVersion : 4;\r |
59 | UINT8 Reserved : 3;\r | |
60 | UINT8 EndofList : 1;\r | |
aeb6f576 HW |
61 | } Bits;\r |
62 | ///\r | |
63 | /// All bit fields as a 8-bit value\r | |
64 | ///\r | |
2f88bd3a | 65 | UINT8 Uint8;\r |
aeb6f576 HW |
66 | } IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION;\r |
67 | \r | |
25517f7c | 68 | typedef struct {\r |
2f88bd3a MK |
69 | UINT8 RecordTypeId;\r |
70 | IPMI_FRU_MULTI_RECORD_HEADER_FORMAT_VERSION FormatVersion;\r | |
71 | UINT8 RecordLength;\r | |
72 | UINT8 RecordChecksum;\r | |
73 | UINT8 HeaderChecksum;\r | |
25517f7c HW |
74 | } IPMI_FRU_MULTI_RECORD_HEADER;\r |
75 | \r | |
76 | //\r | |
77 | // Structure definition for System UUID Subrecord with checksum.\r | |
78 | //\r | |
79 | typedef struct {\r | |
80 | UINT8 RecordCheckSum;\r | |
81 | UINT8 SubRecordId;\r | |
82 | EFI_GUID Uuid;\r | |
83 | } IPMI_SYSTEM_UUID_SUB_RECORD_WITH_CHECKSUM;\r | |
84 | \r | |
85 | #pragma pack()\r | |
86 | #endif\r |