Home | History | Annotate | Download | only in EmuBdsLib
      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