2 Defined the platform specific device path which will be used by
3 platform Bbd to perform the platform policy connect.
5 Copyright (c) 2004 - 2017, Intel Corporation. All rights reserved.<BR>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
10 #include "BdsPlatform.h"
11 #include <Guid/QemuRamfb.h>
12 #include <Guid/SerialPortLibVendor.h>
15 // Vendor UART Device Path structure
19 VENDOR_DEVICE_PATH VendorHardware
;
20 UART_DEVICE_PATH Uart
;
21 VENDOR_DEVICE_PATH TerminalType
;
22 EFI_DEVICE_PATH_PROTOCOL End
;
23 } VENDOR_UART_DEVICE_PATH
;
27 // USB Keyboard Device Path structure
31 USB_CLASS_DEVICE_PATH Keyboard
;
32 EFI_DEVICE_PATH_PROTOCOL End
;
33 } USB_KEYBOARD_DEVICE_PATH
;
37 // QemuRamfb Device Path structure
41 VENDOR_DEVICE_PATH Vendor
;
42 ACPI_ADR_DEVICE_PATH AcpiAdr
;
43 EFI_DEVICE_PATH_PROTOCOL End
;
44 } VENDOR_RAMFB_DEVICE_PATH
;
47 ACPI_HID_DEVICE_PATH gPnpPs2KeyboardDeviceNode
= gPnpPs2Keyboard
;
48 ACPI_HID_DEVICE_PATH gPnp16550ComPortDeviceNode
= gPnp16550ComPort
;
49 UART_DEVICE_PATH gUartDeviceNode
= gUart
;
50 VENDOR_DEVICE_PATH gTerminalTypeDeviceNode
= gPcAnsiTerminal
;
53 // Platform specific keyboard device path
58 // Debug Agent UART Device Path
60 VENDOR_UART_DEVICE_PATH gDebugAgentUartDevicePath
= {
66 (UINT8
) (sizeof (VENDOR_DEVICE_PATH
)),
67 (UINT8
) ((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
74 MESSAGING_DEVICE_PATH
,
77 (UINT8
) (sizeof (UART_DEVICE_PATH
)),
78 (UINT8
) ((sizeof (UART_DEVICE_PATH
)) >> 8)
82 0, // BaudRate - Default
83 0, // DataBits - Default
84 0, // Parity - Default
85 0, // StopBits - Default
91 STATIC USB_KEYBOARD_DEVICE_PATH gUsbKeyboardDevicePath
= {
94 MESSAGING_DEVICE_PATH
,
97 (UINT8
)sizeof (USB_CLASS_DEVICE_PATH
),
98 (UINT8
)(sizeof (USB_CLASS_DEVICE_PATH
) >> 8)
101 0xFFFF, // VendorId: any
102 0xFFFF, // ProductId: any
103 3, // DeviceClass: HID
104 1, // DeviceSubClass: boot
105 1 // DeviceProtocol: keyboard
110 STATIC VENDOR_RAMFB_DEVICE_PATH gQemuRamfbDevicePath
= {
113 HARDWARE_DEVICE_PATH
,
116 (UINT8
) (sizeof (VENDOR_DEVICE_PATH
)),
117 (UINT8
) ((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
127 (UINT8
) (sizeof (ACPI_ADR_DEVICE_PATH
)),
128 (UINT8
) ((sizeof (ACPI_ADR_DEVICE_PATH
)) >> 8)
137 ACPI_ADR_DISPLAY_TYPE_EXTERNAL_DIGITAL
, // Type
145 STATIC VENDOR_UART_DEVICE_PATH gXenConsoleDevicePath
= {
148 HARDWARE_DEVICE_PATH
,
151 (UINT8
) (sizeof (VENDOR_DEVICE_PATH
)),
152 (UINT8
) ((sizeof (VENDOR_DEVICE_PATH
)) >> 8)
155 EDKII_SERIAL_PORT_LIB_VENDOR_GUID
159 MESSAGING_DEVICE_PATH
,
162 (UINT8
) (sizeof (UART_DEVICE_PATH
)),
163 (UINT8
) ((sizeof (UART_DEVICE_PATH
)) >> 8)
167 FixedPcdGet64 (PcdUartDefaultBaudRate
),
168 FixedPcdGet8 (PcdUartDefaultDataBits
),
169 FixedPcdGet8 (PcdUartDefaultParity
),
170 FixedPcdGet8 (PcdUartDefaultStopBits
),
177 // Predefined platform default console device path
179 PLATFORM_CONSOLE_CONNECT_ENTRY gPlatformConsole
[] = {
181 (EFI_DEVICE_PATH_PROTOCOL
*) &gDebugAgentUartDevicePath
,
182 (CONSOLE_OUT
| CONSOLE_IN
| STD_ERROR
)
185 (EFI_DEVICE_PATH_PROTOCOL
*)&gUsbKeyboardDevicePath
,
189 (EFI_DEVICE_PATH_PROTOCOL
*)&gQemuRamfbDevicePath
,
198 PLATFORM_CONSOLE_CONNECT_ENTRY gXenPlatformConsole
[] = {
200 (EFI_DEVICE_PATH_PROTOCOL
*)&gXenConsoleDevicePath
,
201 (CONSOLE_OUT
| CONSOLE_IN
| STD_ERROR
)
210 // Predefined platform connect sequence
212 EFI_DEVICE_PATH_PROTOCOL
*gPlatformConnectSequence
[] = { NULL
};