]> git.proxmox.com Git - mirror_edk2.git/blame - QuarkSocPkg/QuarkNorthCluster/S3Support/Dxe/QncS3Support.h
QuarkSocPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / QuarkSocPkg / QuarkNorthCluster / S3Support / Dxe / QncS3Support.h
CommitLineData
9b6bbcdb
MK
1/** @file\r
2Header file for QNC S3 Support driver\r
3\r
4This file includes package header files, library classes and protocol, PPI & GUID definitions.\r
5\r
6Copyright (c) 2013-2015 Intel Corporation.\r
7\r
c9f231d0 8SPDX-License-Identifier: BSD-2-Clause-Patent\r
9b6bbcdb
MK
9**/\r
10\r
11#ifndef _QNC_S3_SUPPORT_H_\r
12#define _QNC_S3_SUPPORT_H_\r
13\r
14//\r
15// External include files do NOT need to be explicitly specified in real EDKII\r
16// environment\r
17//\r
18//\r
19// Driver Consumed Protocol Prototypes\r
20//\r
21#include <Protocol/FirmwareVolume2.h>\r
22#include <Library/UefiLib.h>\r
23#include <Library/IoLib.h>\r
24#include <Library/DebugLib.h>\r
25#include <Library/DxeServicesLib.h>\r
26#include <Library/S3BootScriptLib.h>\r
27#include <Library/BaseMemoryLib.h>\r
28#include <Library/PeCoffLib.h>\r
29#include <Library/LockBoxLib.h>\r
30#include <Library/UefiDriverEntryPoint.h>\r
31#include <Library/UefiBootServicesTableLib.h>\r
32#include <Library/UefiRuntimeServicesTableLib.h>\r
33//\r
34// Driver Produced Protocol Prototypes\r
35//\r
36#include <Protocol/LoadedImage.h>\r
37#include <Protocol/QncS3Support.h>\r
38\r
39#include <Library/CacheMaintenanceLib.h>\r
40#include <Library/IntelQNCLib.h>\r
41//\r
42// Define the header of the context region.\r
43//\r
44typedef struct {\r
45 UINT32 MaxContexts;\r
46 UINT32 StorePosition;\r
47 EFI_DISPATCH_CONTEXT_UNION Contexts[1];\r
48} QNC_S3_PARAMETER_HEADER;\r
49//\r
50// Function prototypes\r
51//\r
52EFI_STATUS\r
53EFIAPI\r
54QncS3SetDispatchItem (\r
55 IN EFI_QNC_S3_SUPPORT_PROTOCOL *This,\r
56 IN EFI_QNC_S3_DISPATCH_ITEM *DispatchItem,\r
57 OUT VOID **S3DispatchEntryPoint,\r
58 OUT VOID **Context\r
59 )\r
60/*++\r
61\r
62Routine Description:\r
63\r
64 Set an item to be dispatched at S3 resume time. At the same time, the entry point\r
65 of the QNC S3 support image is returned to be used in subsequent boot script save\r
66 call\r
67\r
68Arguments:\r
69\r
70 This - Pointer to the protocol instance.\r
71 DispatchItem - The item to be dispatched.\r
72 S3DispatchEntryPoint - The entry point of the QNC S3 support image.\r
73\r
74Returns:\r
75\r
76 EFI_STATUS - Successfully completed.\r
77 EFI_OUT_OF_RESOURCES - Out of resources.\r
78\r
79--*/\r
80;\r
81\r
82EFI_STATUS\r
83LoadQncS3Image (\r
84 IN EFI_SYSTEM_TABLE *SystemTable\r
85 )\r
86/*++\r
87\r
88Routine Description:\r
89\r
90 Load the QNC S3 Image into Efi Reserved Memory below 4G.\r
91\r
92Arguments:\r
93\r
94 ImageEntryPoint the ImageEntryPoint after success loading\r
95\r
96Returns:\r
97\r
98 EFI_STATUS\r
99\r
100--*/\r
101;\r
102\r
103EFI_STATUS\r
104QncS3InitPcieRootPortDownstream (\r
105 IN EFI_HANDLE ImageHandle,\r
106 IN VOID *Context\r
107 );\r
108\r
109VOID\r
110EFIAPI\r
111QncS3BootEvent (\r
112 IN EFI_EVENT Event,\r
113 IN VOID *Context\r
114 );\r
115\r
116\r
117#endif\r