UefiCpuPkg: Disable MTRR programming for UefiPayloadPkg
The MTRRs have already been programmed by FSB. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
		
				
					committed by
					
						
						Jeremy Soller
					
				
			
			
				
	
			
			
			
						parent
						
							599f4a4ddd
						
					
				
				
					commit
					83c68bbe1d
				
			@@ -2763,6 +2763,10 @@ IsMtrrSupported (
 | 
				
			|||||||
  CPUID_VERSION_INFO_EDX    Edx;
 | 
					  CPUID_VERSION_INFO_EDX    Edx;
 | 
				
			||||||
  MSR_IA32_MTRRCAP_REGISTER MtrrCap;
 | 
					  MSR_IA32_MTRRCAP_REGISTER MtrrCap;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (PcdGetBool(PcdCpuDisableMtrrProgramming)) {
 | 
				
			||||||
 | 
					    return FALSE;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
  // Check CPUID(1).EDX[12] for MTRR capability
 | 
					  // Check CPUID(1).EDX[12] for MTRR capability
 | 
				
			||||||
  //
 | 
					  //
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,4 +37,4 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
[Pcd]
 | 
					[Pcd]
 | 
				
			||||||
  gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs   ## SOMETIMES_CONSUMES
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs   ## SOMETIMES_CONSUMES
 | 
				
			||||||
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuDisableMtrrProgramming ## CONSUMES
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -197,6 +197,10 @@
 | 
				
			|||||||
  # @Prompt SMM Code Access Check.
 | 
					  # @Prompt SMM Code Access Check.
 | 
				
			||||||
  gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable|TRUE|BOOLEAN|0x60000013
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmCodeAccessCheckEnable|TRUE|BOOLEAN|0x60000013
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ## Disables MTRR programming in case it's already programmed by FSB.
 | 
				
			||||||
 | 
					  # @Prompt Disable MTRR programming.
 | 
				
			||||||
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuDisableMtrrProgramming|FALSE|BOOLEAN|0x00000017
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  ## Specifies the number of variable MTRRs reserved for OS use. The default number of
 | 
					  ## Specifies the number of variable MTRRs reserved for OS use. The default number of
 | 
				
			||||||
  #  MTRRs reserved for OS use is 2.
 | 
					  #  MTRRs reserved for OS use is 2.
 | 
				
			||||||
  # @Prompt Number of reserved variable MTRRs.
 | 
					  # @Prompt Number of reserved variable MTRRs.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -140,9 +140,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuHotPlugDataAddress_HELP  #language en-US "Contains the pointer to a CPU Hot Plug Data structure if CPU hot-plug is supported."
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuHotPlugDataAddress_HELP  #language en-US "Contains the pointer to a CPU Hot Plug Data structure if CPU hot-plug is supported."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuNumberOfReservedVariableMtrrs_PROMPT  #language en-US "Number of reserved variable MTRRs"
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuDisableMtrrProgramming_PROMPT  #language en-US "Number of reserved variable MTRRs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuNumberOfReservedVariableMtrrs_HELP  #language en-US "Specifies the number of variable MTRRs reserved for OS use."
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuDisableMtrrProgramming_HELP  #language en-US "Specifies the number of variable MTRRs reserved for OS use."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuNumberOfReservedVariableMtrrs_PROMPT  #language en-US "Disable MTRR programming."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuNumberOfReservedVariableMtrrs_HELP  #language en-US "Disables MTRR programming in case it's already programmed by FSB."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuApLoopMode_PROMPT  #language en-US "The AP wait loop state"
 | 
					#string STR_gUefiCpuPkgTokenSpaceGuid_PcdCpuApLoopMode_PROMPT  #language en-US "The AP wait loop state"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -326,6 +326,8 @@
 | 
				
			|||||||
!if $(SOURCE_DEBUG_ENABLE)
 | 
					!if $(SOURCE_DEBUG_ENABLE)
 | 
				
			||||||
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 | 
					  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 | 
				
			||||||
!endif
 | 
					!endif
 | 
				
			||||||
 | 
					  # Disable MTRR programming
 | 
				
			||||||
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuDisableMtrrProgramming|TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[PcdsPatchableInModule.common]
 | 
					[PcdsPatchableInModule.common]
 | 
				
			||||||
  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
 | 
					  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -335,6 +335,8 @@
 | 
				
			|||||||
!if $(SOURCE_DEBUG_ENABLE)
 | 
					!if $(SOURCE_DEBUG_ENABLE)
 | 
				
			||||||
  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 | 
					  gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
 | 
				
			||||||
!endif
 | 
					!endif
 | 
				
			||||||
 | 
					  # Disable MTRR programming
 | 
				
			||||||
 | 
					  gUefiCpuPkgTokenSpaceGuid.PcdCpuDisableMtrrProgramming|TRUE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[PcdsPatchableInModule.common]
 | 
					[PcdsPatchableInModule.common]
 | 
				
			||||||
  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
 | 
					  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user