1 /**@file
2   Defined the platform specific device path which will be filled to
3   ConIn/ConOut variables.
4 
5 Copyright (c) 2015, 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 #include "PlatformBootManager.h"
16 
17 //
18 // Platform specific keyboard device path
19 //
20 NT_PLATFORM_GOP_DEVICE_PATH gGopDevicePath0 = {
21   {
22     HARDWARE_DEVICE_PATH,
23     HW_VENDOR_DP,
24     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
25     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
26     EFI_WIN_NT_THUNK_PROTOCOL_GUID
27   },
28   {
29     HARDWARE_DEVICE_PATH,
30     HW_VENDOR_DP,
31     (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)),
32     (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8),
33     EFI_WIN_NT_GOP_GUID,
34     0
35   },
36   gEndEntire
37 };
38 
39 NT_PLATFORM_GOP_DEVICE_PATH gGopDevicePath1 = {
40   {
41     HARDWARE_DEVICE_PATH,
42     HW_VENDOR_DP,
43     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
44     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
45     EFI_WIN_NT_THUNK_PROTOCOL_GUID
46   },
47   {
48     HARDWARE_DEVICE_PATH,
49     HW_VENDOR_DP,
50     (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)),
51     (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8),
52     EFI_WIN_NT_GOP_GUID,
53     1
54   },
55   gEndEntire
56 };
57 
58 //
59 // Platform specific serial device path
60 //
61 NT_ISA_SERIAL_DEVICE_PATH   gNtSerialDevicePath0 = {
62   {
63     HARDWARE_DEVICE_PATH,
64     HW_VENDOR_DP,
65     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
66     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
67     EFI_WIN_NT_THUNK_PROTOCOL_GUID
68   },
69   {
70     HARDWARE_DEVICE_PATH,
71     HW_VENDOR_DP,
72     (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)),
73     (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8),
74     EFI_WIN_NT_SERIAL_PORT_GUID
75   },
76   {
77     MESSAGING_DEVICE_PATH,
78     MSG_UART_DP,
79     (UINT8) (sizeof (UART_DEVICE_PATH)),
80     (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8),
81     0,
82     115200,
83     8,
84     1,
85     1
86   },
87   {
88     MESSAGING_DEVICE_PATH,
89     MSG_VENDOR_DP,
90     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
91     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
92     DEVICE_PATH_MESSAGING_PC_ANSI
93   },
94   gEndEntire
95 };
96 
97 NT_ISA_SERIAL_DEVICE_PATH   gNtSerialDevicePath1 = {
98   {
99     HARDWARE_DEVICE_PATH,
100     HW_VENDOR_DP,
101     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
102     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
103     EFI_WIN_NT_THUNK_PROTOCOL_GUID
104   },
105   {
106     HARDWARE_DEVICE_PATH,
107     HW_VENDOR_DP,
108     (UINT8) (sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)),
109     (UINT8) ((sizeof (WIN_NT_VENDOR_DEVICE_PATH_NODE)) >> 8),
110     EFI_WIN_NT_SERIAL_PORT_GUID,
111     1
112   },
113   {
114     MESSAGING_DEVICE_PATH,
115     MSG_UART_DP,
116     (UINT8) (sizeof (UART_DEVICE_PATH)),
117     (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8),
118     0,
119     115200,
120     8,
121     1,
122     1
123   },
124   {
125     MESSAGING_DEVICE_PATH,
126     MSG_VENDOR_DP,
127     (UINT8) (sizeof (VENDOR_DEVICE_PATH)),
128     (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8),
129     DEVICE_PATH_MESSAGING_PC_ANSI
130   },
131   gEndEntire
132 };
133 
134 //
135 // Predefined platform default console device path
136 //
137 PLATFORM_CONSOLE_CONNECT_ENTRY   gPlatformConsole[] = {
138   {
139     (EFI_DEVICE_PATH_PROTOCOL *) &gNtSerialDevicePath0,
140     (CONSOLE_OUT | CONSOLE_IN)
141   },
142   {
143     (EFI_DEVICE_PATH_PROTOCOL *) &gNtSerialDevicePath1,
144     (CONSOLE_OUT | CONSOLE_IN)
145   },
146   {
147     (EFI_DEVICE_PATH_PROTOCOL *) &gGopDevicePath0,
148     (CONSOLE_OUT | CONSOLE_IN)
149   },
150   {
151     (EFI_DEVICE_PATH_PROTOCOL *) &gGopDevicePath1,
152     (CONSOLE_OUT | CONSOLE_IN)
153   },
154   {
155     NULL,
156     0
157   }
158 };
159