]> git.proxmox.com Git - mirror_edk2.git/blame - UnixPkg/Library/UnixBdsLib/BdsPlatform.h
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8562 6f19259b...
[mirror_edk2.git] / UnixPkg / Library / UnixBdsLib / BdsPlatform.h
CommitLineData
804405e7 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name: \r
13\r
14 BdsPlatform.h\r
15\r
16Abstract:\r
17\r
18 Head file for BDS Platform specific code\r
19\r
20--*/\r
21\r
22#ifndef _BDS_PLATFORM_H\r
23#define _BDS_PLATFORM_H\r
24\r
25#include <PiDxe.h>\r
26\r
27#include <Library/DebugLib.h>\r
28#include <Library/BaseMemoryLib.h>\r
29#include <Library/UefiBootServicesTableLib.h>\r
c71b6597 30#include <Library/UefiRuntimeServicesTableLib.h>\r
804405e7 31#include <Library/MemoryAllocationLib.h>\r
32#include <Library/BaseLib.h>\r
33#include <Library/PcdLib.h>\r
34#include <Library/GenericBdsLib.h>\r
35#include <Library/PlatformBdsLib.h>\r
c5085e11 36#include <Library/DevicePathLib.h>\r
804405e7 37\r
38#include <Protocol/UnixThunk.h>\r
39#include <Protocol/UnixIo.h>\r
fb0b55f6 40#include <Guid/Logo.h>\r
7d10090a 41#include <Guid/UnixSystemConfig.h>\r
804405e7 42\r
43extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];\r
44extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];\r
45extern EFI_DEVICE_PATH_PROTOCOL *gPlatformDriverOption[];\r
46\r
47#define gEndEntire \\r
48 { \\r
49 END_DEVICE_PATH_TYPE,\\r
50 END_ENTIRE_DEVICE_PATH_SUBTYPE,\\r
51 END_DEVICE_PATH_LENGTH,\\r
52 0\\r
53 }\r
54\r
55typedef struct {\r
56 VENDOR_DEVICE_PATH VendorDevicePath;\r
57 UINT32 Instance;\r
58} UNIX_VENDOR_DEVICE_PATH_NODE;\r
59\r
60//\r
61// Below is the platform console device path\r
62//\r
63typedef struct {\r
64 VENDOR_DEVICE_PATH UnixBus;\r
65 UNIX_VENDOR_DEVICE_PATH_NODE SerialDevice;\r
66 UART_DEVICE_PATH Uart;\r
67 VENDOR_DEVICE_PATH TerminalType;\r
68 EFI_DEVICE_PATH_PROTOCOL End;\r
69} UNIX_ISA_SERIAL_DEVICE_PATH;\r
70\r
71typedef struct {\r
72 VENDOR_DEVICE_PATH UnixBus;\r
73 UNIX_VENDOR_DEVICE_PATH_NODE UnixUgaDevice;\r
74 EFI_DEVICE_PATH_PROTOCOL End;\r
75} UNIX_PLATFORM_UGA_DEVICE_PATH;\r
76\r
77typedef struct {\r
78 VENDOR_DEVICE_PATH UnixBus;\r
79 UNIX_VENDOR_DEVICE_PATH_NODE ConsoleDevice;\r
80 EFI_DEVICE_PATH_PROTOCOL End;\r
81} UNIX_CONSOLE_DEVICE_PATH;\r
82//\r
83// Platform BDS Functions\r
84//\r
804405e7 85VOID\r
86PlatformBdsGetDriverOption (\r
87 IN LIST_ENTRY *BdsDriverLists\r
88 )\r
89;\r
90\r
91EFI_STATUS\r
92BdsMemoryTest (\r
93 EXTENDMEM_COVERAGE_LEVEL Level\r
94 )\r
95;\r
96\r
804405e7 97\r
98VOID\r
99PlatformBdsConnectSequence (\r
100 VOID\r
101 )\r
102;\r
103\r
804405e7 104EFI_STATUS\r
105ProcessCapsules (\r
106 EFI_BOOT_MODE BootMode\r
107 )\r
108;\r
109\r
110EFI_STATUS\r
111PlatformBdsConnectConsole (\r
112 IN BDS_CONSOLE_CONNECT_ENTRY *PlatformConsole\r
113 )\r
114;\r
115\r
116EFI_STATUS\r
117PlatformBdsNoConsoleAction (\r
118 VOID\r
119 )\r
120;\r
121\r
122VOID\r
123PlatformBdsEnterFrontPage (\r
124 IN UINT16 TimeoutDefault,\r
125 IN BOOLEAN ConnectAllHappened\r
126 );\r
127\r
128#endif // _BDS_PLATFORM_H\r