Use CPUID Leaf 01 to detect support for debug extensions and FXSAVE/FXRESTOR instructions. Do not enable those features in CR4 if they are not supported. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Michael Kinney <michael.d.kinney@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17220 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			INI
		
	
	
	
	
	
| ## @file
 | |
| #  Debug Agent library instance for SEC Core and PEI modules.
 | |
| #
 | |
| #  Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
 | |
| #
 | |
| #  This program and the accompanying materials
 | |
| #  are licensed and made available under the terms and conditions of the BSD License
 | |
| #  which accompanies this distribution. The full text of the license may be found at
 | |
| #  http://opensource.org/licenses/bsd-license.php.
 | |
| #  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | |
| #  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | |
| #
 | |
| #
 | |
| ##
 | |
| 
 | |
| [Defines]
 | |
|   INF_VERSION                    = 0x00010005
 | |
|   BASE_NAME                      = SecPeiDebugAgentLib
 | |
|   MODULE_UNI_FILE                = SecPeiDebugAgentLib.uni
 | |
|   FILE_GUID                      = 508B7D59-CD4E-4a6b-A45B-6D3B2D90111E
 | |
|   MODULE_TYPE                    = PEIM
 | |
|   VERSION_STRING                 = 0.8
 | |
|   LIBRARY_CLASS                  = DebugAgentLib|SEC PEIM
 | |
| 
 | |
| #
 | |
| # The following information is for reference only and not required by the build tools.
 | |
| #
 | |
| #  VALID_ARCHITECTURES           = IA32 X64
 | |
| #
 | |
| 
 | |
| [Sources.common]
 | |
|   SecPeiDebugAgent/SecPeiDebugAgentLib.c
 | |
|   SecPeiDebugAgent/SecPeiDebugAgentLib.h
 | |
|   DebugAgentCommon/DebugAgent.c
 | |
|   DebugAgentCommon/DebugAgent.h
 | |
|   DebugAgentCommon/DebugTimer.c
 | |
|   DebugAgentCommon/DebugTimer.h
 | |
|   DebugAgentCommon/DebugMp.c
 | |
|   DebugAgentCommon/DebugMp.h
 | |
| 
 | |
| [Sources.Ia32]
 | |
|   DebugAgentCommon/Ia32/AsmFuncs.S     | GCC
 | |
|   DebugAgentCommon/Ia32/AsmFuncs.asm
 | |
|   DebugAgentCommon/Ia32/ArchDebugSupport.h
 | |
|   DebugAgentCommon/Ia32/ArchDebugSupport.c
 | |
|   DebugAgentCommon/Ia32/DebugException.h
 | |
| 
 | |
| [Sources.X64]
 | |
|   DebugAgentCommon/X64/AsmFuncs.S      | GCC
 | |
|   DebugAgentCommon/X64/AsmFuncs.asm
 | |
|   DebugAgentCommon/X64/ArchDebugSupport.h
 | |
|   DebugAgentCommon/X64/ArchDebugSupport.c
 | |
|   DebugAgentCommon/X64/DebugException.h
 | |
| 
 | |
| [Packages]
 | |
|   MdePkg/MdePkg.dec
 | |
|   MdeModulePkg/MdeModulePkg.dec
 | |
|   UefiCpuPkg/UefiCpuPkg.dec
 | |
|   SourceLevelDebugPkg/SourceLevelDebugPkg.dec
 | |
| 
 | |
| [LibraryClasses]
 | |
|   BaseLib
 | |
|   BaseMemoryLib
 | |
|   ResetSystemLib
 | |
|   IoLib
 | |
|   HobLib
 | |
|   PcdLib
 | |
|   DebugCommunicationLib
 | |
|   SynchronizationLib
 | |
|   LocalApicLib
 | |
|   DebugLib
 | |
|   TimerLib
 | |
|   PrintLib
 | |
|   PeiServicesLib
 | |
|   MemoryAllocationLib
 | |
|   PeCoffGetEntryPointLib
 | |
|   PeCoffExtraActionLib
 | |
| 
 | |
| [Ppis]
 | |
|   gEfiPeiMemoryDiscoveredPpiGuid                ## NOTIFY
 | |
|   gEfiVectorHandoffInfoPpiGuid                  ## PRODUCES
 | |
| 
 | |
| [Guids]
 | |
|   ## PRODUCES ## HOB
 | |
|   ## CONSUMES ## HOB
 | |
|   gEfiDebugAgentGuid
 | |
| 
 | |
| [Pcd]
 | |
|   gEfiMdePkgTokenSpaceGuid.PcdFSBClock                                  ## SOMETIMES_CONSUMES
 | |
|   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdExceptionsIgnoredByDebugger  ## SOMETIMES_CONSUMES
 | |
|   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugPortHandleBufferSize    ## SOMETIMES_CONSUMES
 | |
| 
 |