• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*++ @file
2 
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 Portions copyright (c) 2011, Apple Inc. All rights reserved.
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution.  The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9 
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 
13 **/
14 
15 #ifndef _BDS_PLATFORM_H
16 #define _BDS_PLATFORM_H
17 
18 #include <PiDxe.h>
19 
20 #include <Guid/EmuSystemConfig.h>
21 #include <Protocol/EmuThunk.h>
22 #include <Protocol/EmuIoThunk.h>
23 #include <Protocol/EmuGraphicsWindow.h>
24 
25 #include <Library/DebugLib.h>
26 #include <Library/BaseMemoryLib.h>
27 #include <Library/UefiBootServicesTableLib.h>
28 #include <Library/UefiRuntimeServicesTableLib.h>
29 #include <Library/MemoryAllocationLib.h>
30 #include <Library/BaseLib.h>
31 #include <Library/PcdLib.h>
32 #include <Library/GenericBdsLib.h>
33 #include <Library/PlatformBdsLib.h>
34 #include <Library/DevicePathLib.h>
35 
36 
37 extern BDS_CONSOLE_CONNECT_ENTRY  gPlatformConsole[];
38 extern EFI_DEVICE_PATH_PROTOCOL   *gPlatformConnectSequence[];
39 extern EFI_DEVICE_PATH_PROTOCOL   *gPlatformDriverOption[];
40 
41 #define gEndEntire \
42   { \
43     END_DEVICE_PATH_TYPE,\
44     END_ENTIRE_DEVICE_PATH_SUBTYPE,\
45     { \
46       END_DEVICE_PATH_LENGTH,\
47       0\
48     }\
49   }
50 
51 
52 typedef struct {
53   EMU_VENDOR_DEVICE_PATH_NODE     EmuBus;
54   EMU_VENDOR_DEVICE_PATH_NODE     EmuGraphicsWindow;
55   EFI_DEVICE_PATH_PROTOCOL        End;
56 } EMU_PLATFORM_UGA_DEVICE_PATH;
57 
58 
59 //
60 // Platform BDS Functions
61 //
62 VOID
63 PlatformBdsGetDriverOption (
64   IN LIST_ENTRY               *BdsDriverLists
65   );
66 
67 EFI_STATUS
68 BdsMemoryTest (
69   EXTENDMEM_COVERAGE_LEVEL Level
70   );
71 
72 
73 VOID
74 PlatformBdsConnectSequence (
75   VOID
76   );
77 
78 EFI_STATUS
79 ProcessCapsules (
80   EFI_BOOT_MODE BootMode
81   );
82 
83 EFI_STATUS
84 PlatformBdsConnectConsole (
85   IN BDS_CONSOLE_CONNECT_ENTRY   *PlatformConsole
86   );
87 
88 EFI_STATUS
89 PlatformBdsNoConsoleAction (
90   VOID
91   );
92 
93 VOID
94 PlatformBdsEnterFrontPage (
95   IN UINT16                 TimeoutDefault,
96   IN BOOLEAN                ConnectAllHappened
97   );
98 
99 #endif // _BDS_PLATFORM_H
100