]> git.proxmox.com Git - mirror_edk2.git/blame - Vlv2TbltDevicePkg/PlatformDxe/PlatformDxe.h
BaseTools: Fix corner-cases of --hash feature
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformDxe / PlatformDxe.h
CommitLineData
3cbfba02
DW
1/*++\r
2\r
d71c25cf
DW
3 Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
4 \r
9dc8036d 5 SPDX-License-Identifier: BSD-2-Clause-Patent\r
d71c25cf 6 \r
3cbfba02
DW
7\r
8\r
9Module Name:\r
10\r
11 PlatformDxe.h\r
12\r
13Abstract:\r
14\r
15 Header file for Platform Initialization Driver.\r
16\r
17\r
18\r
19++*/\r
20\r
21#ifndef _PLATFORM_DRIVER_H\r
22#define _PLATFORM_DRIVER_H\r
23\r
24#include <PiDxe.h>\r
25#include <Library/BaseLib.h>\r
26#include <Library/DebugLib.h>\r
27#include <Library/UefiLib.h>\r
28#include <Library/UefiDriverEntryPoint.h>\r
29#include <Library/PcdLib.h>\r
30#include <Library/HobLib.h>\r
31#include <Library/MemoryAllocationLib.h>\r
32#include <Library/UefiBootServicesTableLib.h>\r
33#include <Library/BaseMemoryLib.h>\r
34#include <Library/UefiRuntimeServicesTableLib.h>\r
35#include <Library/IoLib.h>\r
36#include <Library/ReportStatusCodeLib.h>\r
37#include <Library/HobLib.h>\r
38#include <Library/EfiRegTableLib.h>\r
39#include <Library/Tpm2CommandLib.h>\r
40#include <Library/Tpm2DeviceLib.h>\r
41#include <Library/BaseCryptLib.h>\r
d71c25cf 42#include <Library/BiosIdLib.h>\r
3cbfba02
DW
43#include <Protocol/GlobalNvsArea.h>\r
44#include <Protocol/PciRootBridgeIo.h>\r
45#include <Protocol/IsaAcpi.h>\r
46#include <Framework/FrameworkInternalFormRepresentation.h>\r
47#include <Protocol/FrameworkHii.h>\r
48#include <Protocol/FrameworkFormCallback.h>\r
49#include <Protocol/CpuIo.h>\r
50#include <Protocol/BootScriptSave.h>\r
51#include <Framework/BootScript.h>\r
52#include <Guid/GlobalVariable.h>\r
53#include <Guid/BoardFeatures.h>\r
54#include <Guid/DataHubRecords.h>\r
55#include <Protocol/DataHub.h>\r
56#include <Protocol/PciIo.h>\r
57#include <Protocol/Speaker.h>\r
d71c25cf 58#include <Protocol/ExitPmAuth.h>\r
3cbfba02
DW
59#include <IndustryStandard/Pci22.h>\r
60#include <Guid/SetupVariable.h>\r
61#include <Guid/PlatformInfo.h>\r
62#include "Configuration.h"\r
63#define _EFI_H_ //skip efi.h\r
64#include "PchAccess.h"\r
65#include "VlvAccess.h"\r
66#include "BoardIdDecode.h"\r
67#include "PlatformBaseAddresses.h"\r
68#include "SetupMode.h"\r
69#include "PlatformBootMode.h"\r
70#include "CpuType.h"\r
71\r
72#define PCAT_RTC_ADDRESS_REGISTER 0x74\r
73#define PCAT_RTC_DATA_REGISTER 0x75\r
74\r
75#define RTC_ADDRESS_SECOND_ALARM 0x01\r
76#define RTC_ADDRESS_MINUTE_ALARM 0x03\r
77#define RTC_ADDRESS_HOUR_ALARM 0x05\r
78\r
79#define RTC_ADDRESS_REGISTER_A 0x0A\r
80#define RTC_ADDRESS_REGISTER_B 0x0B\r
81#define RTC_ADDRESS_REGISTER_C 0x0C\r
82#define RTC_ADDRESS_REGISTER_D 0x0D\r
83\r
84#define B_RTC_ALARM_INT_ENABLE 0x20\r
85#define B_RTC_ALARM_INT_STATUS 0x20\r
86\r
87#define B_RTC_DATE_ALARM_MASK 0x3F\r
88\r
89//\r
90// Default CPU Alternate Duty Cycle (255=100%, 0=0%)\r
91//\r
92#define DEF_CPU_ALT_DUTY_CYCLE 0xFF\r
93\r
94#define MAX_ONBOARD_SATA_DEVICE 2\r
95\r
96#define DXE_DEVICE_ENABLED 1\r
97#define DXE_DEVICE_DISABLED 0\r
98\r
99#define AZALIA_MAX_LOOP_TIME 0x10000\r
100\r
101//\r
102// Platform driver GUID\r
103//\r
104#define EFI_PLATFORM_DRIVER_GUID \\r
105 { 0x056E7324, 0xA718, 0x465b, 0x9A, 0x84, 0x22, 0x8F, 0x06, 0x64, 0x2B, 0x4F }\r
106\r
107#define PASSWORD_MAX_SIZE 20\r
108#define PLATFORM_NORMAL_MODE 0x01\r
109#define PLATFORM_SAFE_MODE 0x02\r
110#define PLATFORM_RECOVERY_MODE 0x04\r
111#define PLATFORM_MANUFACTURING_MODE 0x08\r
112#define PLATFORM_BACK_TO_BIOS_MODE 0x10\r
113\r
114#define EFI_OEM_SPECIFIC 0x8000\r
115#define EFI_CU_PLATFORM_DXE_INIT (EFI_OEM_SPECIFIC | 0x00000011)\r
116#define EFI_CU_PLATFORM_DXE_STEP1 (EFI_OEM_SPECIFIC | 0x00000012)\r
117#define EFI_CU_PLATFORM_DXE_STEP2 (EFI_OEM_SPECIFIC | 0x00000013)\r
118#define EFI_CU_PLATFORM_DXE_STEP3 (EFI_OEM_SPECIFIC | 0x00000014)\r
119#define EFI_CU_PLATFORM_DXE_STEP4 (EFI_OEM_SPECIFIC | 0x00000015)\r
120#define EFI_CU_PLATFORM_DXE_INIT_DONE (EFI_OEM_SPECIFIC | 0x00000016)\r
121\r
122\r
123#define EFI_SECTION_STRING 0x1C\r
124#define EFI_FORWARD_DECLARATION(x) typedef struct _##x x\r
125#define PREFIX_BLANK 0x04\r
126\r
127#pragma pack(1)\r
128\r
129typedef UINT64 EFI_BOARD_FEATURES;\r
130\r
131//\r
132//BUGBUG: should remove these EDK hii definition once Hii transtion is done\r
133//\r
134typedef UINT16 STRING_REF;\r
135typedef UINT16 EFI_FORM_LABEL;\r
136\r
137typedef enum {\r
138 EfiUserPassword,\r
139 EfiAdminPassword\r
140} EFI_PASSWORD_TYPE;\r
141\r
142typedef struct {\r
143 CHAR16 TempPassword[PASSWORD_MAX_SIZE];\r
144 CHAR16 EncodedPassword[PASSWORD_MAX_SIZE];\r
145 VOID *PasswordLocation;\r
146 EFI_PASSWORD_TYPE PasswordType;\r
147} EFI_PASSWORD_DATA;\r
148\r
149typedef struct {\r
150 CHAR8 AaNumber[7];\r
151 UINT8 BoardId;\r
152 EFI_BOARD_FEATURES Features;\r
153 UINT16 SubsystemDeviceId;\r
154 UINT16 AudioSubsystemDeviceId;\r
155 UINT64 AcpiOemTableId;\r
156} BOARD_ID_DECODE;\r
157\r
158typedef\r
159EFI_STATUS\r
160(EFIAPI *EFI_FORM_ROUTINE) (\r
161 SYSTEM_CONFIGURATION *SetupBuffer\r
162 );\r
163\r
164typedef struct{\r
165 UINT16 DeviceNumber;\r
166 UINT16 FunctionNumber;\r
167}PCI_DEVICE_FUNC_INFO;\r
168\r
169typedef struct{\r
170 CHAR16 PortNumber[4];\r
171 STRING_REF SataDeviceInfoStringId;\r
172}SATA_DEVICE_STRING_INFO;\r
173\r
174typedef struct {\r
175 UINT16 Signature;\r
176 UINT8 Size;\r
177 UINT32 EntryPoint;\r
178 UINT8 Reserve[17];\r
179 UINT16 PciDataOff;\r
180 UINT16 ExpansionOff;\r
181} PNP_OPTION_ROM_HEADER;\r
182\r
183typedef struct {\r
184 UINT32 Signature;\r
185 UINT8 Revision;\r
186 UINT8 Length;\r
187 UINT16 NextHeader;\r
188 UINT8 Reserve;\r
189 UINT8 CheckSum;\r
190 UINT32 DeviceId;\r
191 UINT16 ManufactureStrOff;\r
192 UINT16 ProductStrOff;\r
193} PNP_EXPANSION_HEADER;\r
194\r
195typedef struct {\r
196 BOOLEAN Enable;\r
197 UINT8 VerbTableNum;\r
198 UINT16 CodecSSID;\r
199 EFI_PHYSICAL_ADDRESS HDABar;\r
200 EFI_PHYSICAL_ADDRESS UpperHDABar;\r
201 UINT8 SDIPresent;\r
202 BOOLEAN Pme;\r
203 BOOLEAN LegacyFrontPanelAudio;\r
204 BOOLEAN HighDefinitionFrontPanelAudio;\r
205} EFI_AZALIA_S3;\r
206\r
207//\r
208//following structs are from R8. Remove them once R8->R9 transition is done\r
209//\r
210typedef struct {\r
211 CHAR16 *OptionString; // Passed in string to generate a token for in a truly dynamic form creation\r
212 STRING_REF StringToken; // This is used when creating a single op-code without generating a StringToken (have one already)\r
213 UINT16 Value;\r
214 UINT8 Flags;\r
215 UINT16 Key;\r
216} IFR_OPTION;\r
217\r
218\r
219\r
220typedef struct {\r
221 UINT8 Number;\r
222 UINT32 HorizontalResolution;\r
223 UINT32 VerticalResolution;\r
224} PANEL_RESOLUTION;\r
225\r
226#pragma pack()\r
227\r
228//\r
229// Prototypes\r
230//\r
231EFI_STATUS\r
232EFIAPI\r
233EfiMain (\r
234 IN EFI_HANDLE ImageHandle,\r
235 IN EFI_SYSTEM_TABLE *SystemTable\r
236 );\r
237\r
238EFI_STATUS\r
239ProcessEventLog (\r
240 );\r
241\r
242EFI_STATUS\r
243FindDataRecords (\r
244 );\r
245\r
246EFI_STATUS\r
247ProcessPasswords(\r
248 );\r
249\r
250VOID\r
251MemorySetup(\r
252 );\r
253\r
254\r
255UINTN\r
256EfiValueToString (\r
257 IN OUT CHAR16 *Buffer,\r
258 IN INT64 Value,\r
259 IN UINTN Flags,\r
260 IN UINTN Width\r
261 );\r
262\r
263VOID\r
264EFIAPI\r
265ReadyToBootFunction (\r
266 EFI_EVENT Event,\r
267 VOID *Context\r
268 );\r
269\r
270VOID\r
271InstallHiiDataAndGetSettings(\r
272 IN EFI_HII_STRING_PACK *StringPack,\r
273 //\r
274 ... // 0 or more of => IN EFI_HII_IFR_PACK *IfrPack,\r
275 // Terminate list with NULL\r
276 //\r
277 );\r
278\r
279EFI_STATUS\r
280ReadOrInitSetupVariable(\r
281 IN UINTN RequiredVariableSize,\r
282 IN UINTN RequiredPasswordSize,\r
283 IN VOID *DefaultData,\r
284 IN VOID *MfgDefaultData,\r
285 OUT VOID *SetupVariableData,\r
286 OUT VOID *SystemPassword\r
287 );\r
288\r
289VOID\r
290EfiLogicalOrMem(\r
291 IN VOID *Destination,\r
292 IN VOID *Source,\r
293 IN UINTN Length\r
294 );\r
295\r
296EFI_STATUS\r
297GetStringFromToken (\r
298 IN EFI_GUID *ProducerGuid,\r
299 IN STRING_REF Token,\r
300 OUT CHAR16 **String\r
301 );\r
302\r
303UINT32\r
304ConvertBase2ToRaw (\r
305 IN EFI_EXP_BASE2_DATA *Data);\r
306\r
307UINT32\r
308ConvertBase10ToRaw (\r
309 IN EFI_EXP_BASE10_DATA *Data);\r
310\r
311CHAR16 *\r
312GetStringById (\r
313 IN STRING_REF Id,\r
314 EFI_HII_HANDLE StringPackHandle\r
315 );\r
316\r
317VOID\r
318EFIAPI\r
319SetupDataFilter (\r
320 IN EFI_EVENT Event,\r
321 IN VOID* Context\r
322 );\r
323\r
324VOID\r
325EFIAPI\r
326IdeDataFilter (\r
327 IN EFI_EVENT Event,\r
328 IN VOID* Context\r
329 );\r
330\r
331VOID\r
332EFIAPI\r
333UpdateAhciRaidDiskInfo (\r
334 IN EFI_EVENT Event,\r
335 IN VOID* Context\r
336 );\r
337\r
338VOID\r
339EFIAPI\r
340EventLogFilter (\r
341 IN EFI_EVENT Event,\r
342 IN VOID* Context\r
343 );\r
344\r
345VOID\r
346SwapEntries (\r
347 IN CHAR8 *Data\r
348 );\r
349\r
350VOID\r
351AsciiToUnicode (\r
352 IN CHAR8 *AsciiString,\r
353 IN CHAR16 *UnicodeString\r
354 );\r
355\r
356UINT16\r
357ConfigModeStateGet();\r
358\r
359VOID\r
360SetSkus();\r
361\r
362VOID\r
363CPUSetupItems();\r
364\r
365EFI_STATUS\r
366SecurityDriverCallback (\r
367 IN EFI_FORM_CALLBACK_PROTOCOL *This,\r
368 IN UINT16 KeyValue,\r
369 IN EFI_IFR_DATA_ARRAY *Data,\r
370 OUT EFI_HII_CALLBACK_PACKET **Packet\r
371 );\r
372\r
373VOID\r
374SetPasswordState (\r
375 );\r
376\r
377VOID\r
378EncodePassword (\r
379 IN CHAR16 *Password\r
380 );\r
381\r
382VOID\r
383EFIAPI\r
384PciBusEvent (\r
385 IN EFI_EVENT Event,\r
386 IN VOID* Context\r
387 );\r
388VOID\r
389AsfInitialize(\r
390 );\r
391\r
392VOID\r
393InitializeAsf (\r
394 );\r
395\r
396UINT8\r
397ReadCmosBank1Byte (\r
398 IN EFI_CPU_IO_PROTOCOL *CpuIo,\r
399 IN UINT8 Index\r
400 );\r
401\r
402VOID\r
403WriteCmosBank1Byte (\r
404 IN EFI_CPU_IO_PROTOCOL *CpuIo,\r
405 IN UINT8 Index,\r
406 IN UINT8 Data\r
407 );\r
408\r
409VOID\r
410InitializeBoardId (\r
411 );\r
412\r
413EFI_STATUS\r
414InstallBootCallbackRoutine(\r
415 );\r
416\r
417EFI_STATUS\r
418InstallConfigurationCallbackRoutine(\r
419 );\r
420\r
421EFI_STATUS\r
422InstallPerformanceCallbackRoutine(\r
423 );\r
424\r
425EFI_STATUS\r
426InstallSecurityCallbackRoutine (\r
427 );\r
428\r
429EFI_STATUS\r
430InstallMainCallbackRoutine (\r
431 );\r
432\r
433EFI_STATUS\r
434MemoryConfigurationUpdate (\r
435 UINT16 *Key,\r
436 EFI_FORM_LABEL *Label,\r
437 UINT16 *OpcodeCount,\r
438 UINT8 **OpcodeData,\r
439 EFI_FORM_ROUTINE *Routine\r
440 );\r
441\r
442EFI_STATUS\r
443MemoryConfigurationCallbackRoutine (\r
444 SYSTEM_CONFIGURATION *SetupBuffer\r
445 );\r
446\r
447EFI_STATUS\r
448MemoryConfigurationCalculateSpeed(\r
449 SYSTEM_CONFIGURATION *SetupBuffer\r
450 );\r
451\r
452VOID\r
453UpdateMemoryString(\r
454 IN STRING_REF TokenToUpdate,\r
455 IN CHAR16 *NewString\r
456 );\r
457\r
458VOID\r
459InitFeaturePolicy (\r
460 IN EFI_PLATFORM_INFO_HOB *PlatformInfo\r
461 );\r
462\r
463VOID\r
464InitializeSetupVarHide (\r
465 );\r
466\r
467VOID\r
468PreparePCIePCISlotInformation(\r
469 VOID\r
470 );\r
471\r
472\r
473EFI_STATUS\r
474BootConfigurationUpdate (\r
475 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
476 );\r
477\r
478EFI_STATUS\r
479InitializeBootConfiguration(\r
480 VOID\r
481 );\r
482\r
483UINT16\r
484GetStringSize(\r
485 IN CHAR16 *ThisString\r
486 );\r
487\r
488UINT16\r
489GetDriveCount (\r
490 IN STRING_REF *BootMap\r
491 );\r
492\r
493CHAR16 *\r
494GetBootString (\r
495 IN STRING_REF Id,\r
496 OUT UINTN *Length\r
497 );\r
498\r
499EFI_STATUS\r
500BootCfgCreateTwoOptionOneOf(\r
501 IN UINT16 QuestionId,\r
502 IN EFI_FORM_LABEL Label,\r
503 IN STRING_REF OptionPrompt,\r
504 IN STRING_REF OptionHelp,\r
505 IN STRING_REF OptionOneString,\r
506 IN STRING_REF OptionTwoString,\r
507 IN UINT8 OptionOneFlags,\r
508 IN UINT8 OptionTwoFlags,\r
509 IN UINT16 KeyValueOne,\r
510 IN UINT16 KeyValueTwo\r
511 );\r
512\r
513EFI_STATUS\r
514ReplaceOpcodeWithText(\r
515 IN STRING_REF OptionPrompt,\r
516 IN STRING_REF OptionHelp,\r
517 IN STRING_REF OptionOneString,\r
518 IN EFI_FORM_LABEL Label\r
519 );\r
520\r
521EFI_STATUS\r
522CreateDriveBootOrderOpcode(\r
523 IN VOID *Data,\r
524 IN STRING_REF *BootMap,\r
525 IN EFI_FORM_LABEL Label,\r
526 IN UINT16 QuestionId,\r
527 IN STRING_REF OptionOneString,\r
528 IN STRING_REF OptionTwoString\r
529 );\r
530\r
531VOID\r
532SetHyperBootCfgFlags(\r
533 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
534 );\r
535\r
536VOID\r
537GetHyperBootCfgFlags(\r
538 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
539 );\r
540\r
541VOID\r
542PrepareBootCfgForHyperBoot(\r
543 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
544 );\r
545\r
546BOOLEAN\r
547BootCfgChanged(\r
548 IN SYSTEM_CONFIGURATION *SystemConfiguration\r
549 );\r
550\r
551EFI_STATUS\r
552InsertOpcodeAtIndex(\r
553 IN SYSTEM_CONFIGURATION *SystemConfiguration,\r
554 IN OUT IFR_OPTION *OptionList,\r
555 IN IFR_OPTION IfrOption,\r
556 IN UINT16 OptionCount\r
557 );\r
558\r
559VOID\r
560ConfigureBootOrderStrings(\r
561 IN SYSTEM_CONFIGURATION *SystemConfiguration\r
562 );\r
563\r
564VOID\r
565InitializeAllBootStrings(\r
566 VOID\r
567 );\r
568\r
569VOID\r
570SaveUsbCfgSettings(\r
571 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
572 );\r
573\r
574VOID\r
575RestoreUsbCfgSettings(\r
576 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
577 );\r
578\r
579EFI_STATUS\r
580UpdateBootDevicePriority(\r
581 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
582 );\r
583\r
584EFI_STATUS\r
585DisableHyperBoot(\r
586 IN OUT SYSTEM_CONFIGURATION *SystemConfiguration\r
587 );\r
588\r
589BOOLEAN\r
590CheckForUserPassword(\r
591 VOID\r
592 );\r
593\r
594EFI_STATUS\r
595EFIAPI\r
596HyperBootPasswordCallback(\r
597 IN OUT VOID* Data\r
598 );\r
599\r
600EFI_STATUS\r
601EFIAPI\r
602HyperBootF9Callback (\r
603 IN VOID* Data\r
604 );\r
605\r
606EFI_STATUS\r
607InstallHiiEvents(\r
608 VOID\r
609 );\r
610\r
611EFI_STATUS\r
612EFIAPI\r
613ProgramToneFrequency (\r
614 IN EFI_SPEAKER_IF_PROTOCOL *This,\r
615 IN UINT16 Frequency\r
616 );\r
617\r
618EFI_STATUS\r
619EFIAPI\r
620GenerateBeepTone (\r
621 IN EFI_SPEAKER_IF_PROTOCOL *This,\r
622 IN UINTN NumberOfBeeps,\r
623 IN UINTN BeepDuration,\r
624 IN UINTN TimeInterval\r
625 );\r
626\r
627EFI_STATUS\r
628InitializeObservableProtocol();\r
629\r
630EFI_STATUS\r
631PciBusDriverHook();\r
632\r
d71c25cf
DW
633VOID\r
634EFIAPI\r
635AdjustDefaultRtcTimeCallback (\r
636 IN EFI_EVENT Event,\r
637 IN VOID *Context\r
638 );\r
639\r
3cbfba02
DW
640typedef struct _GOP_DISPLAY_BRIGHTNESS_PROTOCOL GOP_DISPLAY_BRIGHTNESS_PROTOCOL;\r
641\r
642typedef\r
643EFI_STATUS\r
644(EFIAPI *GET_MAXIMUM_BRIGHTNESS_LEVEL) (\r
645 IN GOP_DISPLAY_BRIGHTNESS_PROTOCOL *This,\r
646 OUT UINT32 *MaxBrightnessLevel\r
647 );\r
648\r
649\r
650typedef\r
651EFI_STATUS\r
652(EFIAPI *GET_CURRENT_BRIGHTNESS_LEVEL) (\r
653 IN GOP_DISPLAY_BRIGHTNESS_PROTOCOL *This,\r
654 OUT UINT32 *MaxBrightnessLevel\r
655 );\r
656\r
657typedef\r
658EFI_STATUS\r
659(EFIAPI *SET_BRIGHTNESS_LEVEL) (\r
660 IN GOP_DISPLAY_BRIGHTNESS_PROTOCOL *This,\r
661 IN UINT32 BrightnessLevel\r
662 );\r
663\r
664struct _GOP_DISPLAY_BRIGHTNESS_PROTOCOL {\r
665 UINT32 Revision;\r
666 GET_MAXIMUM_BRIGHTNESS_LEVEL GetMaxBrightnessLevel;\r
667 GET_CURRENT_BRIGHTNESS_LEVEL GetCurrentBrightnessLevel;\r
668 SET_BRIGHTNESS_LEVEL SetBrightnessLevel;\r
669};\r
670\r
671//\r
672// Global externs\r
673//\r
674extern UINT8 MaintenanceBin[];\r
675extern UINT8 MainBin[];\r
676extern UINT8 ConfigurationBin[];\r
677extern UINT8 MemoryConfigurationBin[];\r
678extern UINT8 PerformanceBin[];\r
679extern UINT8 SecurityBin[];\r
680extern UINT8 BootBin[];\r
681extern UINT8 PowerBin[];\r
682extern UINT8 SystemSetupBin[];\r
683\r
684extern VOID *mDxePlatformStringPack;\r
685extern EFI_HII_PROTOCOL *mHii;\r
686extern SYSTEM_CONFIGURATION mSystemConfiguration;\r
687extern FRAMEWORK_EFI_HII_HANDLE mMaintenanceHiiHandle;\r
688extern FRAMEWORK_EFI_HII_HANDLE mMainHiiHandle;\r
689extern FRAMEWORK_EFI_HII_HANDLE mConfigurationHiiHandle;\r
690extern FRAMEWORK_EFI_HII_HANDLE mPerformanceHiiHandle;\r
691extern FRAMEWORK_EFI_HII_HANDLE mPowerHiiHandle;\r
692extern FRAMEWORK_EFI_HII_HANDLE mBootHiiHandle;\r
693extern FRAMEWORK_EFI_HII_HANDLE mSecurityHiiHandle;\r
694\r
695extern SYSTEM_PASSWORDS mSystemPassword;\r
696extern EFI_PASSWORD_DATA mAdminPassword;\r
697extern EFI_PASSWORD_DATA mUserPassword;\r
698\r
699extern EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *mPciRootBridgeIo;\r
700\r
701//\r
702//extern EFI_REG_TABLE mSubsystemIdRegs[];\r
703//\r
704extern UINT32 mSubsystemVidDid;\r
705extern UINT32 mSubsystemAudioVidDid;\r
706\r
707extern UINT8 mBoardIdIndex;\r
708extern BOOLEAN mFoundAANum;\r
709extern EFI_BOARD_FEATURES mBoardFeatures;\r
710extern UINT16 mSubsystemDeviceId;\r
711extern UINT16 mSubsystemAudioDeviceId;\r
712extern BOARD_ID_DECODE mBoardIdDecodeTable[];\r
713extern UINTN mBoardIdDecodeTableSize;\r
714\r
715extern UINT8 mSmbusRsvdAddresses[];\r
716extern UINT8 mNumberSmbusAddress;\r
717extern BOOLEAN mMfgMode;\r
718extern UINT32 mPlatformBootMode;\r
719extern CHAR8 BoardAaNumber[];\r
720\r
721extern EFI_GUID gEfiGlobalNvsAreaProtocolGuid;\r
722#endif\r