InternalLegacyBm.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /** @file
  2. Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef _INTERNAL_LEGACY_BM_H_
  6. #define _INTERNAL_LEGACY_BM_H_
  7. #include <PiDxe.h>
  8. #include <Guid/LegacyDevOrder.h>
  9. #include <Guid/GlobalVariable.h>
  10. #include <Protocol/LegacyBios.h>
  11. #include <Protocol/PciRootBridgeIo.h>
  12. #include <Protocol/PciIo.h>
  13. #include <Library/BaseLib.h>
  14. #include <Library/BaseMemoryLib.h>
  15. #include <Library/DebugLib.h>
  16. #include <Library/UefiBootServicesTableLib.h>
  17. #include <Library/UefiRuntimeServicesTableLib.h>
  18. #include <Library/UefiLib.h>
  19. #include <Library/DevicePathLib.h>
  20. #include <Library/UefiBootManagerLib.h>
  21. #include <Library/MemoryAllocationLib.h>
  22. #include <Library/PrintLib.h>
  23. #include <Library/PerformanceLib.h>
  24. #pragma pack(1)
  25. typedef struct {
  26. UINT16 BbsIndex;
  27. } LEGACY_BM_BOOT_OPTION_BBS_DATA;
  28. #pragma pack()
  29. /**
  30. Boot the legacy system with the boot option.
  31. @param BootOption The legacy boot option which have BBS device path
  32. On return, BootOption->Status contains the boot status.
  33. EFI_UNSUPPORTED There is no legacybios protocol, do not support
  34. legacy boot.
  35. EFI_STATUS The status of LegacyBios->LegacyBoot ().
  36. **/
  37. VOID
  38. EFIAPI
  39. LegacyBmBoot (
  40. IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOption
  41. );
  42. /**
  43. Refresh all legacy boot options.
  44. **/
  45. VOID
  46. EFIAPI
  47. LegacyBmRefreshAllBootOption (
  48. VOID
  49. );
  50. #endif // _INTERNAL_LEGACY_BM_H_