]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/PlatformBdsDxe/Generic/Bds.h
Update NT32 BDS to produce the MemoryTypeInformation variable
[mirror_edk2.git] / Nt32Pkg / PlatformBdsDxe / Generic / Bds.h
CommitLineData
bc11b829 1/*++\r
2\r
454e9f65 3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
bc11b829 11\r
12Module Name:\r
13\r
14 Bds.h\r
15\r
16Abstract:\r
17\r
18 Head file for BDS Architectural Protocol implementation\r
19\r
20Revision History\r
21\r
22--*/\r
23\r
24#ifndef _BDS_H\r
25#define _BDS_H\r
26\r
40f18da1 27#include <PiDxe.h>\r
28#include <Common/MaxBbsEntries.h>\r
8e5b17b2 29#include <Protocol/FrameworkFormCallback.h>\r
40f18da1 30#include <Protocol/DevicePath.h>\r
31#include <Protocol/LoadFile.h>\r
32#include <Protocol/CpuIo.h>\r
33#include <Protocol/Bds.h>\r
34#include <Protocol/DataHub.h>\r
8e5b17b2 35#include <Protocol/FrameworkFormBrowser.h>\r
40f18da1 36#include <Protocol/BlockIo.h>\r
37#include <Protocol/ConsoleControl.h>\r
38#include <Protocol/GenericMemoryTest.h>\r
39#include <Protocol/GraphicsOutput.h>\r
40#include <Protocol/SimpleFileSystem.h>\r
8e5b17b2 41#include <Protocol/FrameworkHii.h>\r
40f18da1 42#include <Protocol/SerialIo.h>\r
43#include <Protocol/LegacyBios.h>\r
44#include <Protocol/Performance.h>\r
45#include <Guid/PcAnsi.h>\r
46#include <Guid/DataHubRecords.h>\r
47#include <Guid/Bmp.h>\r
48#include <Guid/FileInfo.h>\r
49#include <Guid/BootState.h>\r
50#include <Guid/FileSystemVolumeLabelInfo.h>\r
51#include <Guid/GenericPlatformVariable.h>\r
52#include <Guid/GlobalVariable.h>\r
4bdccd28 53#include <Guid/MemoryTypeInformation.h>\r
40f18da1 54\r
55#include <Library/DebugLib.h>\r
56#include <Library/UefiLib.h>\r
57#include <Library/UefiDriverEntryPoint.h>\r
58#include <Library/BaseLib.h>\r
59#include <Library/GraphicsLib.h>\r
60#include <Library/DxeServicesTableLib.h>\r
61#include <Library/PerformanceLib.h>\r
62#include <Library/PrintLib.h>\r
8e5b17b2 63#include <Library/FrameworkIfrSupportLib.h>\r
40f18da1 64#include <Library/ReportStatusCodeLib.h>\r
65#include <Library/HobLib.h>\r
66#include <Library/EdkGenericBdsLib.h>\r
67#include <Library/MemoryAllocationLib.h>\r
68#include <Library/BaseMemoryLib.h>\r
69#include <Library/UefiBootServicesTableLib.h>\r
70#include <Library/UefiRuntimeServicesTableLib.h>\r
71#include <Library/DevicePathLib.h>\r
8e5b17b2 72#include <Library/FrameworkHiiLib.h>\r
40f18da1 73#include <Library/PeCoffLib.h>\r
74#include <Library/PcdLib.h>\r
75\r
bc11b829 76\r
77//\r
78// Bds AP Context data\r
79//\r
80#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('B', 'd', 's', 'A')\r
81typedef struct {\r
82 UINTN Signature;\r
83\r
84 EFI_HANDLE Handle;\r
85\r
86 EFI_BDS_ARCH_PROTOCOL Bds;\r
87\r
88 //\r
89 // Save the current boot mode\r
90 //\r
91 EFI_BOOT_MODE BootMode;\r
92\r
93 //\r
94 // Set true if boot with default settings\r
95 //\r
96 BOOLEAN DefaultBoot;\r
97\r
98 //\r
99 // The system default timeout for choose the boot option\r
100 //\r
101 UINT16 TimeoutDefault;\r
102\r
103 //\r
104 // Memory Test Level\r
105 //\r
106 EXTENDMEM_COVERAGE_LEVEL MemoryTestLevel;\r
107\r
108} EFI_BDS_ARCH_PROTOCOL_INSTANCE;\r
109\r
110#define EFI_BDS_ARCH_PROTOCOL_INSTANCE_FROM_THIS(_this) \\r
111 CR (_this, \\r
112 EFI_BDS_ARCH_PROTOCOL_INSTANCE, \\r
113 Bds, \\r
114 EFI_BDS_ARCH_PROTOCOL_INSTANCE_SIGNATURE \\r
115 )\r
116\r
117//\r
118// Prototypes\r
119//\r
120EFI_STATUS\r
121EFIAPI\r
122BdsInitialize (\r
123 IN EFI_HANDLE ImageHandle,\r
124 IN EFI_SYSTEM_TABLE *SystemTable\r
125 );\r
126\r
127EFI_STATUS\r
128EFIAPI\r
129BdsEntry (\r
130 IN EFI_BDS_ARCH_PROTOCOL *This\r
131 );\r
132\r
133#endif\r