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