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