Implementation of RISC-V DxeIPL. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2672 Signed-off-by: Abner Chang <abner.chang@hpe.com> Co-authored-by: Gilbert Chen <gilbert.chen@hpe.com> Co-authored-by: Daniel Helmut <daniel.schaefer@hpe.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Dandan Bi <dandan.bi@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Gilbert Chen <gilbert.chen@hpe.com>
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #  Last PEIM executed in PEI phase to load DXE Core from a Firmware Volume.
 | |
| #
 | |
| #  This module produces a special PPI named the DXE Initial Program Load (IPL)
 | |
| #  PPI to discover and dispatch the DXE Foundation and components that are
 | |
| #  needed to run the DXE Foundation.
 | |
| #
 | |
| #  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
 | |
| #  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
 | |
| #  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
 | |
| #
 | |
| #  SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = DxeIpl
 | |
|   MODULE_UNI_FILE                = DxeIpl.uni
 | |
|   FILE_GUID                      = 86D70125-BAA3-4296-A62F-602BEBBB9081
 | |
|   MODULE_TYPE                    = PEIM
 | |
|   VERSION_STRING                 = 1.0
 | |
| 
 | |
|   ENTRY_POINT                    = PeimInitializeDxeIpl
 | |
| 
 | |
| #
 | |
| # The following information is for reference only and not required by the build tools.
 | |
| #
 | |
| #  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only) AARCH64 RISCV64
 | |
| #
 | |
| 
 | |
| [Sources]
 | |
|   DxeIpl.h
 | |
|   DxeLoad.c
 | |
| 
 | |
| [Sources.Ia32]
 | |
|   X64/VirtualMemory.h
 | |
|   X64/VirtualMemory.c
 | |
|   Ia32/DxeLoadFunc.c
 | |
|   Ia32/IdtVectorAsm.nasm
 | |
| 
 | |
| [Sources.X64]
 | |
|   X64/VirtualMemory.h
 | |
|   X64/VirtualMemory.c
 | |
|   X64/DxeLoadFunc.c
 | |
| 
 | |
| [Sources.EBC]
 | |
|   Ebc/DxeLoadFunc.c
 | |
| 
 | |
| [Sources.ARM, Sources.AARCH64]
 | |
|   Arm/DxeLoadFunc.c
 | |
| 
 | |
| [Sources.RISCV64]
 | |
|   RiscV64/DxeLoadFunc.c
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   MdeModulePkg/MdeModulePkg.dec
 | |
| 
 | |
| [Packages.ARM, Packages.AARCH64]
 | |
|   ArmPkg/ArmPkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   PcdLib
 | |
|   MemoryAllocationLib
 | |
|   BaseMemoryLib
 | |
|   ExtractGuidedSectionLib
 | |
|   UefiDecompressLib
 | |
|   ReportStatusCodeLib
 | |
|   PeiServicesLib
 | |
|   HobLib
 | |
|   BaseLib
 | |
|   PeimEntryPoint
 | |
|   DebugLib
 | |
|   DebugAgentLib
 | |
|   PeiServicesTablePointerLib
 | |
|   PerformanceLib
 | |
| 
 | |
| [LibraryClasses.ARM, LibraryClasses.AARCH64]
 | |
|   ArmMmuLib
 | |
| 
 | |
| [Ppis]
 | |
|   gEfiDxeIplPpiGuid                      ## PRODUCES
 | |
|   gEfiPeiDecompressPpiGuid               ## PRODUCES
 | |
|   gEfiEndOfPeiSignalPpiGuid              ## SOMETIMES_PRODUCES # Not produced on S3 boot path
 | |
|   gEfiPeiReadOnlyVariable2PpiGuid        ## SOMETIMES_CONSUMES
 | |
|   gEfiPeiLoadFilePpiGuid                 ## SOMETIMES_CONSUMES
 | |
|   gEfiPeiS3Resume2PpiGuid                ## SOMETIMES_CONSUMES # Consumed on S3 boot path
 | |
|   gEfiPeiRecoveryModulePpiGuid           ## SOMETIMES_CONSUMES # Consumed on recovery boot path
 | |
|   ## SOMETIMES_CONSUMES
 | |
|   ## UNDEFINED # HOB
 | |
|   gEfiVectorHandoffInfoPpiGuid
 | |
|   gEfiPeiMemoryDiscoveredPpiGuid         ## SOMETIMES_CONSUMES
 | |
|   gEdkiiPeiBootInCapsuleOnDiskModePpiGuid  ## SOMETIMES_CONSUMES
 | |
|   gEdkiiPeiCapsuleOnDiskPpiGuid            ## SOMETIMES_CONSUMES # Consumed on firmware update boot path
 | |
| 
 | |
| [Guids]
 | |
|   ## SOMETIMES_CONSUMES ## Variable:L"MemoryTypeInformation"
 | |
|   ## SOMETIMES_PRODUCES ## HOB
 | |
|   gEfiMemoryTypeInformationGuid
 | |
| 
 | |
| [FeaturePcd.IA32]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode      ## CONSUMES
 | |
| 
 | |
| [FeaturePcd.X64]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables       ## CONSUMES
 | |
| 
 | |
| [FeaturePcd]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSupportUefiDecompress ## CONSUMES
 | |
| 
 | |
| [Pcd.IA32,Pcd.X64]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable                      ## SOMETIMES_CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask    ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask    ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask               ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard                       ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable                  ## SOMETIMES_CONSUMES
 | |
| 
 | |
| [Pcd.IA32,Pcd.X64,Pcd.ARM,Pcd.AARCH64]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack               ## SOMETIMES_CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy       ## SOMETIMES_CONSUMES
 | |
| 
 | |
| [Depex]
 | |
|   gEfiPeiLoadFilePpiGuid AND gEfiPeiMasterBootModePpiGuid
 | |
| 
 | |
| #
 | |
| # [BootMode]
 | |
| #  S3_RESUME                        ## SOMETIMES_CONSUMES
 | |
| #  RECOVERY_FULL                    ## SOMETIMES_CONSUMES
 | |
| #
 | |
| #
 | |
| # [Hob]
 | |
| # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_MODULE for DxeCore
 | |
| # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # New Stack HoB
 | |
| # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # Old Stack HOB
 | |
| #
 | |
| # [Hob.IPF]
 | |
| # MEMORY_ALLOCATION                 ## SOMETIMES_PRODUCES # MEMORY_ALLOCATION_BSP_STORE
 | |
| #
 | |
| 
 | |
| [UserExtensions.TianoCore."ExtraFiles"]
 | |
|   DxeIplExtra.uni
 |