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