REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1039 Current implementation not checks system mode before using PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.X64 or PAGE_TABLE_LIB_PAGING_CONTEXT.ContextData.Ia32. This patch check the mode before using the correct one. Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
		
			
				
	
	
		
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #  CPU driver installs CPU Architecture Protocol and CPU MP protocol.
 | |
| #
 | |
| #  Copyright (c) 2008 - 2019, Intel Corporation. All rights reserved.<BR>
 | |
| #  Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
 | |
| #
 | |
| #  SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = CpuDxe
 | |
|   MODULE_UNI_FILE                = CpuDxe.uni
 | |
|   FILE_GUID                      = 1A1E4886-9517-440e-9FDE-3BE44CEE2136
 | |
|   MODULE_TYPE                    = DXE_DRIVER
 | |
|   VERSION_STRING                 = 1.0
 | |
|   ENTRY_POINT                    = InitializeCpu
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   MdeModulePkg/MdeModulePkg.dec
 | |
|   UefiCpuPkg/UefiCpuPkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   BaseLib
 | |
|   BaseMemoryLib
 | |
|   CpuLib
 | |
|   DebugLib
 | |
|   DxeServicesTableLib
 | |
|   MemoryAllocationLib
 | |
|   MtrrLib
 | |
|   UefiBootServicesTableLib
 | |
|   UefiDriverEntryPoint
 | |
|   LocalApicLib
 | |
|   UefiCpuLib
 | |
|   UefiLib
 | |
|   CpuExceptionHandlerLib
 | |
|   HobLib
 | |
|   ReportStatusCodeLib
 | |
|   MpInitLib
 | |
|   TimerLib
 | |
|   PeCoffGetEntryPointLib
 | |
| 
 | |
| [Sources]
 | |
|   CpuDxe.c
 | |
|   CpuDxe.h
 | |
|   CpuGdt.c
 | |
|   CpuGdt.h
 | |
|   CpuMp.c
 | |
|   CpuMp.h
 | |
|   CpuPageTable.h
 | |
|   CpuPageTable.c
 | |
| 
 | |
| [Sources.IA32]
 | |
|   Ia32/CpuAsm.nasm
 | |
|   Ia32/PagingAttribute.c
 | |
| 
 | |
| [Sources.X64]
 | |
|   X64/CpuAsm.nasm
 | |
|   X64/PagingAttribute.c
 | |
| 
 | |
| [Protocols]
 | |
|   gEfiCpuArchProtocolGuid                       ## PRODUCES
 | |
|   gEfiMpServiceProtocolGuid                     ## PRODUCES
 | |
|   gEfiSmmBase2ProtocolGuid                      ## SOMETIMES_CONSUMES
 | |
| 
 | |
| [Guids]
 | |
|   gIdleLoopEventGuid                            ## CONSUMES           ## Event
 | |
|   gEfiVectorHandoffTableGuid                    ## SOMETIMES_CONSUMES ## SystemTable
 | |
| 
 | |
| [Ppis]
 | |
|   gEfiSecPlatformInformation2PpiGuid            ## UNDEFINED # HOB
 | |
|   gEfiSecPlatformInformationPpiGuid             ## UNDEFINED # HOB
 | |
| 
 | |
| [Pcd]
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask    ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard                       ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask               ## CONSUMES
 | |
|   gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask    ## CONSUMES
 | |
|   gUefiCpuPkgTokenSpaceGuid.PcdCpuStackSwitchExceptionList              ## CONSUMES
 | |
|   gUefiCpuPkgTokenSpaceGuid.PcdCpuKnownGoodStackSize                    ## CONSUMES
 | |
| 
 | |
| [Depex]
 | |
|   TRUE
 | |
| 
 | |
| [UserExtensions.TianoCore."ExtraFiles"]
 | |
|   CpuDxeExtra.uni
 |