]> git.proxmox.com Git - mirror_edk2.git/blob - EmulatorPkg/Library/PlatformBmLib/PlatformBm.h
323a8bd19a5cf751851d8c8da75a457021b71ce0
[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 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef _PLATFORM_BM_H
16 #define _PLATFORM_BM_H
17
18 #include <PiDxe.h>
19
20 #include <Guid/EmuSystemConfig.h>
21 #include <Guid/EventGroup.h>
22 #include <Protocol/EmuThunk.h>
23 #include <Protocol/EmuIoThunk.h>
24 #include <Protocol/EmuGraphicsWindow.h>
25 #include <Protocol/GenericMemoryTest.h>
26 #include <Protocol/LoadedImage.h>
27 #include <Protocol/FirmwareVolume2.h>
28
29 #include <Library/DebugLib.h>
30 #include <Library/BaseMemoryLib.h>
31 #include <Library/UefiBootServicesTableLib.h>
32 #include <Library/UefiRuntimeServicesTableLib.h>
33 #include <Library/MemoryAllocationLib.h>
34 #include <Library/BaseLib.h>
35 #include <Library/PcdLib.h>
36 #include <Library/UefiBootManagerLib.h>
37 #include <Library/DevicePathLib.h>
38 #include <Library/UefiLib.h>
39 #include <Library/BootLogoLib.h>
40 #include <Library/HobLib.h>
41 #include <Library/HiiLib.h>
42
43 #define CONSOLE_OUT 0x00000001
44 #define STD_ERROR 0x00000002
45 #define CONSOLE_IN 0x00000004
46 #define CONSOLE_ALL (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)
47
48 typedef struct {
49 EFI_DEVICE_PATH_PROTOCOL *DevicePath;
50 UINTN ConnectType;
51 } BDS_CONSOLE_CONNECT_ENTRY;
52
53 extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
54
55 #define gEndEntire \
56 { \
57 END_DEVICE_PATH_TYPE,\
58 END_ENTIRE_DEVICE_PATH_SUBTYPE,\
59 { \
60 END_DEVICE_PATH_LENGTH,\
61 0\
62 }\
63 }
64
65
66 typedef struct {
67 EMU_VENDOR_DEVICE_PATH_NODE EmuBus;
68 EMU_VENDOR_DEVICE_PATH_NODE EmuGraphicsWindow;
69 EFI_DEVICE_PATH_PROTOCOL End;
70 } EMU_PLATFORM_UGA_DEVICE_PATH;
71
72
73 //
74 // Platform BDS Functions
75 //
76
77 /**
78 Perform the memory test base on the memory test intensive level,
79 and update the memory resource.
80
81 @param Level The memory test intensive level.
82
83 @retval EFI_STATUS Success test all the system memory and update
84 the memory resource
85
86 **/
87 EFI_STATUS
88 PlatformBootManagerMemoryTest (
89 IN EXTENDMEM_COVERAGE_LEVEL Level
90 );
91
92
93 VOID
94 PlatformBdsConnectSequence (
95 VOID
96 );
97
98 #endif // _PLATFORM_BM_H