RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 In TDVF BSP and APs are simplified. BSP is the vCPU-0, while the others are treated as APs. So MP intialization is rather simple. ApWorker is not supported, BSP is always the working processor, while the APs are just in a wait-for-precedure state. Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
## @file
 | 
						|
#  MP Initialize Library instance for DXE driver.
 | 
						|
#
 | 
						|
#  Copyright (c) 2016 - 2021, Intel Corporation. All rights reserved.<BR>
 | 
						|
#  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
#
 | 
						|
##
 | 
						|
 | 
						|
[Defines]
 | 
						|
  INF_VERSION                    = 0x00010005
 | 
						|
  BASE_NAME                      = DxeMpInitLib
 | 
						|
  MODULE_UNI_FILE                = DxeMpInitLib.uni
 | 
						|
  FILE_GUID                      = B88F7146-9834-4c55-BFAC-481CC0C33736
 | 
						|
  MODULE_TYPE                    = DXE_DRIVER
 | 
						|
  VERSION_STRING                 = 1.1
 | 
						|
  LIBRARY_CLASS                  = MpInitLib|DXE_DRIVER
 | 
						|
 | 
						|
#
 | 
						|
# The following information is for reference only and not required by the build tools.
 | 
						|
#
 | 
						|
#  VALID_ARCHITECTURES           = IA32 X64
 | 
						|
#
 | 
						|
 | 
						|
[Sources.IA32]
 | 
						|
  Ia32/AmdSev.c
 | 
						|
  Ia32/MpFuncs.nasm
 | 
						|
  MpLibTdxNull.c
 | 
						|
 | 
						|
[Sources.X64]
 | 
						|
  X64/AmdSev.c
 | 
						|
  X64/MpFuncs.nasm
 | 
						|
  MpLibTdx.c
 | 
						|
 | 
						|
[Sources.common]
 | 
						|
  AmdSev.c
 | 
						|
  MpEqu.inc
 | 
						|
  DxeMpLib.c
 | 
						|
  MpLib.c
 | 
						|
  MpLib.h
 | 
						|
  Microcode.c
 | 
						|
  MpIntelTdx.h
 | 
						|
 | 
						|
[Packages]
 | 
						|
  MdePkg/MdePkg.dec
 | 
						|
  MdeModulePkg/MdeModulePkg.dec
 | 
						|
  UefiCpuPkg/UefiCpuPkg.dec
 | 
						|
 | 
						|
[LibraryClasses]
 | 
						|
  BaseLib
 | 
						|
  LocalApicLib
 | 
						|
  MemoryAllocationLib
 | 
						|
  HobLib
 | 
						|
  MtrrLib
 | 
						|
  CpuLib
 | 
						|
  UefiCpuLib
 | 
						|
  UefiBootServicesTableLib
 | 
						|
  DebugAgentLib
 | 
						|
  SynchronizationLib
 | 
						|
  PcdLib
 | 
						|
  VmgExitLib
 | 
						|
  MicrocodeLib
 | 
						|
 | 
						|
[Protocols]
 | 
						|
  gEfiTimerArchProtocolGuid                     ## SOMETIMES_CONSUMES
 | 
						|
 | 
						|
[Guids]
 | 
						|
  gEfiEventExitBootServicesGuid                 ## CONSUMES  ## Event
 | 
						|
  gEfiEventLegacyBootGuid                       ## SOMETIMES_CONSUMES  ## Event
 | 
						|
  gEdkiiMicrocodePatchHobGuid                   ## SOMETIMES_CONSUMES  ## HOB
 | 
						|
 | 
						|
[Pcd]
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber            ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuBootLogicalProcessorNumber           ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds          ## SOMETIMES_CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuApStackSize                          ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress                ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize             ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode                           ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuApTargetCstate                       ## SOMETIMES_CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdCpuApStatusCheckIntervalInMicroSeconds  ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdGhcbHypervisorFeatures                  ## CONSUMES
 | 
						|
  gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase                       ## SOMETIMES_CONSUMES
 | 
						|
  gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard                      ## CONSUMES
 | 
						|
  gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase                           ## CONSUMES
 | 
						|
  gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr           ## CONSUMES
 |