]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/Library/Nt32BdsLib/BdsPlatform.h
Update Nt32 platform to use dynamic HII pcd to save console output mode.
[mirror_edk2.git] / Nt32Pkg / Library / Nt32BdsLib / BdsPlatform.h
CommitLineData
6ae81428 1/**@file\r
5fd5fcd3 2\r
3Copyright (c) 2004 - 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
11\r
12Module Name: \r
13\r
14 BdsPlatform.h\r
15\r
16Abstract:\r
17\r
18 Head file for BDS Platform specific code\r
19\r
6ae81428 20**/\r
5fd5fcd3 21\r
22#ifndef _BDS_PLATFORM_H\r
23#define _BDS_PLATFORM_H\r
24\r
25#include <PiDxe.h>\r
26\r
27#include <Library/DebugLib.h>\r
28#include <Library/BaseMemoryLib.h>\r
29#include <Library/UefiBootServicesTableLib.h>\r
fcf24bad 30#include <Library/UefiRuntimeServicesTableLib.h>\r
5fd5fcd3 31#include <Library/MemoryAllocationLib.h>\r
32#include <Library/BaseLib.h>\r
33#include <Library/PcdLib.h>\r
34#include <Library/GenericBdsLib.h>\r
35#include <Library/PlatformBdsLib.h>\r
008698ab 36#include <Library/DevicePathLib.h>\r
5fd5fcd3 37\r
38#include <Protocol/WinNtThunk.h>\r
39#include <Protocol/WinNtIo.h>\r
40#include <Guid/Bmp.h>\r
fcf24bad 41#include <Guid/UnixSystemConfig.h>\r
5fd5fcd3 42\r
43extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
44extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];\r
45extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];\r
46\r
47#define gEndEntire \\r
48 { \\r
49 END_DEVICE_PATH_TYPE,\\r
50 END_ENTIRE_DEVICE_PATH_SUBTYPE,\\r
51 END_DEVICE_PATH_LENGTH,\\r
52 0\\r
53 }\r
54\r
55typedef struct {\r
56 VENDOR_DEVICE_PATH VendorDevicePath;\r
57 UINT32 Instance;\r
58} WIN_NT_VENDOR_DEVICE_PATH_NODE;\r
59\r
60//\r
61// Below is the platform console device path\r
62//\r
63typedef struct {\r
64 VENDOR_DEVICE_PATH NtBus;\r
65 WIN_NT_VENDOR_DEVICE_PATH_NODE SerialDevice;\r
66 UART_DEVICE_PATH Uart;\r
67 VENDOR_DEVICE_PATH TerminalType;\r
68 EFI_DEVICE_PATH_PROTOCOL End;\r
69} NT_ISA_SERIAL_DEVICE_PATH;\r
70\r
71typedef struct {\r
72 VENDOR_DEVICE_PATH NtBus;\r
73 WIN_NT_VENDOR_DEVICE_PATH_NODE NtUgaDevice;\r
74 EFI_DEVICE_PATH_PROTOCOL End;\r
75} NT_PLATFORM_UGA_DEVICE_PATH;\r
76\r
77typedef struct {\r
78 VENDOR_DEVICE_PATH NtBus;\r
79 WIN_NT_VENDOR_DEVICE_PATH_NODE NtGopDevice;\r
80 EFI_DEVICE_PATH_PROTOCOL End;\r
81} NT_PLATFORM_GOP_DEVICE_PATH;\r
82\r
83VOID\r
84PlatformBdsGetDriverOption (\r
85 IN LIST_ENTRY *BdsDriverLists\r
ed66e1bc 86 );\r
5fd5fcd3 87\r
88EFI_STATUS\r
89BdsMemoryTest (\r
90 EXTENDMEM_COVERAGE_LEVEL Level\r
ed66e1bc 91 );\r
5fd5fcd3 92\r
93VOID\r
94PlatformBdsConnectSequence (\r
95 VOID\r
ed66e1bc 96 );\r
5fd5fcd3 97\r
98\r
99EFI_STATUS\r
100ProcessCapsules (\r
101 EFI_BOOT_MODE BootMode\r
ed66e1bc 102 );\r
5fd5fcd3 103\r
104EFI_STATUS\r
105PlatformBdsConnectConsole (\r
106 IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
ed66e1bc 107 );\r
5fd5fcd3 108\r
109EFI_STATUS\r
110PlatformBdsNoConsoleAction (\r
111 VOID\r
ed66e1bc 112 );\r
5fd5fcd3 113\r
114VOID\r
115PlatformBdsEnterFrontPage (\r
116 IN UINT16 TimeoutDefault,\r
117 IN BOOLEAN ConnectAllHappened\r
118 );\r
119\r
120#endif // _BDS_PLATFORM_H\r