]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / Library / PlatformBootManagerLib / PlatformData.c
CommitLineData
30541881
RN
1/** @file\r
2 Defined the platform specific device path which will be used by\r
3 platform Bbd to perform the platform policy connect.\r
4\r
f4d575b5 5 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>\r
b26f0cf9 6 SPDX-License-Identifier: BSD-2-Clause-Patent\r
30541881
RN
7\r
8**/\r
9\r
10#include "BdsPlatform.h"\r
04cb578d 11#include <Guid/QemuRamfb.h>\r
05480e2f 12#include <Guid/SerialPortLibVendor.h>\r
30541881 13\r
f4d575b5 14//\r
05480e2f 15// Vendor UART Device Path structure\r
f4d575b5 16//\r
05480e2f 17#pragma pack (1)\r
f4d575b5 18typedef struct {\r
ac0a286f
MK
19 VENDOR_DEVICE_PATH VendorHardware;\r
20 UART_DEVICE_PATH Uart;\r
21 VENDOR_DEVICE_PATH TerminalType;\r
22 EFI_DEVICE_PATH_PROTOCOL End;\r
f4d575b5 23} VENDOR_UART_DEVICE_PATH;\r
05480e2f 24#pragma pack ()\r
f4d575b5 25\r
5e0e476a
LE
26//\r
27// USB Keyboard Device Path structure\r
28//\r
29#pragma pack (1)\r
30typedef struct {\r
ac0a286f
MK
31 USB_CLASS_DEVICE_PATH Keyboard;\r
32 EFI_DEVICE_PATH_PROTOCOL End;\r
5e0e476a
LE
33} USB_KEYBOARD_DEVICE_PATH;\r
34#pragma pack ()\r
35\r
04cb578d
GH
36//\r
37// QemuRamfb Device Path structure\r
38//\r
39#pragma pack (1)\r
40typedef struct {\r
ac0a286f
MK
41 VENDOR_DEVICE_PATH Vendor;\r
42 ACPI_ADR_DEVICE_PATH AcpiAdr;\r
43 EFI_DEVICE_PATH_PROTOCOL End;\r
04cb578d
GH
44} VENDOR_RAMFB_DEVICE_PATH;\r
45#pragma pack ()\r
46\r
ac0a286f
MK
47ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode = gPnpPs2Keyboard;\r
48ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode = gPnp16550ComPort;\r
49UART_DEVICE_PATH gUartDeviceNode = gUart;\r
50VENDOR_DEVICE_PATH gTerminalTypeDeviceNode = gPcAnsiTerminal;\r
30541881
RN
51\r
52//\r
53// Platform specific keyboard device path\r
54//\r
55\r
f4d575b5
MK
56//\r
57// Debug Agent UART Device Path\r
58//\r
ac0a286f 59VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath = {\r
f4d575b5
MK
60 {\r
61 {\r
62 HARDWARE_DEVICE_PATH,\r
63 HW_VENDOR_DP,\r
64 {\r
ac0a286f
MK
65 (UINT8)(sizeof (VENDOR_DEVICE_PATH)),\r
66 (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
f4d575b5
MK
67 }\r
68 },\r
69 EFI_DEBUG_AGENT_GUID,\r
70 },\r
71 {\r
72 {\r
73 MESSAGING_DEVICE_PATH,\r
74 MSG_UART_DP,\r
75 {\r
ac0a286f
MK
76 (UINT8)(sizeof (UART_DEVICE_PATH)),\r
77 (UINT8)((sizeof (UART_DEVICE_PATH)) >> 8)\r
f4d575b5
MK
78 }\r
79 },\r
80 0, // Reserved\r
81 0, // BaudRate - Default\r
82 0, // DataBits - Default\r
83 0, // Parity - Default\r
84 0, // StopBits - Default\r
85 },\r
86 gPcAnsiTerminal,\r
87 gEndEntire\r
88};\r
89\r
ac0a286f 90STATIC USB_KEYBOARD_DEVICE_PATH gUsbKeyboardDevicePath = {\r
5e0e476a
LE
91 {\r
92 {\r
93 MESSAGING_DEVICE_PATH,\r
94 MSG_USB_CLASS_DP,\r
95 {\r
96 (UINT8)sizeof (USB_CLASS_DEVICE_PATH),\r
97 (UINT8)(sizeof (USB_CLASS_DEVICE_PATH) >> 8)\r
98 }\r
99 },\r
100 0xFFFF, // VendorId: any\r
101 0xFFFF, // ProductId: any\r
102 3, // DeviceClass: HID\r
103 1, // DeviceSubClass: boot\r
104 1 // DeviceProtocol: keyboard\r
105 },\r
106 gEndEntire\r
107};\r
f4d575b5 108\r
ac0a286f 109STATIC VENDOR_RAMFB_DEVICE_PATH gQemuRamfbDevicePath = {\r
04cb578d
GH
110 {\r
111 {\r
112 HARDWARE_DEVICE_PATH,\r
113 HW_VENDOR_DP,\r
114 {\r
ac0a286f
MK
115 (UINT8)(sizeof (VENDOR_DEVICE_PATH)),\r
116 (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
04cb578d
GH
117 }\r
118 },\r
119 QEMU_RAMFB_GUID,\r
120 },\r
121 {\r
122 {\r
123 ACPI_DEVICE_PATH,\r
124 ACPI_ADR_DP,\r
125 {\r
ac0a286f
MK
126 (UINT8)(sizeof (ACPI_ADR_DEVICE_PATH)),\r
127 (UINT8)((sizeof (ACPI_ADR_DEVICE_PATH)) >> 8)\r
04cb578d
GH
128 }\r
129 },\r
130 ACPI_DISPLAY_ADR (\r
131 1, // DeviceIdScheme\r
132 0, // HeadId\r
133 0, // NonVgaOutput\r
134 1, // BiosCanDetect\r
135 0, // VendorInfo\r
136 ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL, // Type\r
137 0, // Port\r
138 0 // Index\r
139 ),\r
140 },\r
141 gEndEntire\r
142};\r
143\r
ac0a286f 144STATIC VENDOR_UART_DEVICE_PATH gXenConsoleDevicePath = {\r
05480e2f
AP
145 {\r
146 {\r
147 HARDWARE_DEVICE_PATH,\r
148 HW_VENDOR_DP,\r
149 {\r
ac0a286f
MK
150 (UINT8)(sizeof (VENDOR_DEVICE_PATH)),\r
151 (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
05480e2f
AP
152 }\r
153 },\r
154 EDKII_SERIAL_PORT_LIB_VENDOR_GUID\r
155 },\r
156 {\r
157 {\r
158 MESSAGING_DEVICE_PATH,\r
159 MSG_UART_DP,\r
160 {\r
ac0a286f
MK
161 (UINT8)(sizeof (UART_DEVICE_PATH)),\r
162 (UINT8)((sizeof (UART_DEVICE_PATH)) >> 8)\r
05480e2f
AP
163 }\r
164 },\r
165 0,\r
166 FixedPcdGet64 (PcdUartDefaultBaudRate),\r
167 FixedPcdGet8 (PcdUartDefaultDataBits),\r
168 FixedPcdGet8 (PcdUartDefaultParity),\r
169 FixedPcdGet8 (PcdUartDefaultStopBits),\r
170 },\r
171 gPcAnsiTerminal,\r
172 gEndEntire\r
173};\r
174\r
30541881
RN
175//\r
176// Predefined platform default console device path\r
177//\r
ac0a286f 178PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[] = {\r
f4d575b5 179 {\r
ac0a286f 180 (EFI_DEVICE_PATH_PROTOCOL *)&gDebugAgentUartDevicePath,\r
f4d575b5
MK
181 (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)\r
182 },\r
5e0e476a
LE
183 {\r
184 (EFI_DEVICE_PATH_PROTOCOL *)&gUsbKeyboardDevicePath,\r
185 CONSOLE_IN\r
186 },\r
04cb578d
GH
187 {\r
188 (EFI_DEVICE_PATH_PROTOCOL *)&gQemuRamfbDevicePath,\r
189 CONSOLE_OUT\r
190 },\r
30541881
RN
191 {\r
192 NULL,\r
193 0\r
194 }\r
195};\r
196\r
ac0a286f 197PLATFORM_CONSOLE_CONNECT_ENTRY gXenPlatformConsole[] = {\r
05480e2f
AP
198 {\r
199 (EFI_DEVICE_PATH_PROTOCOL *)&gXenConsoleDevicePath,\r
200 (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)\r
201 },\r
202 {\r
203 NULL,\r
204 0\r
205 }\r
206};\r
207\r
30541881
RN
208//\r
209// Predefined platform connect sequence\r
210//\r
ac0a286f 211EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[] = { NULL };\r