1 /*++
2 
3   Copyright (c) 2004  - 2014, Intel Corporation. All rights reserved.<BR>
4 
5 
6   This program and the accompanying materials are licensed and made available under
7 
8   the terms and conditions of the BSD License that accompanies this distribution.
9 
10   The full text of the license may be found at
11 
12   http://opensource.org/licenses/bsd-license.php.
13 
14 
15 
16   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 
18   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 
20 
21 
22 
23 
24 Module Name:
25 
26   EfiVpdData.h
27 
28 Abstract:
29 
30   Constants and declarations that are common accross PEI and DXE.
31 --*/
32 
33 #ifndef _EFI_VPD_DATA_H_
34 #define _EFI_VPD_DATA_H_
35 
36 
37 #pragma pack(1)
38 
39 //
40 // DMI data
41 //
42 typedef struct {
43 
44   CHAR8 DmiGpnvHeader[4];             // $DMI
45   CHAR8 SystemInfoManufacturer[0x20]; // Structure Type 1 String 1
46   CHAR8 SystemInfoProductName[0x20];  // Structure Type 1 String 2
47   CHAR8 SystemInfoVersion[0x18];      // Structure Type 1 String 3
48   CHAR8 SystemInfoSerialNumber[0x20]; // Structure Type 1 String 4
49   CHAR8 BaseBoardManufacturer[0x20];  // Structure Type 2 String 1
50   CHAR8 BaseBoardProductName[0x20];   // Structure Type 2 String 2
51   CHAR8 BaseBoardVersion[0x18];       // Structure Type 2 String 3
52   CHAR8 BaseBoardSerialNumber[0x20];  // Structure Type 2 String 4
53   CHAR8 ChassisManufacturer[0x20];    // Structure Type 3 String 1
54   UINT8 ChassisType;                  // Enumerated
55   CHAR8 ChassisVersion[0x18];         // Structure Type 3 String 2
56   CHAR8 ChassisSerialNumber[0x20];    // Structure Type 3 String 3
57   CHAR8 ChassisAssetTag[0x20];        // Structure Type 3 String 4
58   UINT8 MfgAccessKeyWorkspace;
59 
60   UINT8 ChecksumFixupPool[0xd];       // Checksum Fix-ups
61   UINT8 SwitchboardData[4];           // 32 switch switchboard
62   UINT8 IntelReserved;                // Reserved for Future Use
63 } DMI_DATA;
64 
65 #define DMI_DATA_GUID \
66   { \
67     0x70e56c5e, 0x280c, 0x44b0, 0xa4, 0x97, 0x09, 0x68, 0x1a, 0xbc, 0x37, 0x5e \
68   }
69 
70 #define DMI_DATA_NAME       (L"DmiData")
71 #define ASCII_DMI_DATA_NAME ("DmiData")
72 
73 extern EFI_GUID gDmiDataGuid;
74 extern CHAR16   gDmiDataName[];
75 
76 //
77 // UUID - universally unique system id.
78 //
79 #define UUID_VARIABLE_GUID \
80   { \
81     0xd357c710, 0x0ada, 0x4717, 0x8d, 0xba, 0xc6, 0xad, 0xc7, 0xcd, 0x2b, 0x2a \
82   }
83 
84 #define UUID_VARIABLE_NAME        (L"UUID")
85 #define ASCII_UUID_VARIABLE_NAME  ("UUID")
86 
87 //
88 // UUID data
89 //
90 typedef struct {
91   UINT32        UuidHigh;
92   UINT32        UuidLow;
93 } SYSTEM_1394_UUID;
94 
95 typedef struct {
96   EFI_GUID          SystemUuid;                   // System Unique ID
97   SYSTEM_1394_UUID  System1394Uuid;               // Onboard 1394 UUID
98 } UUID_DATA;
99 
100 extern EFI_GUID gUuidVariableGuid;
101 extern CHAR16   gUuidVariableName[];
102 
103 //
104 // MB32GUID for Computrace.
105 //
106 
107 #define               MB32_GUID \
108   { 0x539D62BA, 0xDE35, 0x453E, 0xBA, 0xB0, 0x85, 0xDB, 0x8D, 0xA2, 0x42, 0xF9 }
109 
110 #define MB32_VARIABLE_NAME (L"MB32")
111 #define ASCII_MB32_VARIABLE_NAME ("MB32")
112 
113 extern EFI_GUID gMb32Guid;
114 extern CHAR16   gMb32VariableName[];
115 
116 //
117 // ACPI OSFR Manufacturer String.
118 //
119 // {72234213-0FD7-48a1-A59F-B41BC107FBCD}
120 //
121 #define  ACPI_OSFR_MFG_STRING_VARIABLE_GUID \
122   {0x72234213, 0xfd7, 0x48a1, 0xa5, 0x9f, 0xb4, 0x1b, 0xc1, 0x7, 0xfb, 0xcd}
123 #define ACPI_OSFR_MFG_STRING_VARIABLE_NAME (L"OcurMfg")
124 #define ASCII_ACPI_OSFR_MF_STRING_VARIABLE_NAME ("OcurMfg")
125 
126 extern EFI_GUID gACPIOSFRMfgStringVariableGuid;
127 
128 
129 //
130 // ACPI OSFR Model String.
131 //
132 // {72234213-0FD7-48a1-A59F-B41BC107FBCD}
133 //
134 #define  ACPI_OSFR_MODEL_STRING_VARIABLE_GUID \
135   {0x72234213, 0xfd7, 0x48a1, 0xa5, 0x9f, 0xb4, 0x1b, 0xc1, 0x7, 0xfb, 0xcd}
136 #define ACPI_OSFR_MODEL_STRING_VARIABLE_NAME (L"OcurModel")
137 #define ASCII_ACPI_OSFR_MODEL_STRING_VARIABLE_NAME ("OcurModel")
138 
139 extern EFI_GUID gACPIOSFRModelStringVariableGuid;
140 
141 //
142 // ACPI OSFR Reference Data Block.
143 //
144 // {72234213-0FD7-48a1-A59F-B41BC107FBCD}
145 //
146 #define  ACPI_OSFR_REF_DATA_BLOCK_VARIABLE_GUID \
147   {0x72234213, 0xfd7, 0x48a1, 0xa5, 0x9f, 0xb4, 0x1b, 0xc1, 0x7, 0xfb, 0xcd}
148 #define ACPI_OSFR_REF_DATA_BLOCK_VARIABLE_NAME (L"OcurRef")
149 #define ASCII_ACPI_OSFR_REF_DATA_BLOCK_VARIABLE_NAME ("OcurRef")
150 extern EFI_GUID gACPIOSFRRefDataBlockVariableGuid;
151 
152 //
153 // Manufacturing mode GUID
154 //
155 #define MfgMode_GUID \
156   { 0xEF14FD78, 0x0793, 0x4e2b, 0xAC, 0x6D, 0x06, 0x28, 0x47, 0xE0, 0x17, 0x91 }
157 
158 #define MFGMODE_VARIABLE_NAME (L"MfgMode")
159 #define ASCII_MFGMODE_VARIABLE_NAME ("MfgMode")
160 
161 typedef struct {
162 	UINT8 MfgModeData;
163 } MFG_MODE_VAR;
164 
165 extern EFI_GUID gMfgModeVariableGuid;
166 extern CHAR16   gMfgModeVariableName[];
167 
168 #pragma pack()
169 
170 #endif
171