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