AARCH64 support has been added to BaseRngLib via the optional ARMv8.5 FEAT_RNG. Refactor RngDxe to support AARCH64, note support for it in the VALID_ARCHITECTURES line of RngDxe.inf and enable it in SecurityPkg.dsc. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Acked-by: Jiewen Yao <Jiewen.yao@intel.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #  Produces the UEFI Random Number Generator protocol
 | |
| #
 | |
| #  This module will leverage Intel Secure Key technology to produce the Random
 | |
| #  Number Generator protocol, which is used to provide high-quality random numbers
 | |
| #  for use in applications, or entropy for seeding other random number generators.
 | |
| #  Refer to http://software.intel.com/en-us/articles/intel-digital-random-number
 | |
| #  -generator-drng-software-implementation-guide/ for more information about Intel
 | |
| #  Secure Key technology.
 | |
| #
 | |
| #  Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
 | |
| #  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
 | |
| #  SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = RngDxe
 | |
|   FILE_GUID                      = B981A835-6EE8-4f4c-AE0B-210AA0BFBF01
 | |
|   MODULE_TYPE                    = DXE_DRIVER
 | |
|   VERSION_STRING                 = 1.0
 | |
|   ENTRY_POINT                    = RngDriverEntry
 | |
|   MODULE_UNI_FILE                = RngDxe.uni
 | |
| 
 | |
| #
 | |
| # The following information is for reference only and not required by the build tools.
 | |
| #
 | |
| #  VALID_ARCHITECTURES           = IA32 X64 AARCH64
 | |
| #
 | |
| 
 | |
| [Sources.common]
 | |
|   RngDxe.c
 | |
|   RngDxeInternals.h
 | |
| 
 | |
| [Sources.IA32, Sources.X64]
 | |
|   Rand/RngDxe.c
 | |
|   Rand/RdRand.c
 | |
|   Rand/RdRand.h
 | |
|   Rand/AesCore.c
 | |
|   Rand/AesCore.h
 | |
| 
 | |
| [Sources.AARCH64]
 | |
|   AArch64/RngDxe.c
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   SecurityPkg/SecurityPkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   UefiLib
 | |
|   UefiBootServicesTableLib
 | |
|   BaseLib
 | |
|   DebugLib
 | |
|   UefiDriverEntryPoint
 | |
|   TimerLib
 | |
|   RngLib
 | |
| 
 | |
| [Guids]
 | |
|   gEfiRngAlgorithmSp80090Hash256Guid  ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
|   gEfiRngAlgorithmSp80090Hmac256Guid  ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
|   gEfiRngAlgorithmSp80090Ctr256Guid   ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
|   gEfiRngAlgorithmX9313DesGuid        ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
|   gEfiRngAlgorithmX931AesGuid         ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
|   gEfiRngAlgorithmRaw                 ## SOMETIMES_PRODUCES    ## GUID        # Unique ID of the algorithm for RNG
 | |
| 
 | |
| [Protocols]
 | |
|   gEfiRngProtocolGuid                ## PRODUCES
 | |
| 
 | |
| [Pcd]
 | |
|   gEfiSecurityPkgTokenSpaceGuid.PcdCpuRngSupportedAlgorithm      ## CONSUMES
 | |
| 
 | |
| [Depex]
 | |
|   TRUE
 | |
| 
 | |
| [BuildOptions]
 | |
|   XCODE:*_*_*_CC_FLAGS = -mmmx -msse
 | |
| 
 | |
| [UserExtensions.TianoCore."ExtraFiles"]
 | |
|   RngDxeExtra.uni
 |