]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/Library/PlatformBootManagerLib/PlatformData.c
OvmfPkg: Removing ipf which is no longer supported from edk2.
[mirror_edk2.git] / OvmfPkg / Library / PlatformBootManagerLib / PlatformData.c
1 /** @file
2 Defined the platform specific device path which will be used by
3 platform Bbd to perform the platform policy connect.
4
5 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #include "BdsPlatform.h"
17 #include <Guid/QemuRamfb.h>
18
19 //
20 // Debug Agent UART Device Path structure
21 //
22 #pragma pack(1)
23 typedef struct {
24 VENDOR_DEVICE_PATH VendorHardware;
25 UART_DEVICE_PATH Uart;
26 VENDOR_DEVICE_PATH TerminalType;
27 EFI_DEVICE_PATH_PROTOCOL End;
28 } VENDOR_UART_DEVICE_PATH;
29 #pragma pack()
30
31 //
32 // USB Keyboard Device Path structure
33 //
34 #pragma pack (1)
35 typedef struct {
36 USB_CLASS_DEVICE_PATH Keyboard;
37 EFI_DEVICE_PATH_PROTOCOL End;
38 } USB_KEYBOARD_DEVICE_PATH;
39 #pragma pack ()
40
41 //
42 // QemuRamfb Device Path structure
43 //
44 #pragma pack (1)
45 typedef struct {
46 VENDOR_DEVICE_PATH Vendor;
47 ACPI_ADR_DEVICE_PATH AcpiAdr;
48 EFI_DEVICE_PATH_PROTOCOL End;
49 } VENDOR_RAMFB_DEVICE_PATH;
50 #pragma pack ()
51
52 ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode = gPnpPs2Keyboard;
53 ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode = gPnp16550ComPort;
54 UART_DEVICE_PATH gUartDeviceNode = gUart;
55 VENDOR_DEVICE_PATH gTerminalTypeDeviceNode = gPcAnsiTerminal;
56
57 //
58 // Platform specific keyboard device path
59 //
60
61
62 //
63 // Debug Agent UART Device Path
64 //
65 VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath = {
66 {
67 {
68 HARDWARE_DEVICE_PATH,
69 HW_VENDOR_DP,
70 {
71 (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
72 (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
73 }
74 },
75 EFI_DEBUG_AGENT_GUID,
76 },
77 {
78 {
79 MESSAGING_DEVICE_PATH,
80 MSG_UART_DP,
81 {
82 (UINT8) (sizeof (UART_DEVICE_PATH)),
83 (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8)
84 }
85 },
86 0, // Reserved
87 0, // BaudRate - Default
88 0, // DataBits - Default
89 0, // Parity - Default
90 0, // StopBits - Default
91 },
92 gPcAnsiTerminal,
93 gEndEntire
94 };
95
96 STATIC USB_KEYBOARD_DEVICE_PATH gUsbKeyboardDevicePath = {
97 {
98 {
99 MESSAGING_DEVICE_PATH,
100 MSG_USB_CLASS_DP,
101 {
102 (UINT8)sizeof (USB_CLASS_DEVICE_PATH),
103 (UINT8)(sizeof (USB_CLASS_DEVICE_PATH) >> 8)
104 }
105 },
106 0xFFFF, // VendorId: any
107 0xFFFF, // ProductId: any
108 3, // DeviceClass: HID
109 1, // DeviceSubClass: boot
110 1 // DeviceProtocol: keyboard
111 },
112 gEndEntire
113 };
114
115 STATIC VENDOR_RAMFB_DEVICE_PATH gQemuRamfbDevicePath = {
116 {
117 {
118 HARDWARE_DEVICE_PATH,
119 HW_VENDOR_DP,
120 {
121 (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
122 (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)
123 }
124 },
125 QEMU_RAMFB_GUID,
126 },
127 {
128 {
129 ACPI_DEVICE_PATH,
130 ACPI_ADR_DP,
131 {
132 (UINT8) (sizeof (ACPI_ADR_DEVICE_PATH)),
133 (UINT8) ((sizeof (ACPI_ADR_DEVICE_PATH)) >> 8)
134 }
135 },
136 ACPI_DISPLAY_ADR (
137 1, // DeviceIdScheme
138 0, // HeadId
139 0, // NonVgaOutput
140 1, // BiosCanDetect
141 0, // VendorInfo
142 ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL, // Type
143 0, // Port
144 0 // Index
145 ),
146 },
147 gEndEntire
148 };
149
150 //
151 // Predefined platform default console device path
152 //
153 PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole[] = {
154 {
155 (EFI_DEVICE_PATH_PROTOCOL *) &gDebugAgentUartDevicePath,
156 (CONSOLE_OUT | CONSOLE_IN | STD_ERROR)
157 },
158 {
159 (EFI_DEVICE_PATH_PROTOCOL *)&gUsbKeyboardDevicePath,
160 CONSOLE_IN
161 },
162 {
163 (EFI_DEVICE_PATH_PROTOCOL *)&gQemuRamfbDevicePath,
164 CONSOLE_OUT
165 },
166 {
167 NULL,
168 0
169 }
170 };
171
172 //
173 // Predefined platform connect sequence
174 //
175 EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[] = { NULL };
176