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