]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/PlatformBdsDxe/BdsPlatform.h
Add virtual CpuModel, CpuSpeed and Memory driver into default connect device list.
[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 typedef struct {
73 VENDOR_DEVICE_PATH NtBus;
74 WIN_NT_VENDOR_DEVICE_PATH_NODE NtCpuModelDevice;
75 EFI_DEVICE_PATH_PROTOCOL End;
76 } NT_PLATFORM_CPU_MODEL_VIRTUAL_DEVICE_PATH;
77
78 typedef struct {
79 VENDOR_DEVICE_PATH NtBus;
80 WIN_NT_VENDOR_DEVICE_PATH_NODE NtCpuSpeedDevice;
81 EFI_DEVICE_PATH_PROTOCOL End;
82 } NT_PLATFORM_CPU_SPEED_VIRTUAL_DEVICE_PATH;
83
84 typedef struct {
85 VENDOR_DEVICE_PATH NtBus;
86 WIN_NT_VENDOR_DEVICE_PATH_NODE NtMemoryDeivce;
87 EFI_DEVICE_PATH_PROTOCOL End;
88 } NT_PLATFORM_MEMORY_VIRTUAL_DEVICE_PATH;
89
90 //
91 // Platform BDS Functions
92 //
93 VOID
94 PlatformBdsInit (
95 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData
96 )
97 ;
98
99 VOID
100 PlatformBdsPolicyBehavior (
101 IN EFI_BDS_ARCH_PROTOCOL_INSTANCE *PrivateData,
102 IN LIST_ENTRY *DriverOptionList,
103 IN LIST_ENTRY *BootOptionList
104 )
105 ;
106
107 VOID
108 PlatformBdsGetDriverOption (
109 IN LIST_ENTRY *BdsDriverLists
110 )
111 ;
112
113 EFI_STATUS
114 BdsMemoryTest (
115 EXTENDMEM_COVERAGE_LEVEL Level
116 )
117 ;
118
119 EFI_STATUS
120 PlatformBdsShowProgress (
121 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleForeground,
122 EFI_GRAPHICS_OUTPUT_BLT_PIXEL TitleBackground,
123 CHAR16 *Title,
124 EFI_GRAPHICS_OUTPUT_BLT_PIXEL ProgressColor,
125 UINTN Progress,
126 UINTN PreviousValue
127 )
128 ;
129
130 VOID
131 PlatformBdsConnectSequence (
132 VOID
133 )
134 ;
135
136 VOID
137 PlatformBdsBootFail (
138 IN BDS_COMMON_OPTION *Option,
139 IN EFI_STATUS Status,
140 IN CHAR16 *ExitData,
141 IN UINTN ExitDataSize
142 )
143 ;
144
145 VOID
146 PlatformBdsBootSuccess (
147 IN BDS_COMMON_OPTION *Option
148 )
149 ;
150
151 EFI_STATUS
152 ProcessCapsules (
153 EFI_BOOT_MODE BootMode
154 )
155 ;
156
157 EFI_STATUS
158 PlatformBdsConnectConsole (
159 IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole
160 )
161 ;
162
163 EFI_STATUS
164 PlatformBdsNoConsoleAction (
165 VOID
166 )
167 ;
168
169 #endif // _BDS_PLATFORM_H