]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/PlatformBdsDxe/BdsPlatform.h
c252c60d3831d93e554d73ae1761662cb4778101
[mirror_edk2.git] / Nt32Pkg / PlatformBdsDxe / 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 //
26 // The rest of the includes
27 //
28 #include <Common/FirmwareRevision.h>
29
30 extern UINT8 PlatformBdsStrings[];
31
32 #include "IndustryStandard/Pci22.h"
33
34 extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
35 extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];
36 extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];
37
38 #define gEndEntire \
39 { \
40 END_DEVICE_PATH_TYPE,\
41 END_ENTIRE_DEVICE_PATH_SUBTYPE,\
42 END_DEVICE_PATH_LENGTH,\
43 0\
44 }
45
46 typedef struct {
47 VENDOR_DEVICE_PATH VendorDevicePath;
48 UINT32 Instance;
49 } WIN_NT_VENDOR_DEVICE_PATH_NODE;
50
51 //
52 // Below is the platform console device path
53 //
54 typedef struct {
55 VENDOR_DEVICE_PATH NtBus;
56 WIN_NT_VENDOR_DEVICE_PATH_NODE SerialDevice;
57 UART_DEVICE_PATH Uart;
58 VENDOR_DEVICE_PATH TerminalType;
59 EFI_DEVICE_PATH_PROTOCOL End;
60 } NT_ISA_SERIAL_DEVICE_PATH;
61
62 typedef struct {
63 VENDOR_DEVICE_PATH NtBus;
64 WIN_NT_VENDOR_DEVICE_PATH_NODE NtUgaDevice;
65 EFI_DEVICE_PATH_PROTOCOL End;
66 } NT_PLATFORM_UGA_DEVICE_PATH;
67
68 typedef struct {
69 VENDOR_DEVICE_PATH NtBus;
70 WIN_NT_VENDOR_DEVICE_PATH_NODE NtGopDevice;
71 EFI_DEVICE_PATH_PROTOCOL End;
72 } NT_PLATFORM_GOP_DEVICE_PATH;
73
74 typedef struct {
75 VENDOR_DEVICE_PATH NtBus;
76 WIN_NT_VENDOR_DEVICE_PATH_NODE NtCpuModelDevice;
77 EFI_DEVICE_PATH_PROTOCOL End;
78 } NT_PLATFORM_CPU_MODEL_VIRTUAL_DEVICE_PATH;
79
80 typedef struct {
81 VENDOR_DEVICE_PATH NtBus;
82 WIN_NT_VENDOR_DEVICE_PATH_NODE NtCpuSpeedDevice;
83 EFI_DEVICE_PATH_PROTOCOL End;
84 } NT_PLATFORM_CPU_SPEED_VIRTUAL_DEVICE_PATH;
85
86 typedef struct {
87 VENDOR_DEVICE_PATH NtBus;
88 WIN_NT_VENDOR_DEVICE_PATH_NODE NtMemoryDeivce;
89 EFI_DEVICE_PATH_PROTOCOL End;
90 } NT_PLATFORM_MEMORY_VIRTUAL_DEVICE_PATH;
91
92 //
93 // Platform BDS Functions
94 //
95 VOID
96 PlatformBdsInit (
97 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData
98 )
99 ;
100
101 VOID
102 PlatformBdsPolicyBehavior (
103 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData,
104 IN LIST_ENTRY *DriverOptionList,
105 IN LIST_ENTRY *BootOptionList
106 )
107 ;
108
109 VOID
110 PlatformBdsGetDriverOption (
111 IN LIST_ENTRY *BdsDriverLists
112 )
113 ;
114
115 EFI_STATUS
116 BdsMemoryTest (
117 EXTENDMEM_COVERAGE_LEVEL Level
118 )
119 ;
120
121 EFI_STATUS
122 PlatformBdsShowProgress (
123 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,
124 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,
125 CHAR16 *Title,
126 EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,
127 UINTN Progress,
128 UINTN PreviousValue
129 )
130 ;
131
132 VOID
133 PlatformBdsConnectSequence (
134 VOID
135 )
136 ;
137
138 VOID
139 PlatformBdsBootFail (
140 IN BDS_COMMON_OPTION *Option,
141 IN EFI_STATUS Status,
142 IN CHAR16 *ExitData,
143 IN UINTN ExitDataSize
144 )
145 ;
146
147 VOID
148 PlatformBdsBootSuccess (
149 IN BDS_COMMON_OPTION *Option
150 )
151 ;
152
153 EFI_STATUS
154 ProcessCapsules (
155 EFI_BOOT_MODE BootMode
156 )
157 ;
158
159 EFI_STATUS
160 PlatformBdsConnectConsole (
161 IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole
162 )
163 ;
164
165 EFI_STATUS
166 PlatformBdsNoConsoleAction (
167 VOID
168 )
169 ;
170
171 #endif // _BDS_PLATFORM_H