Michael Kubacki 
							
						 
					 
					
						
						
							
						
						053e878bfb 
					 
					
						
						
							
							UefiCpuPkg: Apply uncrustify changes  
						
						... 
						
						
						
						REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 
Apply uncrustify changes to .c/.h files in the UefiCpuPkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Ray Ni <ray.ni@intel.com > 
						
						
					 
					
						2021-12-07 17:24:28 +00:00 
						 
				 
			
				
					
						
							
							
								Antoine Coeur 
							
						 
					 
					
						
						
							
						
						f60f4cfeb4 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Fix few typos  
						
						... 
						
						
						
						Fix few typos in comments and documentation.
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Antoine Coeur <coeur@gmx.fr >
Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com >
Message-Id: <20200207010831.9046-77-philmd@redhat.com > 
						
						
					 
					
						2020-02-10 22:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Michael D Kinney 
							
						 
					 
					
						
						
							
						
						0acd869796 
					 
					
						
						
							
							UefiCpuPkg: Replace BSD License with BSD+Patent License  
						
						... 
						
						
						
						https://bugzilla.tianocore.org/show_bug.cgi?id=1373 
Replace BSD 2-Clause License with BSD+Patent License.  This change is
based on the following emails:
  https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html 
  https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html 
RFCs with detailed process for the license change:
  V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html 
  V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html 
  V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com > 
					
						2019-04-09 10:58:28 -07:00 
						 
				 
			
				
					
						
							
							
								Eric Dong 
							
						 
					 
					
						
						
							
						
						29b237f848 
					 
					
						
						
							
							UefiCpuPkg CpuDxe: Update return status to follow spec.  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com > 
						
						
					 
					
						2017-07-07 08:54:10 +08:00 
						 
				 
			
				
					
						
							
							
								Jeff Fan 
							
						 
					 
					
						
						
							
						
						39d49a73a5 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Remove unused codes and files  
						
						... 
						
						
						
						v5:
  1. Remove unused PcdCpuApStackSize and PcdCpuApInitTimeOutInMicroSeconds.
v4:
  1. Keep GDT table setup to fix IA32 S3 boot issue.
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com > 
						
						
					 
					
						2016-08-17 20:07:07 +08:00 
						 
				 
			
				
					
						
							
							
								Jeff Fan 
							
						 
					 
					
						
						
							
						
						7fadaacd50 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Consume MpInitLib to produce CPU MP Protocol services  
						
						... 
						
						
						
						Consume MP Initialize library to produce CPU MP Protocol services to simply the
code.
v4:
  1. Update CpuDxe.c file header to mention it produces CPU Arch protocol.
  2. Update BistData type from UINT32 to EFI_HEALTH_FLAG.
  3. Move some header location from CpuMp.h to CpuDxe.h.
v3:
  1. Move the code Consume MpInitLib APIs to produce CPU MP Protocol from patch
     #40  to this patch.
  2. Add DxeMpInitLib.inf in DSC file
Cc: Michael Kinney <michael.d.kinney@intel.com >
Cc: Feng Tian <feng.tian@intel.com >
Cc: Giri P Mudusuru <giri.p.mudusuru@intel.com >
Cc: Laszlo Ersek <lersek@redhat.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
Tested-by: Laszlo Ersek <lersek@redhat.com >
Tested-by: Michael Kinney <michael.d.kinney@intel.com > 
						
						
					 
					
						2016-08-17 20:06:56 +08:00 
						 
				 
			
				
					
						
							
							
								Laszlo Ersek 
							
						 
					 
					
						
						
							
						
						94941c8853 
					 
					
						
						
							
							UefiCpuPkg: CpuDxe: broadcast MTRR changes to APs  
						
						... 
						
						
						
						The Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/CpuArchDxe
driver applies any MTRR changes to APs, if the
EFI_MP_SERVICES_PROTOCOL is available. We should do the same.
Additionally, the broadcast should occur at MP startup as well,
not only when MTRR settings are changed. The inspiration is
taken from
  Quark_EDKII_v1.1.0/IA32FamilyCpuBasePkg/CpuMpDxe/
(see the EarlyMpInit() function and its call sites in
"ProcessorConfig.c").
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18632  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-10-19 19:08:47 +00:00 
						 
				 
			
				
					
						
							
							
								Jeff Fan 
							
						 
					 
					
						
						
							
						
						db61e16308 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Get CPU BIST information from Guided HOB  
						
						... 
						
						
						
						Get CPU BIST information from gEfiSecPlatformInformation2PpiGuid or
gEfiSecPlatformInformationPpiGuid Guided HOB and update the CPU healthy status
for CPU MP Service.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Feng Tian <feng.tian@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17641  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-06-16 02:55:54 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						33f413f0d6 
					 
					
						
						
							
							UefiCpuPkg/MpSerivce: add volatile qualifiers  
						
						... 
						
						
						
						For avoid the compiler optimizing the code, we let Parameter and Procedure in CpuData volatile.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17024  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-03-09 06:45:26 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						68f0674237 
					 
					
						
						
							
							UefiCpuPkg/MpService: Put APs to sleep when not busy.  
						
						... 
						
						
						
						Add a new sleeping state for APs, when no procedure execution, put AP to sleep. when need to execute 
procedure, only need to wake up this AP by sent SIPI.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17023  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-03-09 06:43:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						b302a9784c 
					 
					
						
						
							
							UefiCpuPkg/MpService: fix trivial typo in cpu state  
						
						... 
						
						
						
						CpuStateBuzy => CpuStateBusy
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17021  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2015-03-09 06:37:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						0e724fc198 
					 
					
						
						
							
							UefiCpuPkg/MpService: avoid reset AP still hold a lock  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16368  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:29:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						ac9dbb3b03 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: introduce ResetApStackless()  
						
						... 
						
						
						
						If timeout expires before AP returns from Procedure, the AP should
be terminated, we introduce ResetApStackLess() to send init IPI
to let AP exit Procedurce and re-available.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16366  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:29:13 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						fe078dd57f 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: split out StartupCode from StartApsStackless()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16365  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:29:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						b7c05ba517 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Services:SwitchBSP()  
						
						... 
						
						
						
						by now, SwitchBSP() always return UNSUPPORTED
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16360  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:27:52 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						5fee172fb7 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Services:StartupAllAPs()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16359  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:27:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						3f4f0af872 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Protocol:StartupThisAP()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16358  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:27:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						fa7ce675b9 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Protocol:EnableDisableAP()  
						
						... 
						
						
						
						Due to the implementation of  AcquireSpinLock() is not MP safe,
so we should use AcquireSpinLockOrFail directly instead.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16357  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:27:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						e7938b5a86 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Services:GetProcessorInfo()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16356  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:26:53 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						d894d8b704 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Protocol:GetNumberOfProcessors()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16355  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:26:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						cfa2fac1f6 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: implement Mp Protocol: WhoAmI()  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16354  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:26:32 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						03673ae11e 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: introduce MP_SYSTEM_DATA for Mp Service Protocol  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16353  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:26:23 +00:00 
						 
				 
			
				
					
						
							
							
								Chen Fan 
							
						 
					 
					
						
						
							
						
						003973d98c 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: introduce EFI_MP_SERVICES_PROTOCOL  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16352  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:26:13 +00:00 
						 
				 
			
				
					
						
							
							
								Jordan Justen 
							
						 
					 
					
						
						
							
						
						533263ee5a 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Add StartApsStackless routine  
						
						... 
						
						
						
						This routine starts the APs and directs them to run the specified
code.
The specified code is entered without a stack being available.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16349  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:25:29 +00:00 
						 
				 
			
				
					
						
							
							
								Jordan Justen 
							
						 
					 
					
						
						
							
						
						fab82c1873 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Add stackless assembly AP entry points  
						
						... 
						
						
						
						The AP startup code simply jumps into this code with the CpuDxe driver
without setting up a stack for the processor.
Therefore, this code must setup the stack before calling into C code.
This is the basic flow:
* AP enters CpuDxe driver code (AsmApEntryPoint) without stack
  - AP grabs a lock
  - AP sets up stack
  - AP calls CpuMp.c:ApEntryPointInC
  - If ApEntryPointInC returns, the lock is freed, and another AP may
    run
  - The AP C code may call AsmApDoneWithCommonStack to indicate that
    the AP is no longer using the stack, and another may therefore
    proceed to use the stack and then call ApEntryPointInC
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16347  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:24:59 +00:00 
						 
				 
			
				
					
						
							
							
								Jordan Justen 
							
						 
					 
					
						
						
							
						
						6022e28cf7 
					 
					
						
						
							
							UefiCpuPkg/CpuDxe: Add no-op InitializeMpSupport  
						
						... 
						
						
						
						Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Signed-off-by: Chen Fan <chen.fan.fnst@cn.fujitsu.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16345  6f19259b-4bc3-4df7-8a09-765794883524 
						
						
					 
					
						2014-11-13 18:24:25 +00:00