Migrate GOP driver from R8.6 for NT32. Add a new PCD "PcdWinNtGop". Setting NT32...
[mirror_edk2.git] / EdkNt32Pkg / Dxe / PlatformBds / BdsPlatform.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 BdsPlatform.h
15
16 Abstract:
17
18 Head file for BDS Platform specific code
19
20 --*/
21
22 #ifndef _BDS_PLATFORM_H
23 #define _BDS_PLATFORM_H
24
25 #include "IndustryStandard/Pci22.h"
26
27 extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
28 extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];
29 extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];
30
31 #define gEndEntire \
32 { \
33 END_DEVICE_PATH_TYPE,\
34 END_ENTIRE_DEVICE_PATH_SUBTYPE,\
35 END_DEVICE_PATH_LENGTH,\
36 0\
37 }
38
39 typedef struct {
40 VENDOR_DEVICE_PATH VendorDevicePath;
41 UINT32 Instance;
42 } WIN_NT_VENDOR_DEVICE_PATH_NODE;
43
44 //
45 // Below is the platform console device path
46 //
47 typedef struct {
48 VENDOR_DEVICE_PATH NtBus;
49 WIN_NT_VENDOR_DEVICE_PATH_NODE SerialDevice;
50 UART_DEVICE_PATH Uart;
51 VENDOR_DEVICE_PATH TerminalType;
52 EFI_DEVICE_PATH_PROTOCOL End;
53 } NT_ISA_SERIAL_DEVICE_PATH;
54
55 typedef struct {
56 VENDOR_DEVICE_PATH NtBus;
57 WIN_NT_VENDOR_DEVICE_PATH_NODE NtUgaDevice;
58 EFI_DEVICE_PATH_PROTOCOL End;
59 } NT_PLATFORM_UGA_DEVICE_PATH;
60
61 typedef struct {
62 VENDOR_DEVICE_PATH NtBus;
63 WIN_NT_VENDOR_DEVICE_PATH_NODE NtGopDevice;
64 EFI_DEVICE_PATH_PROTOCOL End;
65 } NT_PLATFORM_GOP_DEVICE_PATH;
66
67 //
68 // Platform BDS Functions
69 //
70 VOID
71 PlatformBdsInit (
72 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData
73 )
74 ;
75
76 VOID
77 PlatformBdsPolicyBehavior (
78 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData,
79 IN LIST_ENTRY *DriverOptionList,
80 IN LIST_ENTRY *BootOptionList
81 )
82 ;
83
84 VOID
85 PlatformBdsGetDriverOption (
86 IN LIST_ENTRY *BdsDriverLists
87 )
88 ;
89
90 EFI_STATUS
91 BdsMemoryTest (
92 EXTENDMEM_COVERAGE_LEVEL Level
93 )
94 ;
95
96 EFI_STATUS
97 PlatformBdsShowProgress (
98 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,
99 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,
100 CHAR16 *Title,
101 EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,
102 UINTN Progress,
103 UINTN PreviousValue
104 )
105 ;
106
107 VOID
108 PlatformBdsConnectSequence (
109 VOID
110 )
111 ;
112
113 VOID
114 PlatformBdsBootFail (
115 IN BDS_COMMON_OPTION *Option,
116 IN EFI_STATUS Status,
117 IN CHAR16 *ExitData,
118 IN UINTN ExitDataSize
119 )
120 ;
121
122 VOID
123 PlatformBdsBootSuccess (
124 IN BDS_COMMON_OPTION *Option
125 )
126 ;
127
128 EFI_STATUS
129 ProcessCapsules (
130 EFI_BOOT_MODE BootMode
131 )
132 ;
133
134 EFI_STATUS
135 PlatformBdsConnectConsole (
136 IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole
137 )
138 ;
139
140 EFI_STATUS
141 PlatformBdsNoConsoleAction (
142 VOID
143 )
144 ;
145
146 #endif // _BDS_PLATFORM_H