ScriptExecute.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /** @file
  2. The header file for Boot Script Executer module.
  3. This driver is dispatched by Dxe core and the driver will reload itself to ACPI NVS memory
  4. in the entry point. The functionality is to interpret and restore the S3 boot script
  5. Copyright (c) 2013-2015 Intel Corporation.
  6. SPDX-License-Identifier: BSD-2-Clause-Patent
  7. **/
  8. #ifndef _SCRIPT_EXECUTE_H_
  9. #define _SCRIPT_EXECUTE_H_
  10. #include <PiDxe.h>
  11. #include <Library/BaseLib.h>
  12. #include <Library/UefiDriverEntryPoint.h>
  13. #include <Library/BaseMemoryLib.h>
  14. #include <Library/DebugLib.h>
  15. #include <Library/S3BootScriptLib.h>
  16. #include <Library/PeCoffLib.h>
  17. #include <Library/DxeServicesLib.h>
  18. #include <Library/UefiBootServicesTableLib.h>
  19. #include <Library/UefiRuntimeServicesTableLib.h>
  20. #include <Library/PcdLib.h>
  21. #include <Library/CacheMaintenanceLib.h>
  22. #include <Library/TimerLib.h>
  23. #include <Library/UefiLib.h>
  24. #include <Library/DebugAgentLib.h>
  25. #include <Library/LockBoxLib.h>
  26. #include <Library/IntelQNCLib.h>
  27. #include <Library/QNCAccessLib.h>
  28. #include <Guid/AcpiS3Context.h>
  29. #include <Guid/BootScriptExecutorVariable.h>
  30. #include <Guid/EventGroup.h>
  31. #include <IndustryStandard/Acpi.h>
  32. /**
  33. a ASM function to transfer control to OS.
  34. @param S3WakingVector The S3 waking up vector saved in ACPI Facs table
  35. @param AcpiLowMemoryBase a buffer under 1M which could be used during the transfer
  36. **/
  37. VOID
  38. AsmTransferControl (
  39. IN UINT32 S3WakingVector,
  40. IN UINT32 AcpiLowMemoryBase
  41. );
  42. VOID
  43. SetIdtEntry (
  44. IN ACPI_S3_CONTEXT *AcpiS3Context
  45. );
  46. /**
  47. Platform specific mechanism to transfer control to 16bit OS waking vector
  48. @param[in] AcpiWakingVector The 16bit OS waking vector
  49. @param[in] AcpiLowMemoryBase A buffer under 1M which could be used during the transfer
  50. **/
  51. VOID
  52. PlatformTransferControl16 (
  53. IN UINT32 AcpiWakingVector,
  54. IN UINT32 AcpiLowMemoryBase
  55. );
  56. #endif //_SCRIPT_EXECUTE_H_