1 /** @file 2 3 Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 **/ 13 14 #ifndef _INTERNAL_LEGACY_BM_H_ 15 #define _INTERNAL_LEGACY_BM_H_ 16 17 #include <PiDxe.h> 18 #include <Guid/LegacyDevOrder.h> 19 #include <Guid/GlobalVariable.h> 20 #include <Protocol/LegacyBios.h> 21 #include <Protocol/PciRootBridgeIo.h> 22 #include <Protocol/PciIo.h> 23 #include <Library/BaseLib.h> 24 #include <Library/BaseMemoryLib.h> 25 #include <Library/DebugLib.h> 26 #include <Library/UefiBootServicesTableLib.h> 27 #include <Library/UefiRuntimeServicesTableLib.h> 28 #include <Library/UefiLib.h> 29 #include <Library/DevicePathLib.h> 30 #include <Library/UefiBootManagerLib.h> 31 #include <Library/MemoryAllocationLib.h> 32 #include <Library/PrintLib.h> 33 #include <Library/PerformanceLib.h> 34 35 #pragma pack(1) 36 typedef struct { 37 UINT16 BbsIndex; 38 } LEGACY_BM_BOOT_OPTION_BBS_DATA; 39 #pragma pack() 40 41 /** 42 Boot the legacy system with the boot option. 43 44 @param BootOption The legacy boot option which have BBS device path 45 On return, BootOption->Status contains the boot status. 46 EFI_UNSUPPORTED There is no legacybios protocol, do not support 47 legacy boot. 48 EFI_STATUS The status of LegacyBios->LegacyBoot (). 49 **/ 50 VOID 51 EFIAPI 52 LegacyBmBoot ( 53 IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOption 54 ); 55 56 /** 57 Refresh all legacy boot options. 58 59 **/ 60 VOID 61 EFIAPI 62 LegacyBmRefreshAllBootOption ( 63 VOID 64 ); 65 66 #endif // _INTERNAL_LEGACY_BM_H_