]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmulatorPkg / Library / PlatformBmLib / PlatformBm.h
CommitLineData
949f388f 1/*++ @file\r
2\r
41fd56be 3Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
949f388f 4Portions copyright (c) 2011, Apple Inc. All rights reserved.\r
e3ba31da 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
949f388f 6\r
7**/\r
8\r
e0123894
RN
9#ifndef _PLATFORM_BM_H\r
10#define _PLATFORM_BM_H\r
949f388f 11\r
12#include <PiDxe.h>\r
13\r
14#include <Guid/EmuSystemConfig.h>\r
41fd56be 15#include <Guid/EventGroup.h>\r
949f388f 16#include <Protocol/EmuThunk.h>\r
17#include <Protocol/EmuIoThunk.h>\r
18#include <Protocol/EmuGraphicsWindow.h>\r
e0123894
RN
19#include <Protocol/GenericMemoryTest.h>\r
20#include <Protocol/LoadedImage.h>\r
21#include <Protocol/FirmwareVolume2.h>\r
949f388f 22\r
23#include <Library/DebugLib.h>\r
24#include <Library/BaseMemoryLib.h>\r
25#include <Library/UefiBootServicesTableLib.h>\r
26#include <Library/UefiRuntimeServicesTableLib.h>\r
27#include <Library/MemoryAllocationLib.h>\r
28#include <Library/BaseLib.h>\r
29#include <Library/PcdLib.h>\r
e0123894 30#include <Library/UefiBootManagerLib.h>\r
949f388f 31#include <Library/DevicePathLib.h>\r
41fd56be 32#include <Library/UefiLib.h>\r
e0123894
RN
33#include <Library/BootLogoLib.h>\r
34#include <Library/HobLib.h>\r
35#include <Library/HiiLib.h>\r
949f388f 36\r
a550d468
MK
37#define CONSOLE_OUT 0x00000001\r
38#define STD_ERROR 0x00000002\r
39#define CONSOLE_IN 0x00000004\r
40#define CONSOLE_ALL (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)\r
e0123894
RN
41\r
42typedef struct {\r
a550d468
MK
43 EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
44 UINTN ConnectType;\r
e0123894 45} BDS_CONSOLE_CONNECT_ENTRY;\r
949f388f 46\r
47extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
949f388f 48\r
49#define gEndEntire \\r
50 { \\r
51 END_DEVICE_PATH_TYPE,\\r
52 END_ENTIRE_DEVICE_PATH_SUBTYPE,\\r
6c76e4fa 53 { \\r
54 END_DEVICE_PATH_LENGTH,\\r
55 0\\r
56 }\\r
949f388f 57 }\r
58\r
949f388f 59typedef struct {\r
a550d468
MK
60 EMU_VENDOR_DEVICE_PATH_NODE EmuBus;\r
61 EMU_VENDOR_DEVICE_PATH_NODE EmuGraphicsWindow;\r
62 EFI_DEVICE_PATH_PROTOCOL End;\r
949f388f 63} EMU_PLATFORM_UGA_DEVICE_PATH;\r
64\r
949f388f 65//\r
66// Platform BDS Functions\r
67//\r
949f388f 68\r
e0123894
RN
69/**\r
70 Perform the memory test base on the memory test intensive level,\r
71 and update the memory resource.\r
949f388f 72\r
e0123894 73 @param Level The memory test intensive level.\r
949f388f 74\r
e0123894
RN
75 @retval EFI_STATUS Success test all the system memory and update\r
76 the memory resource\r
949f388f 77\r
e0123894 78**/\r
949f388f 79EFI_STATUS\r
e0123894 80PlatformBootManagerMemoryTest (\r
a550d468 81 IN EXTENDMEM_COVERAGE_LEVEL Level\r
949f388f 82 );\r
83\r
949f388f 84VOID\r
e0123894
RN
85PlatformBdsConnectSequence (\r
86 VOID\r
949f388f 87 );\r
88\r
e0123894 89#endif // _PLATFORM_BM_H\r