3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 Head file for BDS Architectural Protocol implementation
28 #include <Common/MaxBbsEntries.h>
29 #include <Protocol/FrameworkFormCallback.h>
30 #include <Protocol/DevicePath.h>
31 #include <Protocol/LoadFile.h>
32 #include <Protocol/CpuIo.h>
33 #include <Protocol/Bds.h>
34 #include <Protocol/DataHub.h>
35 #include <Protocol/FrameworkFormBrowser.h>
36 #include <Protocol/BlockIo.h>
37 #include <Protocol/ConsoleControl.h>
38 #include <Protocol/GenericMemoryTest.h>
39 #include <Protocol/GraphicsOutput.h>
40 #include <Protocol/SimpleFileSystem.h>
41 #include <Protocol/FrameworkHii.h>
42 #include <Protocol/SerialIo.h>
43 #include <Protocol/LegacyBios.h>
44 #include <Protocol/Performance.h>
45 #include <Guid/PcAnsi.h>
46 #include <Guid/DataHubRecords.h>
48 #include <Guid/FileInfo.h>
49 #include <Guid/BootState.h>
50 #include <Guid/FileSystemVolumeLabelInfo.h>
51 #include <Guid/GenericPlatformVariable.h>
52 #include <Guid/GlobalVariable.h>
54 #include <Library/DebugLib.h>
55 #include <Library/UefiLib.h>
56 #include <Library/UefiDriverEntryPoint.h>
57 #include <Library/BaseLib.h>
58 #include <Library/GraphicsLib.h>
59 #include <Library/DxeServicesTableLib.h>
60 #include <Library/PerformanceLib.h>
61 #include <Library/PrintLib.h>
62 #include <Library/FrameworkIfrSupportLib.h>
63 #include <Library/ReportStatusCodeLib.h>
64 #include <Library/HobLib.h>
65 #include <Library/EdkGenericBdsLib.h>
66 #include <Library/MemoryAllocationLib.h>
67 #include <Library/BaseMemoryLib.h>
68 #include <Library/UefiBootServicesTableLib.h>
69 #include <Library/UefiRuntimeServicesTableLib.h>
70 #include <Library/DevicePathLib.h>
71 #include <Library/FrameworkHiiLib.h>
72 #include <Library/PeCoffLib.h>
73 #include <Library/PcdLib.h>
77 // Bds AP Context data
79 #define EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('B', 'd', 's', 'A')
85 EFI_BDS_ARCH_PROTOCOL Bds
;
88 // Save the current boot mode
90 EFI_BOOT_MODE BootMode
;
93 // Set true if boot with default settings
98 // The system default timeout for choose the boot option
100 UINT16 TimeoutDefault
;
105 EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel
;
107 } EFI_BDS_ARCH_PROTOCOL_INSTANCE
;
109 #define EFI_BDS_ARCH_PROTOCOL_INSTANCE_FROM_THIS(_this) \
111 EFI_BDS_ARCH_PROTOCOL_INSTANCE, \
113 EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \
122 IN EFI_HANDLE ImageHandle
,
123 IN EFI_SYSTEM_TABLE
*SystemTable
129 IN EFI_BDS_ARCH_PROTOCOL
*This