mirror of
				https://github.com/acidanthera/audk.git
				synced 2025-10-31 11:13:53 +01:00 
			
		
		
		
	RuntimeDxe is used to back the runtime services time functions, so align the description of the function return values with the defined values for these services as described in UEFI Spec 2.10. REF: UEFI spec 2.10 section 8 Services ? Runtime Services Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			128 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			4.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
|   Runtime Architectural Protocol as defined in the DXE CIS.
 | |
| 
 | |
|   This code is used to produce the EFI runtime architectural protocol.
 | |
| 
 | |
| Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _RUNTIME_H_
 | |
| #define _RUNTIME_H_
 | |
| 
 | |
| #include <PiDxe.h>
 | |
| #include <Protocol/LoadedImage.h>
 | |
| #include <Protocol/Runtime.h>
 | |
| #include <Library/BaseLib.h>
 | |
| #include <Library/UefiDriverEntryPoint.h>
 | |
| #include <Library/DebugLib.h>
 | |
| #include <Library/ReportStatusCodeLib.h>
 | |
| #include <Library/UefiRuntimeServicesTableLib.h>
 | |
| #include <Library/UefiBootServicesTableLib.h>
 | |
| #include <Library/UefiLib.h>
 | |
| #include <Library/CacheMaintenanceLib.h>
 | |
| #include <Library/PeCoffLib.h>
 | |
| 
 | |
| //
 | |
| // Function Prototypes
 | |
| //
 | |
| 
 | |
| /**
 | |
|   Calculate CRC32 for target data.
 | |
| 
 | |
|   @param Data            The target data.
 | |
|   @param DataSize        The target data size.
 | |
|   @param CrcOut          The CRC32 for target data.
 | |
| 
 | |
|   @retval  EFI_SUCCESS            The CRC32 for target data is calculated successfully.
 | |
|   @retval  EFI_INVALID_PARAMETER  Some parameter is not valid, so the CRC32 is not
 | |
|                                   calculated.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| RuntimeDriverCalculateCrc32 (
 | |
|   IN  VOID    *Data,
 | |
|   IN  UINTN   DataSize,
 | |
|   OUT UINT32  *CrcOut
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Determines the new virtual address that is to be used on subsequent memory accesses.
 | |
| 
 | |
| 
 | |
|   @param DebugDisposition Supplies type information for the pointer being converted.
 | |
|   @param ConvertAddress  A pointer to a pointer that is to be fixed to be the value needed
 | |
|                          for the new virtual address mappings being applied.
 | |
| 
 | |
|   @retval  EFI_SUCCESS              The pointer pointed to by Address was modified.
 | |
|   @retval  EFI_NOT_FOUND            The pointer pointed to by Address was not found to be part
 | |
|                                     of the current memory map. This is normally fatal.
 | |
|   @retval  EFI_INVALID_PARAMETER    1) Address is NULL.
 | |
|                                     2) *Address is NULL and DebugDisposition does
 | |
|                                     not have the EFI_OPTIONAL_PTR bit set.
 | |
|   @retval  EFI_UNSUPPORTED          This call is not supported by this platform at the time the call is made.
 | |
|                                     The platform should describe this runtime service as unsupported at runtime
 | |
|                                     via an EFI_RT_PROPERTIES_TABLE configuration table.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| RuntimeDriverConvertPointer (
 | |
|   IN     UINTN  DebugDisposition,
 | |
|   IN OUT VOID   **ConvertAddress
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Changes the runtime addressing mode of EFI firmware from physical to virtual.
 | |
| 
 | |
|   @param  MemoryMapSize   The size in bytes of VirtualMap.
 | |
|   @param  DescriptorSize  The size in bytes of an entry in the VirtualMap.
 | |
|   @param  DescriptorVersion The version of the structure entries in VirtualMap.
 | |
|   @param  VirtualMap      An array of memory descriptors which contain new virtual
 | |
|                          address mapping information for all runtime ranges.
 | |
| 
 | |
|   @retval  EFI_SUCCESS            The virtual address map has been applied.
 | |
|   @retval  EFI_UNSUPPORTED        EFI firmware is not at runtime, or the EFI firmware is already in
 | |
|                                   virtual address mapped mode.
 | |
|   @retval  EFI_INVALID_PARAMETER  DescriptorSize or DescriptorVersion is invalid.
 | |
|   @retval  EFI_NO_MAPPING         A virtual address was not supplied for a range in the memory
 | |
|                                   map that requires a mapping.
 | |
|   @retval  EFI_NOT_FOUND          A virtual address was supplied for an address that is not found
 | |
|                                   in the memory map.
 | |
|   @retval  EFI_UNSUPPORTED        This call is not supported by this platform at the time the call is made.
 | |
|                                   The platform should describe this runtime service as unsupported at runtime
 | |
|                                   via an EFI_RT_PROPERTIES_TABLE configuration table.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| RuntimeDriverSetVirtualAddressMap (
 | |
|   IN UINTN                  MemoryMapSize,
 | |
|   IN UINTN                  DescriptorSize,
 | |
|   IN UINT32                 DescriptorVersion,
 | |
|   IN EFI_MEMORY_DESCRIPTOR  *VirtualMap
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   Install Runtime AP. This code includes the EfiRuntimeLib, but it only
 | |
|   functions at RT in physical mode.
 | |
| 
 | |
|   @param  ImageHandle     Image handle of this driver.
 | |
|   @param  SystemTable     Pointer to the EFI System Table.
 | |
| 
 | |
|   @retval EFI_SUCEESS  Runtime Driver Architectural Protocol Installed
 | |
|   @return Other value if gBS->InstallMultipleProtocolInterfaces fails. Check
 | |
|            gBS->InstallMultipleProtocolInterfaces for details.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| RuntimeDriverInitialize (
 | |
|   IN EFI_HANDLE        ImageHandle,
 | |
|   IN EFI_SYSTEM_TABLE  *SystemTable
 | |
|   );
 | |
| 
 | |
| #endif
 |