]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleService.h
MdeModulePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdeModulePkg / Universal / CapsuleRuntimeDxe / CapsuleService.h
CommitLineData
e077a93d
AB
1/** @file\r
2 Capsule Runtime Driver produces two UEFI capsule runtime services.\r
3 (UpdateCapsule, QueryCapsuleCapabilities)\r
d1102dba 4 It installs the Capsule Architectural Protocol defined in PI1.0a to signify\r
e077a93d
AB
5 the capsule runtime services are ready.\r
6\r
d1102dba 7 Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
e077a93d
AB
8 Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>\r
9\r
9d510e61 10 SPDX-License-Identifier: BSD-2-Clause-Patent\r
e077a93d
AB
11\r
12**/\r
13\r
4e8ee0a0
DB
14#ifndef _CAPSULE_SERVICE_H_\r
15#define _CAPSULE_SERVICE_H_\r
16\r
e077a93d
AB
17#include <Uefi.h>\r
18\r
19#include <Protocol/Capsule.h>\r
20#include <Guid/CapsuleVendor.h>\r
21#include <Guid/FmpCapsule.h>\r
22\r
23#include <Library/DebugLib.h>\r
24#include <Library/PcdLib.h>\r
25#include <Library/CapsuleLib.h>\r
26#include <Library/UefiDriverEntryPoint.h>\r
27#include <Library/UefiBootServicesTableLib.h>\r
28#include <Library/UefiRuntimeServicesTableLib.h>\r
29#include <Library/UefiRuntimeLib.h>\r
30#include <Library/BaseLib.h>\r
31#include <Library/PrintLib.h>\r
32#include <Library/BaseMemoryLib.h>\r
33\r
34/**\r
35 Create the variable to save the base address of page table and stack\r
36 for transferring into long mode in IA32 PEI.\r
37**/\r
38VOID\r
39SaveLongModeContext (\r
40 VOID\r
41 );\r
42\r
43/**\r
44 Whether the platform supports capsules that persist across reset. Note that\r
45 some platforms only support such capsules at boot time.\r
46\r
47 @return TRUE if a PersistAcrossReset capsule may be passed to UpdateCapsule()\r
48 at this time\r
49 FALSE otherwise\r
50**/\r
51BOOLEAN\r
52IsPersistAcrossResetCapsuleSupported (\r
53 VOID\r
54 );\r
55\r
56/**\r
57 Writes Back a range of data cache lines covering a set of capsules in memory.\r
58\r
59 Writes Back the data cache lines specified by ScatterGatherList.\r
60\r
61 @param ScatterGatherList Physical address of the data structure that\r
62 describes a set of capsules in memory\r
63\r
64**/\r
65VOID\r
66CapsuleCacheWriteBack (\r
67 IN EFI_PHYSICAL_ADDRESS ScatterGatherList\r
68 );\r
4e8ee0a0
DB
69\r
70#endif\r