OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
OcConfigurationLib.h
Go to the documentation of this file.
1
15#ifndef OC_CONFIGURATION_LIB_H
16#define OC_CONFIGURATION_LIB_H
17
18#include <Library/DebugLib.h>
21
29#define OC_ACPI_ADD_ENTRY_FIELDS(_, __) \
30 _(BOOLEAN , Enabled , , FALSE , () ) \
31 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
32 _(OC_STRING , Path , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) )
33OC_DECLARE (OC_ACPI_ADD_ENTRY)
34
35#define OC_ACPI_ADD_ARRAY_FIELDS(_, __) \
36 OC_ARRAY (OC_ACPI_ADD_ENTRY, _, __)
37OC_DECLARE (OC_ACPI_ADD_ARRAY)
38
39
42#define OC_ACPI_DELETE_ENTRY_FIELDS(_, __) \
43 _(BOOLEAN , All , , FALSE , () ) \
44 _(BOOLEAN , Enabled , , FALSE , () ) \
45 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
46 _(UINT8 , OemTableId , [8] , {0} , () ) \
47 _(UINT32 , TableLength , , 0 , () ) \
48 _(UINT8 , TableSignature , [4] , {0} , () )
49OC_DECLARE (OC_ACPI_DELETE_ENTRY)
50
51#define OC_ACPI_DELETE_ARRAY_FIELDS(_, __) \
52 OC_ARRAY (OC_ACPI_DELETE_ENTRY, _, __)
53OC_DECLARE (OC_ACPI_DELETE_ARRAY)
54
55
58#define OC_ACPI_PATCH_ENTRY_FIELDS(_, __) \
59 _(UINT32 , Count , , 0 , () ) \
60 _(BOOLEAN , Enabled , , FALSE , () ) \
61 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
62 _(OC_DATA , Find , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
63 _(OC_STRING , Base , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
64 _(UINT32 , BaseSkip , , 0 , () ) \
65 _(UINT32 , Limit , , 0 , () ) \
66 _(OC_DATA , Mask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
67 _(OC_DATA , Replace , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
68 _(OC_DATA , ReplaceMask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
69 _(UINT8 , OemTableId , [8] , {0} , () ) \
70 _(UINT32 , TableLength , , 0 , () ) \
71 _(UINT8 , TableSignature , [4] , {0} , () ) \
72 _(UINT32 , Skip , , 0 , () )
73OC_DECLARE (OC_ACPI_PATCH_ENTRY)
74
75#define OC_ACPI_PATCH_ARRAY_FIELDS(_, __) \
76 OC_ARRAY (OC_ACPI_PATCH_ENTRY, _, __)
77OC_DECLARE (OC_ACPI_PATCH_ARRAY)
78
79
82#define OC_ACPI_QUIRKS_FIELDS(_, __) \
83 _(BOOLEAN , FadtEnableReset , , FALSE , ()) \
84 _(BOOLEAN , NormalizeHeaders , , FALSE , ()) \
85 _(BOOLEAN , RebaseRegions , , FALSE , ()) \
86 _(BOOLEAN , ResetHwSig , , FALSE , ()) \
87 _(BOOLEAN , ResetLogoStatus , , FALSE , ()) \
88 _(BOOLEAN , SyncTableIds , , FALSE , ())
89OC_DECLARE (OC_ACPI_QUIRKS)
90
91#define OC_ACPI_CONFIG_FIELDS(_, __) \
92 _(OC_ACPI_ADD_ARRAY , Add , , OC_CONSTR2 (OC_ACPI_ADD_ARRAY, _, __) , OC_DESTR (OC_ACPI_ADD_ARRAY)) \
93 _(OC_ACPI_DELETE_ARRAY , Delete , , OC_CONSTR2 (OC_ACPI_DELETE_ARRAY, _, __) , OC_DESTR (OC_ACPI_DELETE_ARRAY)) \
94 _(OC_ACPI_PATCH_ARRAY , Patch , , OC_CONSTR2 (OC_ACPI_PATCH_ARRAY, _, __) , OC_DESTR (OC_ACPI_PATCH_ARRAY)) \
95 _(OC_ACPI_QUIRKS , Quirks , , OC_CONSTR2 (OC_ACPI_QUIRKS, _, __) , OC_DESTR (OC_ACPI_QUIRKS))
96OC_DECLARE (OC_ACPI_CONFIG)
97
98
102#define OC_BOOTER_WL_ENTRY_FIELDS(_, __) \
103 _(UINT64 , Address , , 0 , () ) \
104 _(BOOLEAN , Enabled , , FALSE , () ) \
105 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) )
106OC_DECLARE (OC_BOOTER_WL_ENTRY)
107
108#define OC_BOOTER_WL_ARRAY_FIELDS(_, __) \
109 OC_ARRAY (OC_BOOTER_WL_ENTRY, _, __)
110OC_DECLARE (OC_BOOTER_WL_ARRAY)
111
112
115#define OC_BOOTER_PATCH_ENTRY_FIELDS(_, __) \
116 _(OC_STRING , Arch , , OC_STRING_CONSTR ("Any", _, __), OC_DESTR (OC_STRING) ) \
117 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
118 _(UINT32 , Count , , 0 , () ) \
119 _(BOOLEAN , Enabled , , FALSE , () ) \
120 _(OC_DATA , Find , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
121 _(OC_STRING , Identifier , , OC_STRING_CONSTR ("Any", _, __), OC_DESTR (OC_STRING) ) \
122 _(OC_DATA , Mask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
123 _(OC_DATA , Replace , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
124 _(OC_DATA , ReplaceMask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
125 _(UINT32 , Limit , , 0 , () ) \
126 _(UINT32 , Skip , , 0 , () )
127OC_DECLARE (OC_BOOTER_PATCH_ENTRY)
128
129#define OC_BOOTER_PATCH_ARRAY_FIELDS(_, __) \
130 OC_ARRAY (OC_BOOTER_PATCH_ENTRY, _, __)
131OC_DECLARE (OC_BOOTER_PATCH_ARRAY)
132
133
136#define OC_BOOTER_QUIRKS_FIELDS(_, __) \
137 _(BOOLEAN , AllowRelocationBlock , , FALSE , ()) \
138 _(BOOLEAN , AvoidRuntimeDefrag , , FALSE , ()) \
139 _(BOOLEAN , ClearTaskSwitchBit , , FALSE , ()) \
140 _(BOOLEAN , DevirtualiseMmio , , FALSE , ()) \
141 _(BOOLEAN , DisableSingleUser , , FALSE , ()) \
142 _(BOOLEAN , DisableVariableWrite , , FALSE , ()) \
143 _(BOOLEAN , DiscardHibernateMap , , FALSE , ()) \
144 _(BOOLEAN , EnableSafeModeSlide , , FALSE , ()) \
145 _(BOOLEAN , EnableWriteUnprotector , , FALSE , ()) \
146 _(BOOLEAN , FixupAppleEfiImages , , FALSE , ()) \
147 _(BOOLEAN , ForceBooterSignature , , FALSE , ()) \
148 _(BOOLEAN , ForceExitBootServices , , FALSE , ()) \
149 _(BOOLEAN , ProtectMemoryRegions , , FALSE , ()) \
150 _(BOOLEAN , ProtectSecureBoot , , FALSE , ()) \
151 _(BOOLEAN , ProtectUefiServices , , FALSE , ()) \
152 _(BOOLEAN , ProvideCustomSlide , , FALSE , ()) \
153 _(UINT8 , ProvideMaxSlide , , 0 , ()) \
154 _(BOOLEAN , RebuildAppleMemoryMap , , FALSE , ()) \
155 _(INT8 , ResizeAppleGpuBars , , -1 , ()) \
156 _(BOOLEAN , SetupVirtualMap , , FALSE , ()) \
157 _(BOOLEAN , SignalAppleOS , , FALSE , ()) \
158 _(BOOLEAN , SyncRuntimePermissions , , FALSE , ())
159OC_DECLARE (OC_BOOTER_QUIRKS)
160
161
164#define OC_BOOTER_CONFIG_FIELDS(_, __) \
165 _(OC_BOOTER_WL_ARRAY , MmioWhitelist , , OC_CONSTR2 (OC_BOOTER_WL_ARRAY, _, __) , OC_DESTR (OC_BOOTER_WL_ARRAY)) \
166 _(OC_BOOTER_PATCH_ARRAY , Patch , , OC_CONSTR2 (OC_BOOTER_PATCH_ARRAY, _, __) , OC_DESTR (OC_BOOTER_PATCH_ARRAY)) \
167 _(OC_BOOTER_QUIRKS , Quirks , , OC_CONSTR2 (OC_BOOTER_QUIRKS, _, __) , OC_DESTR (OC_BOOTER_QUIRKS))
168OC_DECLARE (OC_BOOTER_CONFIG)
169
170
177#define OC_DEV_PROP_ADD_MAP_FIELDS(_, __) \
178 OC_MAP (OC_STRING, OC_ASSOC, _, __)
179OC_DECLARE (OC_DEV_PROP_ADD_MAP)
180
181#define OC_DEV_PROP_DELETE_ENTRY_FIELDS(_, __) \
182 OC_ARRAY (OC_STRING, _, __)
183OC_DECLARE (OC_DEV_PROP_DELETE_ENTRY)
184
185#define OC_DEV_PROP_DELETE_MAP_FIELDS(_, __) \
186 OC_MAP (OC_STRING, OC_DEV_PROP_DELETE_ENTRY, _, __)
187OC_DECLARE (OC_DEV_PROP_DELETE_MAP)
188
189#define OC_DEV_PROP_CONFIG_FIELDS(_, __) \
190 _(OC_DEV_PROP_ADD_MAP , Add , , OC_CONSTR2 (OC_DEV_PROP_ADD_MAP, _, __) , OC_DESTR (OC_DEV_PROP_ADD_MAP)) \
191 _(OC_DEV_PROP_DELETE_MAP , Delete , , OC_CONSTR2 (OC_DEV_PROP_DELETE_MAP, _, __) , OC_DESTR (OC_DEV_PROP_DELETE_MAP))
192OC_DECLARE (OC_DEV_PROP_CONFIG)
193
194
201#define OC_KERNEL_ADD_ENTRY_FIELDS(_, __) \
202 _(BOOLEAN , Enabled , , FALSE , () ) \
203 _(OC_STRING , Arch , , OC_STRING_CONSTR ("Any", _, __) , OC_DESTR (OC_STRING) ) \
204 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
205 _(OC_STRING , MaxKernel , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
206 _(OC_STRING , MinKernel , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
207 _(OC_STRING , Identifier , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
208 _(OC_STRING , BundlePath , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
209 _(OC_STRING , ExecutablePath , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
210 _(OC_STRING , PlistPath , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
211 _(UINT8 * , ImageData , , NULL , OcFreePointer ) \
212 _(UINT32 , ImageDataSize , , 0 , () ) \
213 _(CHAR8 * , PlistData , , NULL , OcFreePointer ) \
214 _(UINT32 , PlistDataSize , , 0 , () )
215OC_DECLARE (OC_KERNEL_ADD_ENTRY)
216
217#define OC_KERNEL_ADD_ARRAY_FIELDS(_, __) \
218 OC_ARRAY (OC_KERNEL_ADD_ENTRY, _, __)
219OC_DECLARE (OC_KERNEL_ADD_ARRAY)
220
221
224#define OC_KERNEL_BLOCK_ENTRY_FIELDS(_, __) \
225 _(BOOLEAN , Enabled , , FALSE , () ) \
226 _(OC_STRING , Arch , , OC_STRING_CONSTR ("Any", _, __) , OC_DESTR (OC_STRING) ) \
227 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
228 _(OC_STRING , Identifier , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
229 _(OC_STRING , MaxKernel , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
230 _(OC_STRING , MinKernel , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
231 _(OC_STRING , Strategy , , OC_STRING_CONSTR ("Disable", _, __) , OC_DESTR (OC_STRING) )
232OC_DECLARE (OC_KERNEL_BLOCK_ENTRY)
233
234#define OC_KERNEL_BLOCK_ARRAY_FIELDS(_, __) \
235 OC_ARRAY (OC_KERNEL_BLOCK_ENTRY, _, __)
236OC_DECLARE (OC_KERNEL_BLOCK_ARRAY)
237
238
241#define OC_KERNEL_EMULATE_FIELDS(_, __) \
242 _(UINT32 , Cpuid1Data , [4] , {0} , () ) \
243 _(UINT32 , Cpuid1Mask , [4] , {0} , () ) \
244 _(BOOLEAN , DummyPowerManagement, , FALSE , () ) \
245 _(OC_STRING , MaxKernel , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
246 _(OC_STRING , MinKernel , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) )
247OC_DECLARE (OC_KERNEL_EMULATE)
248
249
252#define OC_KERNEL_FORCE_ARRAY_FIELDS(_, __) \
253 OC_ARRAY (OC_KERNEL_ADD_ENTRY, _, __)
254OC_DECLARE (OC_KERNEL_FORCE_ARRAY)
255
256
259#define OC_KERNEL_PATCH_ENTRY_FIELDS(_, __) \
260 _(OC_STRING , Arch , , OC_STRING_CONSTR ("Any", _, __), OC_DESTR (OC_STRING) ) \
261 _(OC_STRING , Base , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
262 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
263 _(UINT32 , Count , , 0 , () ) \
264 _(BOOLEAN , Enabled , , FALSE , () ) \
265 _(OC_DATA , Find , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
266 _(OC_STRING , Identifier , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
267 _(OC_DATA , Mask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
268 _(OC_STRING , MaxKernel , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
269 _(OC_STRING , MinKernel , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
270 _(OC_DATA , Replace , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
271 _(OC_DATA , ReplaceMask , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA) ) \
272 _(UINT32 , Limit , , 0 , () ) \
273 _(UINT32 , Skip , , 0 , () )
274OC_DECLARE (OC_KERNEL_PATCH_ENTRY)
275
276#define OC_KERNEL_PATCH_ARRAY_FIELDS(_, __) \
277 OC_ARRAY (OC_KERNEL_PATCH_ENTRY, _, __)
278OC_DECLARE (OC_KERNEL_PATCH_ARRAY)
279
280
283#define OC_KERNEL_QUIRKS_FIELDS(_, __) \
284 _(INT64 , SetApfsTrimTimeout , , -1 , ()) \
285 _(BOOLEAN , AppleCpuPmCfgLock , , FALSE , ()) \
286 _(BOOLEAN , AppleXcpmCfgLock , , FALSE , ()) \
287 _(BOOLEAN , AppleXcpmExtraMsrs , , FALSE , ()) \
288 _(BOOLEAN , AppleXcpmForceBoost , , FALSE , ()) \
289 _(BOOLEAN , CustomPciSerialDevice , , FALSE , ()) \
290 _(BOOLEAN , CustomSmbiosGuid , , FALSE , ()) \
291 _(BOOLEAN , DisableIoMapper , , FALSE , ()) \
292 _(BOOLEAN , DisableIoMapperMapping , , FALSE , ()) \
293 _(BOOLEAN , DisableLinkeditJettison , , FALSE , ()) \
294 _(BOOLEAN , DisableRtcChecksum , , FALSE , ()) \
295 _(BOOLEAN , ExtendBTFeatureFlags , , FALSE , ()) \
296 _(BOOLEAN , ExternalDiskIcons , , FALSE , ()) \
297 _(BOOLEAN , ForceAquantiaEthernet , , FALSE , ()) \
298 _(BOOLEAN , ForceSecureBootScheme , , FALSE , ()) \
299 _(BOOLEAN , IncreasePciBarSize , , FALSE , ()) \
300 _(BOOLEAN , LapicKernelPanic , , FALSE , ()) \
301 _(BOOLEAN , LegacyCommpage , , FALSE , ()) \
302 _(BOOLEAN , PanicNoKextDump , , FALSE , ()) \
303 _(BOOLEAN , PowerTimeoutKernelPanic , , FALSE , ()) \
304 _(BOOLEAN , ProvideCurrentCpuInfo , , FALSE , ()) \
305 _(BOOLEAN , ThirdPartyDrives , , FALSE , ()) \
306 _(BOOLEAN , XhciPortLimit , , FALSE , ())
307OC_DECLARE (OC_KERNEL_QUIRKS)
308
309
312#define OC_KERNEL_SCHEME_FIELDS(_, __) \
313 _(OC_STRING , KernelArch , , OC_STRING_CONSTR ("Auto", _, __), OC_DESTR (OC_STRING)) \
314 _(OC_STRING , KernelCache , , OC_STRING_CONSTR ("Auto", _, __), OC_DESTR (OC_STRING)) \
315 _(BOOLEAN , CustomKernel , , FALSE , ()) \
316 _(BOOLEAN , FuzzyMatch , , FALSE , ())
317OC_DECLARE (OC_KERNEL_SCHEME)
318
319#define OC_KERNEL_CONFIG_FIELDS(_, __) \
320 _(OC_KERNEL_ADD_ARRAY , Add , , OC_CONSTR2 (OC_KERNEL_ADD_ARRAY, _, __) , OC_DESTR (OC_KERNEL_ADD_ARRAY)) \
321 _(OC_KERNEL_BLOCK_ARRAY , Block , , OC_CONSTR2 (OC_KERNEL_BLOCK_ARRAY, _, __) , OC_DESTR (OC_KERNEL_BLOCK_ARRAY)) \
322 _(OC_KERNEL_EMULATE , Emulate , , OC_CONSTR2 (OC_KERNEL_EMULATE, _, __) , OC_DESTR (OC_KERNEL_EMULATE)) \
323 _(OC_KERNEL_FORCE_ARRAY , Force , , OC_CONSTR2 (OC_KERNEL_FORCE_ARRAY, _, __) , OC_DESTR (OC_KERNEL_FORCE_ARRAY)) \
324 _(OC_KERNEL_PATCH_ARRAY , Patch , , OC_CONSTR2 (OC_KERNEL_PATCH_ARRAY, _, __) , OC_DESTR (OC_KERNEL_PATCH_ARRAY)) \
325 _(OC_KERNEL_QUIRKS , Quirks , , OC_CONSTR2 (OC_KERNEL_QUIRKS, _, __) , OC_DESTR (OC_KERNEL_QUIRKS)) \
326 _(OC_KERNEL_SCHEME , Scheme , , OC_CONSTR2 (OC_KERNEL_SCHEME, _, __) , OC_DESTR (OC_KERNEL_SCHEME))
327OC_DECLARE (OC_KERNEL_CONFIG)
328
329
333#define OC_MISC_BLESS_ARRAY_FIELDS(_, __) \
334 OC_ARRAY (OC_STRING, _, __)
335OC_DECLARE (OC_MISC_BLESS_ARRAY)
336
337#define OC_MISC_BOOT_FIELDS(_, __) \
338 _(OC_STRING , PickerMode , , OC_STRING_CONSTR ("Builtin", _, __) , OC_DESTR (OC_STRING)) \
339 _(OC_STRING , HibernateMode , , OC_STRING_CONSTR ("None", _, __) , OC_DESTR (OC_STRING)) \
340 _(OC_STRING , InstanceIdentifier , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING)) \
341 _(OC_STRING , LauncherOption , , OC_STRING_CONSTR ("Disabled", _, __), OC_DESTR (OC_STRING) ) \
342 _(OC_STRING , LauncherPath , , OC_STRING_CONSTR ("Default", _, __) , OC_DESTR (OC_STRING) ) \
343 _(UINT32 , ConsoleAttributes , , 0 , ()) \
344 _(UINT32 , PickerAttributes , , 0 , ()) \
345 _(OC_STRING , PickerVariant , , OC_STRING_CONSTR ("Auto", _, __) , OC_DESTR (OC_STRING)) \
346 _(UINT32 , TakeoffDelay , , 0 , ()) \
347 _(UINT32 , Timeout , , 0 , ()) \
348 _(BOOLEAN , PickerAudioAssist , , FALSE , ()) \
349 _(BOOLEAN , HibernateSkipsPicker , , FALSE , ()) \
350 _(BOOLEAN , HideAuxiliary , , FALSE , ()) \
351 _(BOOLEAN , PollAppleHotKeys , , FALSE , ()) \
352 _(BOOLEAN , ShowPicker , , FALSE , ())
353OC_DECLARE (OC_MISC_BOOT)
354
355#define OC_MISC_DEBUG_FIELDS(_, __) \
356 _(UINT64 , DisplayLevel , , 0 , ()) \
357 _(UINT32 , DisplayDelay , , 0 , ()) \
358 _(UINT32 , Target , , 0 , ()) \
359 _(BOOLEAN , AppleDebug , , FALSE , ()) \
360 _(BOOLEAN , ApplePanic , , FALSE , ()) \
361 _(BOOLEAN , DisableWatchDog , , FALSE , ()) \
362 _(BOOLEAN , SysReport , , FALSE , ()) \
363 _(OC_STRING , LogModules , , OC_STRING_CONSTR ("*", _, __) , OC_DESTR (OC_STRING))
364OC_DECLARE (OC_MISC_DEBUG)
365
366#define OCS_EXPOSE_BOOT_PATH 1U
367#define OCS_EXPOSE_VERSION_VAR 2U
368#define OCS_EXPOSE_VERSION_UI 4U
369#define OCS_EXPOSE_OEM_INFO 8U
370#define OCS_EXPOSE_VERSION (OCS_EXPOSE_VERSION_VAR | OCS_EXPOSE_VERSION_UI)
371#define OCS_EXPOSE_ALL_BITS (\
372 OCS_EXPOSE_BOOT_PATH | OCS_EXPOSE_VERSION_VAR | \
373 OCS_EXPOSE_VERSION_UI | OCS_EXPOSE_OEM_INFO)
374
380
381#define OC_MISC_SECURITY_FIELDS(_, __) \
382 _(OC_STRING , Vault , , OC_STRING_CONSTR ("Secure", _, __), OC_DESTR (OC_STRING) ) \
383 _(OC_STRING , DmgLoading , , OC_STRING_CONSTR ("Signed", _, __), OC_DESTR (OC_STRING) ) \
384 _(UINT32 , ScanPolicy , , OC_SCAN_DEFAULT_POLICY , ()) \
385 _(UINT32 , ExposeSensitiveData , , OCS_EXPOSE_VERSION , ()) \
386 _(BOOLEAN , AllowSetDefault , , FALSE , ()) \
387 _(BOOLEAN , AuthRestart , , FALSE , ()) \
388 _(BOOLEAN , BlacklistAppleUpdate , , FALSE , ()) \
389 _(BOOLEAN , EnablePassword , , FALSE , ()) \
390 _(UINT8 , PasswordHash , [64] , {0} , ()) \
391 _(OC_DATA , PasswordSalt , , OC_EDATA_CONSTR (_, __) , OC_DESTR (OC_DATA)) \
392 _(OC_STRING , SecureBootModel , , OC_STRING_CONSTR ("Default", _, __), OC_DESTR (OC_STRING) ) \
393 _(UINT64 , ApECID , , 0 , ()) \
394 _(UINT64 , HaltLevel , , 0x80000000 , ())
395OC_DECLARE (OC_MISC_SECURITY)
396
397#define OC_MISC_TOOLS_ENTRY_FIELDS(_, __) \
398 _(OC_STRING , Arguments , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
399 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
400 _(OC_STRING , Flavour , , OC_STRING_CONSTR ("Auto", _, __), OC_DESTR (OC_STRING) ) \
401 _(BOOLEAN , Auxiliary , , FALSE , () ) \
402 _(BOOLEAN , Enabled , , FALSE , () ) \
403 _(BOOLEAN , FullNvramAccess , , FALSE , () ) \
404 _(BOOLEAN , RealPath , , FALSE , () ) \
405 _(BOOLEAN , TextMode , , FALSE , () ) \
406 _(OC_STRING , Name , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) ) \
407 _(OC_STRING , Path , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) )
408OC_DECLARE (OC_MISC_TOOLS_ENTRY)
409
410#define OC_MISC_TOOLS_ARRAY_FIELDS(_, __) \
411 OC_ARRAY (OC_MISC_TOOLS_ENTRY, _, __)
412OC_DECLARE (OC_MISC_TOOLS_ARRAY)
413
414
418#define OC_SERIAL_PCI_DEVICE_INFO_MAX_SIZE 41U
419
425#define OC_MISC_SERIAL_CUSTOM_FIELDS(_, __) \
426 _(UINT32 , BaudRate , , 115200 , ()) \
427 _(UINT32 , ClockRate , , 1843200 , ()) \
428 _(BOOLEAN , DetectCable , , FALSE , ()) \
429 _(UINT32 , ExtendedTxFifoSize , , 64 , ()) \
430 _(UINT8 , FifoControl , , 7 , ()) \
431 _(UINT8 , LineControl , , 3 , ()) \
432 _(OC_DATA , PciDeviceInfo , , OC_DATA_CONSTR ({0xFF}, _, __) , OC_DESTR (OC_DATA)) \
433 _(UINT8 , RegisterAccessWidth , , 8 , ()) \
434 _(UINT64 , RegisterBase , , 0x03F8 , ()) \
435 _(UINT32 , RegisterStride , , 1 , ()) \
436 _(BOOLEAN , UseHardwareFlowControl , , FALSE , ()) \
437 _(BOOLEAN , UseMmio , , FALSE , ())
438OC_DECLARE (OC_MISC_SERIAL_CUSTOM)
439
440#define OC_MISC_SERIAL_FIELDS(_, __) \
441 _(OC_MISC_SERIAL_CUSTOM , Custom , , OC_CONSTR3 (OC_MISC_SERIAL_CUSTOM, _, __) , OC_DESTR (OC_MISC_SERIAL_CUSTOM)) \
442 _(BOOLEAN , Init , , FALSE , ()) \
443 _(BOOLEAN , Override , , FALSE , ())
444OC_DECLARE (OC_MISC_SERIAL)
445
446#define OC_MISC_CONFIG_FIELDS(_, __) \
447 _(OC_MISC_BLESS_ARRAY , BlessOverride , , OC_CONSTR2 (OC_MISC_BLESS_ARRAY, _, __) , OC_DESTR (OC_MISC_BLESS_ARRAY)) \
448 _(OC_MISC_BOOT , Boot , , OC_CONSTR2 (OC_MISC_BOOT, _, __) , OC_DESTR (OC_MISC_BOOT)) \
449 _(OC_MISC_DEBUG , Debug , , OC_CONSTR2 (OC_MISC_DEBUG, _, __) , OC_DESTR (OC_MISC_DEBUG)) \
450 _(OC_MISC_SECURITY , Security , , OC_CONSTR2 (OC_MISC_SECURITY, _, __) , OC_DESTR (OC_MISC_SECURITY)) \
451 _(OC_MISC_SERIAL , Serial , , OC_CONSTR2 (OC_MISC_SERIAL, _, __) , OC_DESTR (OC_MISC_SERIAL)) \
452 _(OC_MISC_TOOLS_ARRAY , Entries , , OC_CONSTR2 (OC_MISC_TOOLS_ARRAY, _, __) , OC_DESTR (OC_MISC_TOOLS_ARRAY)) \
453 _(OC_MISC_TOOLS_ARRAY , Tools , , OC_CONSTR2 (OC_MISC_TOOLS_ARRAY, _, __) , OC_DESTR (OC_MISC_TOOLS_ARRAY))
454OC_DECLARE (OC_MISC_CONFIG)
455
456
463#define OC_NVRAM_ADD_MAP_FIELDS(_, __) \
464 OC_MAP (OC_STRING, OC_ASSOC, _, __)
465OC_DECLARE (OC_NVRAM_ADD_MAP)
466
467#define OC_NVRAM_DELETE_ENTRY_FIELDS(_, __) \
468 OC_ARRAY (OC_STRING, _, __)
469OC_DECLARE (OC_NVRAM_DELETE_ENTRY)
470
471#define OC_NVRAM_DELETE_MAP_FIELDS(_, __) \
472 OC_MAP (OC_STRING, OC_NVRAM_DELETE_ENTRY, _, __)
473OC_DECLARE (OC_NVRAM_DELETE_MAP)
474
475#define OC_NVRAM_LEGACY_ENTRY_FIELDS(_, __) \
476 OC_ARRAY (OC_STRING, _, __)
477OC_DECLARE (OC_NVRAM_LEGACY_ENTRY)
478
479#define OC_NVRAM_LEGACY_MAP_FIELDS(_, __) \
480 OC_MAP (OC_STRING, OC_NVRAM_LEGACY_ENTRY, _, __)
481OC_DECLARE (OC_NVRAM_LEGACY_MAP)
482
483#define OC_NVRAM_CONFIG_FIELDS(_, __) \
484 _(OC_NVRAM_ADD_MAP , Add , , OC_CONSTR2 (OC_NVRAM_ADD_MAP, _, __) , OC_DESTR (OC_NVRAM_ADD_MAP)) \
485 _(OC_NVRAM_DELETE_MAP , Delete , , OC_CONSTR2 (OC_NVRAM_DELETE_MAP, _, __) , OC_DESTR (OC_NVRAM_DELETE_MAP)) \
486 _(OC_NVRAM_LEGACY_MAP , Legacy , , OC_CONSTR2 (OC_NVRAM_LEGACY_MAP, _, __) , OC_DESTR (OC_NVRAM_LEGACY_MAP)) \
487 _(BOOLEAN , LegacyOverwrite , , FALSE , () ) \
488 _(BOOLEAN , WriteFlash , , FALSE , () )
489OC_DECLARE (OC_NVRAM_CONFIG)
490
491
495#define OC_PLATFORM_GENERIC_CONFIG_FIELDS(_, __) \
496 _(OC_STRING , SystemProductName , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
497 _(OC_STRING , SystemSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
498 _(OC_STRING , SystemUuid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
499 _(OC_STRING , Mlb , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
500 _(OC_STRING , SystemMemoryStatus , , OC_STRING_CONSTR ("Auto", _, __) , OC_DESTR (OC_STRING) ) \
501 _(UINT16 , ProcessorType , , 0 , () ) \
502 _(UINT8 , Rom , [6] , {0} , () ) \
503 _(BOOLEAN , SpoofVendor , , FALSE , () ) \
504 _(BOOLEAN , AdviseFeatures , , FALSE , () ) \
505 _(BOOLEAN , MaxBIOSVersion , , FALSE , () )
506OC_DECLARE (OC_PLATFORM_GENERIC_CONFIG)
507
508#define OC_PLATFORM_DATA_HUB_CONFIG_FIELDS(_, __) \
509 _(OC_STRING , PlatformName , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
510 _(OC_STRING , SystemProductName , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
511 _(OC_STRING , SystemSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
512 _(OC_STRING , SystemUuid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
513 _(OC_STRING , BoardProduct , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
514 _(UINT8 , BoardRevision , [1] , {0} , () ) \
515 _(UINT64 , StartupPowerEvents , , 0 , () ) \
516 _(UINT64 , InitialTSC , , 0 , () ) \
517 _(UINT64 , FSBFrequency , , 0 , () ) \
518 _(UINT64 , ARTFrequency , , 0 , () ) \
519 _(UINT32 , DevicePathsSupported, , 0 , () ) \
520 _(UINT8 , SmcRevision , [6] , {0} , () ) \
521 _(UINT8 , SmcBranch , [8] , {0} , () ) \
522 _(UINT8 , SmcPlatform , [8] , {0} , () )
523OC_DECLARE (OC_PLATFORM_DATA_HUB_CONFIG)
524
525#define OC_PLATFORM_MEMORY_DEVICE_ENTRY_FIELDS(_, __) \
526 _(UINT32 , Size , , 0 , () ) \
527 _(UINT16 , Speed , , 0 , () ) \
528 _(OC_STRING , DeviceLocator , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) ) \
529 _(OC_STRING , BankLocator , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) ) \
530 _(OC_STRING , Manufacturer , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) ) \
531 _(OC_STRING , SerialNumber , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) ) \
532 _(OC_STRING , AssetTag , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) ) \
533 _(OC_STRING , PartNumber , , OC_STRING_CONSTR ("Unknown", _, __), OC_DESTR (OC_STRING) )
534OC_DECLARE (OC_PLATFORM_MEMORY_DEVICE_ENTRY)
535
536#define OC_PLATFORM_MEMORY_DEVICES_ARRAY_FIELDS(_, __) \
537 OC_ARRAY (OC_PLATFORM_MEMORY_DEVICE_ENTRY, _, __)
538OC_DECLARE (OC_PLATFORM_MEMORY_DEVICES_ARRAY)
539
540#define OC_PLATFORM_MEMORY_CONFIG_FIELDS(_, __) \
541 _(UINT8 , FormFactor , , 0x2 , () ) \
542 _(UINT8 , Type , , 0x2 , () ) \
543 _(UINT16 , TypeDetail , , 0x4 , () ) \
544 _(UINT16 , TotalWidth , , 0xFFFF , () ) \
545 _(UINT16 , DataWidth , , 0xFFFF , () ) \
546 _(UINT8 , ErrorCorrection, , 0x3 , () ) \
547 _(UINT64 , MaxCapacity , , 0 , () ) \
548 _(OC_PLATFORM_MEMORY_DEVICES_ARRAY, Devices , , OC_CONSTR3 (OC_PLATFORM_MEMORY_DEVICES_ARRAY, _, __), OC_DESTR (OC_PLATFORM_MEMORY_DEVICES_ARRAY))
549OC_DECLARE (OC_PLATFORM_MEMORY_CONFIG)
550
551#define OC_PLATFORM_NVRAM_CONFIG_FIELDS(_, __) \
552 _(OC_STRING , Bid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
553 _(OC_STRING , Mlb , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
554 _(OC_STRING , SystemSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
555 _(OC_STRING , SystemUuid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
556 _(UINT8 , Rom , [6] , {0} , () ) \
557 _(UINT64 , FirmwareFeatures , , 0 , () ) \
558 _(UINT64 , FirmwareFeaturesMask , , 0 , () )
559OC_DECLARE (OC_PLATFORM_NVRAM_CONFIG)
560
561#define OC_PLATFORM_SMBIOS_CONFIG_FIELDS(_, __) \
562 _(OC_STRING , BIOSVendor , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
563 _(OC_STRING , BIOSVersion , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
564 _(OC_STRING , BIOSReleaseDate , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
565 _(OC_STRING , SystemManufacturer , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
566 _(OC_STRING , SystemProductName , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
567 _(OC_STRING , SystemVersion , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
568 _(OC_STRING , SystemSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
569 _(OC_STRING , SystemUuid , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
570 _(OC_STRING , SystemSKUNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
571 _(OC_STRING , SystemFamily , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
572 _(OC_STRING , BoardManufacturer , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
573 _(OC_STRING , BoardProduct , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
574 _(OC_STRING , BoardVersion , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
575 _(OC_STRING , BoardSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
576 _(OC_STRING , BoardAssetTag , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
577 _(UINT8 , BoardType , , 0 , () ) \
578 _(OC_STRING , BoardLocationInChassis, , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
579 _(OC_STRING , ChassisManufacturer , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
580 _(UINT8 , ChassisType , , 0 , () ) \
581 _(OC_STRING , ChassisVersion , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
582 _(OC_STRING , ChassisSerialNumber , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
583 _(OC_STRING , ChassisAssetTag , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
584 _(UINT32 , PlatformFeature , , 0xFFFFFFFFU , () ) \
585 _(UINT64 , FirmwareFeatures , , 0 , () ) \
586 _(UINT64 , FirmwareFeaturesMask , , 0 , () ) \
587 _(UINT8 , SmcVersion , [16] , {0} , () ) \
588 _(UINT16 , ProcessorType , , 0 , () )
589OC_DECLARE (OC_PLATFORM_SMBIOS_CONFIG)
590
591#define OC_PLATFORM_CONFIG_FIELDS(_, __) \
592 _(BOOLEAN , Automatic , , FALSE , ()) \
593 _(BOOLEAN , CustomMemory , , FALSE , ()) \
594 _(BOOLEAN , UpdateDataHub , , FALSE , ()) \
595 _(BOOLEAN , UpdateNvram , , FALSE , ()) \
596 _(BOOLEAN , UpdateSmbios , , FALSE , ()) \
597 _(BOOLEAN , UseRawUuidEncoding , , FALSE , ()) \
598 _(OC_STRING , UpdateSmbiosMode , , OC_STRING_CONSTR ("Create", _, __) , OC_DESTR (OC_STRING) ) \
599 _(OC_PLATFORM_GENERIC_CONFIG , Generic , , OC_CONSTR2 (OC_PLATFORM_GENERIC_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_GENERIC_CONFIG)) \
600 _(OC_PLATFORM_DATA_HUB_CONFIG , DataHub , , OC_CONSTR2 (OC_PLATFORM_DATA_HUB_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_DATA_HUB_CONFIG)) \
601 _(OC_PLATFORM_MEMORY_CONFIG , Memory , , OC_CONSTR2 (OC_PLATFORM_MEMORY_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_MEMORY_CONFIG)) \
602 _(OC_PLATFORM_NVRAM_CONFIG , Nvram , , OC_CONSTR2 (OC_PLATFORM_NVRAM_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_NVRAM_CONFIG)) \
603 _(OC_PLATFORM_SMBIOS_CONFIG , Smbios , , OC_CONSTR2 (OC_PLATFORM_SMBIOS_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_SMBIOS_CONFIG))
604OC_DECLARE (OC_PLATFORM_CONFIG)
605
606
613#define OC_UEFI_UNLOAD_ARRAY_FIELDS(_, __) \
614 OC_ARRAY (OC_STRING, _, __)
615OC_DECLARE (OC_UEFI_UNLOAD_ARRAY)
616
617
620#define OC_UEFI_DRIVER_ENTRY_FIELDS(_, __) \
621 _(OC_STRING , Arguments , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
622 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
623 _(BOOLEAN , Enabled , , FALSE , ()) \
624 _(BOOLEAN , LoadEarly , , FALSE , ()) \
625 _(OC_STRING , Path , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) )
626OC_DECLARE (OC_UEFI_DRIVER_ENTRY)
627
628#define OC_UEFI_DRIVER_ARRAY_FIELDS(_, __) \
629 OC_ARRAY (OC_UEFI_DRIVER_ENTRY, _, __)
630OC_DECLARE (OC_UEFI_DRIVER_ARRAY)
631
632
635#define OC_UEFI_APFS_FIELDS(_, __) \
636 _(UINT64 , MinVersion , , 0 , ()) \
637 _(UINT32 , MinDate , , 0 , ()) \
638 _(BOOLEAN , EnableJumpstart , , FALSE , ()) \
639 _(BOOLEAN , GlobalConnect , , FALSE , ()) \
640 _(BOOLEAN , HideVerbose , , FALSE , ()) \
641 _(BOOLEAN , JumpstartHotPlug , , FALSE , ())
642OC_DECLARE (OC_UEFI_APFS)
643
644
647#define OC_UEFI_APPLEINPUT_FIELDS(_, __) \
648 _(OC_STRING , AppleEvent , , OC_STRING_CONSTR ("Auto", _, __) , OC_DESTR (OC_STRING) ) \
649 _(BOOLEAN , CustomDelays , , FALSE , ()) \
650 _(UINT16 , KeyInitialDelay , , 50 , ()) \
651 _(UINT16 , KeySubsequentDelay , , 5 , ()) \
652 _(BOOLEAN , GraphicsInputMirroring , , FALSE , ()) \
653 _(UINT32 , PointerPollMin , , 0 , ()) \
654 _(UINT32 , PointerPollMax , , 0 , ()) \
655 _(UINT32 , PointerPollMask , , ((UINT32) (-1)) , ()) \
656 _(UINT16 , PointerSpeedDiv , , 1 , ()) \
657 _(UINT16 , PointerSpeedMul , , 1 , ()) \
658 _(UINT16 , PointerDwellClickTimeout , , 0 , ()) \
659 _(UINT16 , PointerDwellDoubleClickTimeout, , 0 , ()) \
660 _(UINT16 , PointerDwellRadius , , 0 , ())
661OC_DECLARE (OC_UEFI_APPLEINPUT)
662
663
666#define OC_UEFI_AUDIO_FIELDS(_, __) \
667 _(OC_STRING , AudioDevice , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING)) \
668 _(OC_STRING , PlayChime , , OC_STRING_CONSTR ("Auto", _, __) , OC_DESTR (OC_STRING)) \
669 _(UINT32 , SetupDelay , , 0 , ()) \
670 _(BOOLEAN , AudioSupport , , FALSE , ()) \
671 _(UINT64 , AudioOutMask , , MAX_UINT64 , ()) \
672 _(UINT8 , AudioCodec , , 0 , ()) \
673 _(INT8 , MaximumGain , , -15 , ()) \
674 _(INT8 , MinimumAssistGain , , -30 , ()) \
675 _(INT8 , MinimumAudibleGain , , -128 , ()) \
676 _(BOOLEAN , ResetTrafficClass , , FALSE , ()) \
677 _(BOOLEAN , DisconnectHda , , FALSE , ())
678OC_DECLARE (OC_UEFI_AUDIO)
679
680
683#define OC_UEFI_INPUT_FIELDS(_, __) \
684 _(OC_STRING , KeySupportMode , , OC_STRING_CONSTR ("Auto", _, __) , OC_DESTR (OC_STRING)) \
685 _(OC_STRING , PointerSupportMode , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING)) \
686 _(UINT32 , TimerResolution , , 0 , ()) \
687 _(UINT8 , KeyForgetThreshold , , 0 , ()) \
688 _(BOOLEAN , KeySupport , , FALSE , ()) \
689 _(BOOLEAN , KeyFiltering , , FALSE , ()) \
690 _(BOOLEAN , KeySwap , , FALSE , ()) \
691 _(BOOLEAN , PointerSupport , , FALSE , ())
692OC_DECLARE (OC_UEFI_INPUT)
693
694
697#define OC_UEFI_OUTPUT_FIELDS(_, __) \
698 _(OC_STRING , ConsoleMode , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING)) \
699 _(OC_STRING , ConsoleFont , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING)) \
700 _(OC_STRING , Resolution , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING)) \
701 _(OC_STRING , InitialMode , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING)) \
702 _(OC_STRING , TextRenderer , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING)) \
703 _(OC_STRING , GopPassThrough , , OC_STRING_CONSTR ("Disabled", _, __), OC_DESTR (OC_STRING)) \
704 _(BOOLEAN , IgnoreTextInGraphics , , FALSE , ()) \
705 _(BOOLEAN , ClearScreenOnModeSwitch , , FALSE , ()) \
706 _(BOOLEAN , ProvideConsoleGop , , FALSE , ()) \
707 _(BOOLEAN , ReplaceTabWithSpace , , FALSE , ()) \
708 _(BOOLEAN , ReconnectOnResChange , , FALSE , ()) \
709 _(BOOLEAN , SanitiseClearScreen , , FALSE , ()) \
710 _(INT8 , UIScale , , -1 , ()) \
711 _(BOOLEAN , UgaPassThrough , , FALSE , ()) \
712 _(BOOLEAN , DirectGopRendering , , FALSE , ()) \
713 _(BOOLEAN , ForceResolution , , FALSE , ()) \
714 _(BOOLEAN , GopBurstMode , , FALSE , ()) \
715 _(BOOLEAN , ReconnectGraphicsOnConnect , , FALSE , ())
716OC_DECLARE (OC_UEFI_OUTPUT)
717
718
721#define OC_UEFI_PROTOCOL_OVERRIDES_FIELDS(_, __) \
722 _(BOOLEAN , AppleAudio , , FALSE , ()) \
723 _(BOOLEAN , AppleBootPolicy , , FALSE , ()) \
724 _(BOOLEAN , AppleDebugLog , , FALSE , ()) \
725 _(BOOLEAN , AppleEg2Info , , FALSE , ()) \
726 _(BOOLEAN , AppleFramebufferInfo , , FALSE , ()) \
727 _(BOOLEAN , AppleImageConversion , , FALSE , ()) \
728 _(BOOLEAN , AppleImg4Verification , , FALSE , ()) \
729 _(BOOLEAN , AppleKeyMap , , FALSE , ()) \
730 _(BOOLEAN , AppleRtcRam , , FALSE , ()) \
731 _(BOOLEAN , AppleSecureBoot , , FALSE , ()) \
732 _(BOOLEAN , AppleSmcIo , , FALSE , ()) \
733 _(BOOLEAN , AppleUserInterfaceTheme , , FALSE , ()) \
734 _(BOOLEAN , DataHub , , FALSE , ()) \
735 _(BOOLEAN , DeviceProperties , , FALSE , ()) \
736 _(BOOLEAN , FirmwareVolume , , FALSE , ()) \
737 _(BOOLEAN , HashServices , , FALSE , ()) \
738 _(BOOLEAN , OSInfo , , FALSE , ()) \
739 _(BOOLEAN , PciIo , , FALSE , ()) \
740 _(BOOLEAN , UnicodeCollation , , FALSE , ())
741OC_DECLARE (OC_UEFI_PROTOCOL_OVERRIDES)
742
743
746#define OC_UEFI_QUIRKS_FIELDS(_, __) \
747 _(UINT32 , ExitBootServicesDelay , , 0 , ()) \
748 _(UINT32 , TscSyncTimeout , , 0 , ()) \
749 _(BOOLEAN , ActivateHpetSupport , , FALSE , ()) \
750 _(BOOLEAN , DisableSecurityPolicy , , FALSE , ()) \
751 _(BOOLEAN , EnableVectorAcceleration , , FALSE , ()) \
752 _(BOOLEAN , EnableVmx , , FALSE , ()) \
753 _(BOOLEAN , ForgeUefiSupport , , FALSE , ()) \
754 _(BOOLEAN , IgnoreInvalidFlexRatio , , FALSE , ()) \
755 _(INT8 , ResizeGpuBars , , -1 , ()) \
756 _(BOOLEAN , ResizeUsePciRbIo , , FALSE , ()) \
757 _(BOOLEAN , ReleaseUsbOwnership , , FALSE , ()) \
758 _(BOOLEAN , ReloadOptionRoms , , FALSE , ()) \
759 _(BOOLEAN , RequestBootVarRouting , , FALSE , ()) \
760 _(BOOLEAN , ShimRetainProtocol , , FALSE , ()) \
761 _(BOOLEAN , UnblockFsConnect , , FALSE , ()) \
762 _(BOOLEAN , ForceOcWriteFlash , , FALSE , ())
763OC_DECLARE (OC_UEFI_QUIRKS)
764
765
768#define OC_UEFI_RSVD_ENTRY_FIELDS(_, __) \
769 _(UINT64 , Address , , 0 , () ) \
770 _(UINT64 , Size , , 0 , () ) \
771 _(BOOLEAN , Enabled , , FALSE , () ) \
772 _(OC_STRING , Type , , OC_STRING_CONSTR ("Reserved", _, __), OC_DESTR (OC_STRING) ) \
773 _(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __), OC_DESTR (OC_STRING) )
774OC_DECLARE (OC_UEFI_RSVD_ENTRY)
775
776#define OC_UEFI_RSVD_ARRAY_FIELDS(_, __) \
777 OC_ARRAY (OC_UEFI_RSVD_ENTRY, _, __)
778OC_DECLARE (OC_UEFI_RSVD_ARRAY)
779
780
783#define OC_UEFI_CONFIG_FIELDS(_, __) \
784 _(BOOLEAN , ConnectDrivers , , FALSE , ()) \
785 _(OC_UEFI_APFS , Apfs , , OC_CONSTR2 (OC_UEFI_APFS, _, __) , OC_DESTR (OC_UEFI_APFS)) \
786 _(OC_UEFI_APPLEINPUT , AppleInput , , OC_CONSTR2 (OC_UEFI_APPLEINPUT, _, __) , OC_DESTR (OC_UEFI_APPLEINPUT)) \
787 _(OC_UEFI_AUDIO , Audio , , OC_CONSTR2 (OC_UEFI_AUDIO, _, __) , OC_DESTR (OC_UEFI_AUDIO)) \
788 _(OC_UEFI_DRIVER_ARRAY , Drivers , , OC_CONSTR2 (OC_UEFI_DRIVER_ARRAY, _, __) , OC_DESTR (OC_UEFI_DRIVER_ARRAY)) \
789 _(OC_UEFI_INPUT , Input , , OC_CONSTR2 (OC_UEFI_INPUT, _, __) , OC_DESTR (OC_UEFI_INPUT)) \
790 _(OC_UEFI_OUTPUT , Output , , OC_CONSTR2 (OC_UEFI_OUTPUT, _, __) , OC_DESTR (OC_UEFI_OUTPUT)) \
791 _(OC_UEFI_PROTOCOL_OVERRIDES , ProtocolOverrides , , OC_CONSTR2 (OC_UEFI_PROTOCOL_OVERRIDES, _, __) , OC_DESTR (OC_UEFI_PROTOCOL_OVERRIDES)) \
792 _(OC_UEFI_QUIRKS , Quirks , , OC_CONSTR2 (OC_UEFI_QUIRKS, _, __) , OC_DESTR (OC_UEFI_QUIRKS)) \
793 _(OC_UEFI_RSVD_ARRAY , ReservedMemory , , OC_CONSTR2 (OC_UEFI_RSVD_ARRAY, _, __) , OC_DESTR (OC_UEFI_RSVD_ARRAY)) \
794 _(OC_UEFI_UNLOAD_ARRAY , Unload , , OC_CONSTR2 (OC_UEFI_UNLOAD_ARRAY, _, __) , OC_DESTR (OC_UEFI_UNLOAD_ARRAY))
795OC_DECLARE (OC_UEFI_CONFIG)
796
797
801#define OC_GLOBAL_CONFIG_FIELDS(_, __) \
802 _(OC_ACPI_CONFIG , Acpi , , OC_CONSTR1 (OC_ACPI_CONFIG, _, __) , OC_DESTR (OC_ACPI_CONFIG)) \
803 _(OC_BOOTER_CONFIG , Booter , , OC_CONSTR1 (OC_BOOTER_CONFIG, _, __) , OC_DESTR (OC_BOOTER_CONFIG)) \
804 _(OC_DEV_PROP_CONFIG , DeviceProperties , , OC_CONSTR1 (OC_DEV_PROP_CONFIG, _, __) , OC_DESTR (OC_DEV_PROP_CONFIG)) \
805 _(OC_KERNEL_CONFIG , Kernel , , OC_CONSTR1 (OC_KERNEL_CONFIG, _, __) , OC_DESTR (OC_KERNEL_CONFIG)) \
806 _(OC_MISC_CONFIG , Misc , , OC_CONSTR1 (OC_MISC_CONFIG, _, __) , OC_DESTR (OC_MISC_CONFIG)) \
807 _(OC_NVRAM_CONFIG , Nvram , , OC_CONSTR1 (OC_NVRAM_CONFIG, _, __) , OC_DESTR (OC_NVRAM_CONFIG)) \
808 _(OC_PLATFORM_CONFIG , PlatformInfo , , OC_CONSTR1 (OC_PLATFORM_CONFIG, _, __) , OC_DESTR (OC_PLATFORM_CONFIG)) \
809 _(OC_UEFI_CONFIG , Uefi , , OC_CONSTR1 (OC_UEFI_CONFIG, _, __) , OC_DESTR (OC_UEFI_CONFIG))
810OC_DECLARE (OC_GLOBAL_CONFIG)
811
812
822EFI_STATUS
824 OUT OC_GLOBAL_CONFIG *Config,
825 IN VOID *Buffer,
826 IN UINT32 Size,
827 IN OUT UINT32 *ErrorCount OPTIONAL
828 );
829
835VOID
837 IN OUT OC_GLOBAL_CONFIG *Config
838 );
839
840#endif // OC_CONFIGURATION_LIB_H
DMG_SIZE_DEVICE_PATH Size
@ OcsVaultOptional
@ OcsVaultBasic
@ OcsVaultSecure
VOID OcConfigurationFree(IN OUT OC_GLOBAL_CONFIG *Config)
EFI_STATUS OcConfigurationInit(OUT OC_GLOBAL_CONFIG *Config, IN VOID *Buffer, IN UINT32 Size, IN OUT UINT32 *ErrorCount OPTIONAL)
#define OC_DECLARE(Name)
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
Definition OcTypingLib.h:42