mirror of
				https://git.proxmox.com/git/mirror_edk2
				synced 2025-10-31 01:35:30 +00:00 
			
		
		
		
	 d1102dba72
			
		
	
	
		d1102dba72
		
	
	
	
	
		
			
			1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
		
			
				
	
	
		
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Capsule Runtime Driver produces two UEFI capsule runtime services.
 | |
|   (UpdateCapsule, QueryCapsuleCapabilities)
 | |
|   It installs the Capsule Architectural Protocol defined in PI1.0a to signify
 | |
|   the capsule runtime services are ready.
 | |
| 
 | |
|   Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
 | |
|   Copyright (c) 2018, Linaro, Ltd. All rights reserved.<BR>
 | |
| 
 | |
|   This program and the accompanying materials are licensed and made available
 | |
|   under the terms and conditions of the BSD License which accompanies this
 | |
|   distribution.  The full text of the license may be found at
 | |
|   http://opensource.org/licenses/bsd-license.php
 | |
| 
 | |
|   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
|   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _CAPSULE_SERVICE_H_
 | |
| #define _CAPSULE_SERVICE_H_
 | |
| 
 | |
| #include <Uefi.h>
 | |
| 
 | |
| #include <Protocol/Capsule.h>
 | |
| #include <Guid/CapsuleVendor.h>
 | |
| #include <Guid/FmpCapsule.h>
 | |
| 
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/PcdLib.h>
 | |
| #include <Library/CapsuleLib.h>
 | |
| #include <Library/UefiDriverEntryPoint.h>
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| #include <Library/UefiRuntimeServicesTableLib.h>
 | |
| #include <Library/UefiRuntimeLib.h>
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/PrintLib.h>
 | |
| #include <Library/BaseMemoryLib.h>
 | |
| 
 | |
| /**
 | |
|   Create the variable to save the base address of page table and stack
 | |
|   for transferring into long mode in IA32 PEI.
 | |
| **/
 | |
| VOID
 | |
| SaveLongModeContext (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Whether the platform supports capsules that persist across reset. Note that
 | |
|   some platforms only support such capsules at boot time.
 | |
| 
 | |
|   @return TRUE  if a PersistAcrossReset capsule may be passed to UpdateCapsule()
 | |
|                 at this time
 | |
|           FALSE otherwise
 | |
| **/
 | |
| BOOLEAN
 | |
| IsPersistAcrossResetCapsuleSupported (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Writes Back a range of data cache lines covering a set of capsules in memory.
 | |
| 
 | |
|   Writes Back the data cache lines specified by ScatterGatherList.
 | |
| 
 | |
|   @param  ScatterGatherList Physical address of the data structure that
 | |
|                             describes a set of capsules in memory
 | |
| 
 | |
| **/
 | |
| VOID
 | |
| CapsuleCacheWriteBack (
 | |
|   IN  EFI_PHYSICAL_ADDRESS    ScatterGatherList
 | |
|   );
 | |
| 
 | |
| #endif
 |