mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							a36a9b3794 
							
						 
					 
					
						
						
							
							Fix LocateDevicePath() to return proper error status code.  It was returning EFI_INVALID_PARAMETER if Device was NULL even if not handles matched the search criteria.  The proper behavior is to return EFI_NOT_FOUND if not handles match the search criteria, and only return EFI_INVALID_PARAMETER if at least one match is found and Device is NULL.  
						
						... 
						
						
						
						Also update function header comment block for LocateDevicePath() to match UEFI Specification.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11406  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-03-16 16:17:09 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							89cd8129f7 
							
						 
					 
					
						
						
							
							Update PeiCore and DxeCore to verify FFS data checksum.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11332  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-02-23 03:09:55 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							d613c2a88b 
							
						 
					 
					
						
						
							
							Correct typo in word in DxeCore.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11307  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-02-12 01:34:05 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							b695e7ff4a 
							
						 
					 
					
						
						
							
							Updates function description per UEFI2.3d. No impact is for functionality. The main changes include:  
						
						... 
						
						
						
						1. For LoadImage() service, EFI_ACCESS_DENIED return status is added, and EFI_SECURITY_VIOLATION return status description is updated. Meanwhile, EFI_PE32_IMAGE_PROTOCOL. LoadPeImage() in MdeModulePkg is also updated to match LoadImage() service.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11306  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-02-12 01:29:17 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							5d1cf216ed 
							
						 
					 
					
						
						
							
							Fix bounds check on parameter of type EFI_GCD_IO_TYPE to use EfiGcdIoTypeMaximum instead of EfiGcdMemoryTypeMaximum.  Also fix typo in DEBUG() message string for gDS->AllocateIoSpace() calls.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11268  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-01-21 18:49:36 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							aa927cae81 
							
						 
					 
					
						
						
							
							Clean up GCD DEBUG() macros so DEBUG_CODE() is only used to enable/disable the DBG MMIO and GCD I/O map dumps  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11243  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-01-11 23:11:23 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							f9d1f97c45 
							
						 
					 
					
						
						
							
							Add DEBUG() macros to all GCD services to monitor all changes to the GCD Memory and GCD I/O maps when DEBUG_GCD is set in PcdDebugPrintErrorLevel.  
						
						... 
						
						
						
						If DEBUG_PROPERTY_DEBUG_CODE_ENABLED is also set in PcdDebugPropertyMask, then the GCD Memory and I/O Maps will be dumped every time there is a GCD change.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11230  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2011-01-06 02:51:08 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							fa542a1e77 
							
						 
					 
					
						
						
							
							1) Change location of DEBUG() macro that prints the name of the FFS file being evaluated by the DXE Dispatcher to eliminate a duplicate print.  
						
						... 
						
						
						
						2) Change location of DEBUG() macro that prints the name of the FFS file being evaluated by the SMM Dispatcher to eliminate a duplicate print.
3) Remove all references and processing of SOR from the PiSmmCore.  Treat use of SOR in the dependency expression of an SMM Driver as an invalid depex opcode.
4) Remove all references for an SMM Driver being in the "Untrusted" state from the PiSmmCore.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11127  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-12-06 21:55:14 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							6a55eea3eb 
							
						 
					 
					
						
						
							
							Update PEI/DXE/SMM dispatchers to include DEBUG ((DEBUG_DISPATCH, )) macros to log the evaluation of all dependency expressions.  
						
						... 
						
						
						
						This logging can be enabled by setting the DEBUG_DISPATCH bit(0x80) of the PCD gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11117  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-12-04 20:05:09 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							6eea8eaeef 
							
						 
					 
					
						
						
							
							Add new PCD  gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress for the MdeModulePkg that allows the platform DSC file to specify the address below which the EFI_SYSTEM_TABLE_POINTER structure is allocated.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11018  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-11-09 07:54:53 +00:00 
						 
				 
			
				
					
						
							
							
								vanjeff 
							
						 
					 
					
						
						
						
						
							
						
						
							785b5f5a50 
							
						 
					 
					
						
						
							
							swaps the order of timer disable and memory map termination to make sure memory map unchanged.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10999  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-11-03 03:21:29 +00:00 
						 
				 
			
				
					
						
							
							
								ydong10 
							
						 
					 
					
						
						
						
						
							
						
						
							cd7bfc2c63 
							
						 
					 
					
						
						
							
							Refine code to make code run safely.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10880  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-09-16 04:51:25 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							d0d41b52e0 
							
						 
					 
					
						
						
							
							Move registration of DXE Core with PeCoffExtraActionLib after the lib constructors have been executed.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10778  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-08-06 23:09:49 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							b43619d0cd 
							
						 
					 
					
						
						
							
							Update DXE Core so its own PE/COFF image is passed to the PeCoffExtraActionLib  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10769  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-08-03 05:20:15 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							1d6ee65f82 
							
						 
					 
					
						
						
							
							Enhance FV2.ReadSection() to read GUIDED section raw data when its extraction guided protocol doesn’t exist.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10702  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-07-28 01:12:18 +00:00 
						 
				 
			
				
					
						
							
							
								vanjeff 
							
						 
					 
					
						
						
						
						
							
						
						
							4cf7e0380e 
							
						 
					 
					
						
						
							
							1. Add init flag DEBUG_AGENT_INIT_DXE_AP.  
						
						... 
						
						
						
						2. Add definition DEBUG_AGENT_CONTINUE.
3. Update the definition of InitializeDebugAgent() more comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10660  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-07-19 02:26:09 +00:00 
						 
				 
			
				
					
						
							
							
								rsun3 
							
						 
					 
					
						
						
						
						
							
						
						
							35f9e94ed4 
							
						 
					 
					
						
						
							
							Add a missing parameter description in the function header for CoreFindFreePagesI().  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10589  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-06-17 07:18:53 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							2345e7d4a4 
							
						 
					 
					
						
						
							
							1) Improve how memory usage is tracked in DXE Core  
						
						... 
						
						
						
						2) Update GetMemoryMap() to merge adjacent memory descriptors with identical types and attributes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10579  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-06-14 23:21:26 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							0e4483bc69 
							
						 
					 
					
						
						
							
							Fix DxeCore Dispatch Issue that DXE drivers may not be dispatched  if they depend on the protocols produced by SMM driver.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10491  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-05-14 08:27:28 +00:00 
						 
				 
			
				
					
						
							
							
								hhtian 
							
						 
					 
					
						
						
						
						
							
						
						
							cd5ebaa06d 
							
						 
					 
					
						
						
							
							Update the copyright notice format  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10420  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-04-24 09:49:11 +00:00 
						 
				 
			
				
					
						
							
							
								niruiyu 
							
						 
					 
					
						
						
						
						
							
						
						
							3140ceda76 
							
						 
					 
					
						
						
							
							Fix a bug that FV->ReadSection cannot get the EFI_SECTION_GUID_DEFINED type section data.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10384  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-04-21 02:40:36 +00:00 
						 
				 
			
				
					
						
							
							
								klu2 
							
						 
					 
					
						
						
						
						
							
						
						
							c5d00b30c1 
							
						 
					 
					
						
						
							
							Fix the issue that GCC treat enum type as unsigned int which incompatible with UEFI spec's INT32.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10347  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-04-07 02:33:16 +00:00 
						 
				 
			
				
					
						
							
							
								jljusten 
							
						 
					 
					
						
						
						
						
							
						
						
							b295dfd486 
							
						 
					 
					
						
						
							
							MdeModulePkg: Fix warning with VS2005 toolchain on IA32  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10338  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-04-05 03:43:36 +00:00 
						 
				 
			
				
					
						
							
							
								jgong5 
							
						 
					 
					
						
						
						
						
							
						
						
							38c7df9848 
							
						 
					 
					
						
						
							
							Avoid DEBUG_CLEAR_MEMORY clearing MemoryMap internal structure.  
						
						... 
						
						
						
						In CoreFreePages(), the following sequence might break the MemoryMap internal structure:
CoreConvertPages() -> CoreFreeMemoryMapStack() -> AllocateMemoryMapEntry() -> CoreAllocatePoolPages() -> DEBUG_CLEAR_MEMORY()
CoreConvertPages() will call CoreFreeMemoryMapStack() after it adds the freed memory range, so the latter might use the just freed memory range when calling AllocateMemoryMapEntry(). But CoreFreePages() will call DEBUG_CLEAR_MEMORY() after CoreConvertPages(). This might clear up the memory map entry structure.
The fix calls DEBUG_CLEAR_MEMORY() just after freed memory range is added in CoreConvertPages(), which is safe.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10335  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-04-03 05:34:16 +00:00 
						 
				 
			
				
					
						
							
							
								jgong5 
							
						 
					 
					
						
						
						
						
							
						
						
							a5ca8fa772 
							
						 
					 
					
						
						
							
							Hold Memory Lock until DEBUG_CLEAR_MEMORY called in CoreFreePages().  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10284  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-03-19 04:22:35 +00:00 
						 
				 
			
				
					
						
							
							
								vanjeff 
							
						 
					 
					
						
						
						
						
							
						
						
							213fecefbb 
							
						 
					 
					
						
						
							
							1. update the definitions in debug agent library, rename DEBUG_AGENT_INIT_DXE to DEBUG_AGENT_INIT_DXE_CORE and add DEBUG_AGENT_INIT_S3.  
						
						... 
						
						
						
						2. disable debug timer interrupt in ExitBootServices().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10239  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-03-13 16:52:46 +00:00 
						 
				 
			
				
					
						
							
							
								jchen20 
							
						 
					 
					
						
						
						
						
							
						
						
							9bfb494096 
							
						 
					 
					
						
						
							
							The patch attached is to fix the issue that LMFA feature is failed on OVMF.  The root cause is that OVMF platform reserved 128k top memory range for EMU variable range before PEI memory range re-locate to specified memory range, which is quite different from real platform. The original implementation has an assumption that AllocatePage will NOT be invoked until PEI memory range is re-located to preassigned memory range, , which is TRUE in most real platform, but FALSE on OVMF platform. So This patch is to enhanced the memory resource HOB re-organization algorithm to eliminate the assumption.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10225  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-03-10 02:47:05 +00:00 
						 
				 
			
				
					
						
							
							
								rsun3 
							
						 
					 
					
						
						
						
						
							
						
						
							60cf9cfc14 
							
						 
					 
					
						
						
							
							Minor bug fix and robustness check improvement.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10168  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-03-03 09:40:16 +00:00 
						 
				 
			
				
					
						
							
							
								vanjeff 
							
						 
					 
					
						
						
						
						
							
						
						
							e7af83aece 
							
						 
					 
					
						
						
							
							1. Refine debug agent library.  
						
						... 
						
						
						
						2. DxeCore and DxeIpl consume debug agent library. 
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10119  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-27 17:04:12 +00:00 
						 
				 
			
				
					
						
							
							
								rsun3 
							
						 
					 
					
						
						
						
						
							
						
						
							d2fbaaab17 
							
						 
					 
					
						
						
							
							Add more code robustness check for modules under MdeModulePkg.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10108  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-26 08:53:27 +00:00 
						 
				 
			
				
					
						
							
							
								klu2 
							
						 
					 
					
						
						
						
						
							
						
						
							8976547970 
							
						 
					 
					
						
						
							
							Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10072  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-25 16:31:22 +00:00 
						 
				 
			
				
					
						
							
							
								rsun3 
							
						 
					 
					
						
						
						
						
							
						
						
							12fbc893e4 
							
						 
					 
					
						
						
							
							Minor comment fix.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10058  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-24 08:09:39 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							6bfbb5f0e0 
							
						 
					 
					
						
						
							
							1. Correct File header to ## @file  
						
						... 
						
						
						
						2. Remove unnecessary .common] postfix on section.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-24 00:21:16 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							cd539d485d 
							
						 
					 
					
						
						
							
							Fix comment  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10048  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-23 17:59:48 +00:00 
						 
				 
			
				
					
						
							
							
								andrewfish 
							
						 
					 
					
						
						
						
						
							
						
						
							3351d21fe1 
							
						 
					 
					
						
						
							
							Cleanup HOB DEBUG prints  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10020  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-17 01:12:55 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							74e44290e2 
							
						 
					 
					
						
						
							
							1) Fix build issues  
						
						... 
						
						
						
						2) Change ARCHITECTURAL_PROTOCOL_ENTRY name to EFI_CORE_PROTOCOL_NOTIFY_ENTRY so it can be used for both Architectural Protocols and optional protocols that the DXE Core may use.  Also remove BOOLEAN ArchitecturalProtocol field, so it is back to its original form.
3) Put mArchProtocols[] back to its original form, but add a NULL entry at the end so the end of the table can be easily detected in loops
4) Add mOptionalProtocols[] that at this time only has the SMM Base 2 Protocol in it.
5) Add NULL entry to mMissingProtocols[] so the end of the table can be easily detected.
6) Update all loops on mArchProtocols[], mOptionalProtocols, and mMissingProtocols[] to remove Index(s) and simply looks for a NULL ProtocolGuid to find the end of the table.
7) Update protocol notify events to pass the associated EFI_CORE_PROTOCOL_NOTIFY_ENTRY * as the Context parameter.   This simplifies GenericProtocolNotify() by completely eliminating the search loop.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10016  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-16 20:59:57 +00:00 
						 
				 
			
				
					
						
							
							
								andrewfish 
							
						 
					 
					
						
						
						
						
							
						
						
							8e90dd6b54 
							
						 
					 
					
						
						
							
							Clean up HOB debug prints  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10012  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-16 03:05:59 +00:00 
						 
				 
			
				
					
						
							
							
								andrewfish 
							
						 
					 
					
						
						
						
						
							
						
						
							b33339fa64 
							
						 
					 
					
						
						
							
							Fix crash in UnixPkg and BeagleBoard caused by gSmmBase2 getting added to the now incorectly named mARchProtocols list. CoreDispatchMissingArchProtocols() did to check to see if the element was an AP (not all are now). Also Missing entry was not bounds checked, it was assumed to be <= Index witch is no longer true. So in both UnixPkg and BeagleBoard the loop was blowing past the end and garbage data caused page faults. Also add m prefix to global.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10011  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-16 02:52:15 +00:00 
						 
				 
			
				
					
						
							
							
								mdkinney 
							
						 
					 
					
						
						
						
						
							
						
						
							0803854bc1 
							
						 
					 
					
						
						
							
							Update DXE Core to be compatible with PI 1.2 SMM Drivers.  
						
						... 
						
						
						
						PI 1.2 SMM Drivers are allowed to call UEFI/DXE services and Protocols from the entry point of the PI 1.2 SMM Driver.  These UEFI/DXE services and Protocols may directly or indirectly calls the UEFI Boot Services RaiseTPL() and RestoreTPL().  These UEFI Boot Services use the CPU Architectural Protocol to enable interrupts if the TPL level is below TPL_HIGH_LEVEL and enable interrupts of the TPL is at TPL_HIGH_LEVEL.  Interrupts should be masked while executing SMM drivers, so if a direct or indirect call to the UEFI Boot Service RestoreTPL() would enable interrupts, then an interrupt could be incorrectly delivered in SMM context.  
The solution is for the DXE Core to register for the PI 1.2 SMM Base2 Protocol.  If that protocol is present in the platform, then the DXE Core can use the SMM Base 2 Protocol's InSmm() function to determine if the platform is currently executing in SMM content.  If the current context is in SMM, then do not allow any requests to be forwarded to the CPU Architecture Protocol to enable interrupts.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9997  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-13 01:57:22 +00:00 
						 
				 
			
				
					
						
							
							
								jchen20 
							
						 
					 
					
						
						
						
						
							
						
						
							852081fc68 
							
						 
					 
					
						
						
							
							revise the debug message to add 0x in front of the HEX number for consistency  
						
						... 
						
						
						
						replace FixedPcdGetXX with PcdGetXX to access PcdLoadModuleAtFixAddressEnable
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9964  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-10 06:10:53 +00:00 
						 
				 
			
				
					
						
							
							
								jchen20 
							
						 
					 
					
						
						
						
						
							
						
						
							99ff63cf03 
							
						 
					 
					
						
						
							
							change the GetPcd64 to FixedGetPcd64 to pass ECC  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9957  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-09 09:52:46 +00:00 
						 
				 
			
				
					
						
							
							
								erictian 
							
						 
					 
					
						
						
						
						
							
						
						
							853adefc0c 
							
						 
					 
					
						
						
							
							format uniform: move tab to blank.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9949  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-08 05:54:54 +00:00 
						 
				 
			
				
					
						
							
							
								qhuang8 
							
						 
					 
					
						
						
						
						
							
						
						
							58125fb3f9 
							
						 
					 
					
						
						
							
							Remove DEBUG_LOAD for InstallProtocolInterface() to align with PPI installation debug message in PeiCore.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9945  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-08 03:14:15 +00:00 
						 
				 
			
				
					
						
							
							
								jchen20 
							
						 
					 
					
						
						
						
						
							
						
						
							ebfb7bb55b 
							
						 
					 
					
						
						
							
							modified to pass the VS2003 build  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9944  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-08 03:13:09 +00:00 
						 
				 
			
				
					
						
							
							
								jchen20 
							
						 
					 
					
						
						
						
						
							
						
						
							54ea99a798 
							
						 
					 
					
						
						
							
							Enable the Load Module At fixed Address feature  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9937  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-02-05 07:54:16 +00:00 
						 
				 
			
				
					
						
							
							
								xli24 
							
						 
					 
					
						
						
						
						
							
						
						
							f9876ecf8a 
							
						 
					 
					
						
						
							
							Remove reference to PCDs of status code value. Use macros introduced in PI1.2 instead.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9833  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-01-27 04:00:58 +00:00 
						 
				 
			
				
					
						
							
							
								rsun3 
							
						 
					 
					
						
						
						
						
							
						
						
							1ccdbf2a3e 
							
						 
					 
					
						
						
							
							Improve coding style in MdeModulePkg.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9793  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2010-01-19 06:42:21 +00:00 
						 
				 
			
				
					
						
							
							
								davidhuang 
							
						 
					 
					
						
						
						
						
							
						
						
							202c32790f 
							
						 
					 
					
						
						
							
							PI 1.1 SMM Feature Check-in  
						
						... 
						
						
						
						1. Update DxeMain to support COMBINED_DXE_SMM driver dispatch.
2. Add ReportStatusCodeRouter SMM part.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9591  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2009-12-23 06:51:36 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							6320fa42c9 
							
						 
					 
					
						
						
							
							Produce LoadPeImage protocol only in framework compatibility mode.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9586  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2009-12-22 08:02:33 +00:00 
						 
				 
			
				
					
						
							
							
								lgao4 
							
						 
					 
					
						
						
						
						
							
						
						
							a13df02ed5 
							
						 
					 
					
						
						
							
							Correct error status to EFI_NOT_FOUND when the image can't be got.  
						
						... 
						
						
						
						git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9502  6f19259b-4bc3-4df7-8a09-765794883524 
						
					 
					
						2009-12-01 10:15:43 +00:00