On 2014-11-05 22:11:40, Fan, Jeff wrote:
> Chen,
> 
> Thanks your updating. I attached one addition updating based on
> you're the latest patches. Please evaluate and sync it into your
> patches.

I think it is better to point out the changes and let Chen make
the changes. (Instead of sending a patch file.)

For example:
* Rename BSP variable to Bsp to follow coding style
* etc..

> BTW, please delete ApStartup.asm from CpuDxe, it seems to be one
> dummy file.

As mentioned in the comments, this file helped create the code in
ApStartup.c. So, if it is deleted, it might make it more challenging
to modify that code.

-Jordan

> -----Original Message-----
> From: Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com] 
> Sent: Tuesday, November 04, 2014 5:59 PM
> To: edk2-devel@lists.sourceforge.net
> Cc: Jordan Justen; Fan, Jeff; izumi.t...@jp.fujitsu.com
> Subject: [RFC PATCH V7 00/27] Introduce Mp Service protocol to UefiCpuPkg
> 
> This series patchsets try to implement Mp Service protocol in UefiCpuPkg, 
> Jordan had implemented the startup APs code, and I try to add more 
> initialization code to let all APs work up, this Mp Service protocol's 
> implementation used EmulatorPkg/MpService for reference.
> this patches works on my github:
>   https://github.com/ChenFanFnst/edk2/tree/cpu-mp-service
> 
> and made StartCorePkg app for testing Mp Service Protocol on:
>   https://github.com/ChenFanFnst/edk2/tree/startcore
> 
> I had tested the Mp protocol with the test code, and all cases passed.
> 
>   v6-v7:
>   1. fix some trivial bugs pointed out by Jeff.
>   2. free unused cpu buffer data.
> 
>   v5-v6:
>   1. using only one timer to check all APs status instead of timers for each 
> AP.
>   2. cancel timer each time avoid timer handler reentrancy.
>   3. some bug fix.
> 
>   v4-v5:
>   1. introduce PcdCpuMaxLogicalProcessorNumber to pre-allocate
>      stack buffer before starting the APs.
>   2. implement the function that if procedure routine timeout,
>      reset AP by sending init ipi.
>   3. some bug fix.
> 
>   v3-v4:
>   1. change the order of the patches.
>   2. update some minor format suggested by Jeff.
>   3. add a PCD value to configure StackSize.
>   4. the last patch add assembly code for MSFT, but didn't
>      test.
> 
>   V3-V3.1:
>   1. use AcquireSpinLockOrFail() intead of AcquireSpinLock()
>      to avoid ASSERT sugguested by Jeff.
> 
>   V2-V3:
>   1. rebase codes due to Jordan'tree updated:
>      https://github.com/jljusten/edk2/tree/ap-startup-example
>   2. add supported on Ia32 arch
>   3. add a new Lock to replace present SpinLock mechanisms in mutilple
>      processors, maybe the SpinLock mechanisms is not MP safe.
>   4. add function header
>   5. add StartupAllAPs() supported
>   6. add SwitchBSP() function, which is unsupported.
> 
>   V1-V2:
>   1. do not call anything EFI API from APs.
>   2. add AP busy-wait for task assignment from BSP and get rid of
>      IPI sent mechanism.
> 
> Chen Fan (22):
>   UefiCpuPkg/CpuDxe: introduce two PCD value
>   UefiCpuPkg/CpuDxe: Switch Ap Stack to NewStack
>   UefiCpuPkg/CpuDxe: introduce EFI_MP_SERVICES_PROTOCOL
>   UefiCpuPkg/CpuDxe: introduce MP_SYSTEM_DATA for Mp Service Protocol
>   UefiCpuPkg/CpuDxe: implement Mp Protocol: WhoAmI()
>   UefiCpuPkg/CpuDxe: implement Mp Protocol:GetNumberOfProcessors()
>   UefiCpuPkg/CpuDxe: implement Mp Services:GetProcessorInfo()
>   UefiCpuPkg/CpuDxe: implement Mp Protocol:EnableDisableAP()
>   UefiCpuPkg/CpuDxe: implement Mp Protocol:StartupThisAP()
>   UefiCpuPkg/CpuDxe: implement Mp Services:StartupAllAPs()
>   UefiCpuPkg/CpuDxe: implement Mp Services:SwitchBSP()
>   UefiCpuPkg/CpuDxe: Ap do loop routine to execute procedure
>   UefiCpuPkg/MpService: move settimer out to InitMpSystemData
>   UefiCpuPkg/MpService: Simply Lock usage
>   UefiCpuPkg/MpService: avoid next timer getting into
>     CheckAllAPsStatus()
>   UefiCpuPkg/CpuDxe: split out StartupCode from StartApsStackless()
>   UefiCpuPkg/CpuDxe: introduce ResetApStackless()
>   UefiCpuPkg/MpService: free the unused cpu data buffer
>   UefiCpuPkg/MpService: avoid reset AP still hold a lock
>   UefiCpuPkg/MpService: avoid dead lock caused by CheckAllAPsStatus
>   UefiCpuPkg/CpuDxe: Startup APs
>   UefiCpuPkg/CpuDxe: install Mp Service protocol
> 
> Jordan Justen (5):
>   UefiCpuPkg/CpuDxe: Add no-op InitializeMpSupport
>   UefiCpuPkg/CpuDxe: Add ApEntryPointInC
>   UefiCpuPkg/CpuDxe: Add stackless assembly AP entry points
>   UefiCpuPkg/CpuDxe: Move GDT structures into CpuGdt.h
>   UefiCpuPkg/CpuDxe: Add StartApsStackless routine
> 
>  UefiCpuPkg/CpuDxe/ApStartup.asm   |  111 +++
>  UefiCpuPkg/CpuDxe/ApStartup.c     |  252 ++++++
>  UefiCpuPkg/CpuDxe/CpuDxe.c        |    3 +
>  UefiCpuPkg/CpuDxe/CpuDxe.h        |    1 +
>  UefiCpuPkg/CpuDxe/CpuDxe.inf      |   17 +
>  UefiCpuPkg/CpuDxe/CpuGdt.c        |   52 +-
>  UefiCpuPkg/CpuDxe/CpuGdt.h        |   72 ++
>  UefiCpuPkg/CpuDxe/CpuMp.c         | 1534 
> +++++++++++++++++++++++++++++++++++++
>  UefiCpuPkg/CpuDxe/CpuMp.h         |  642 ++++++++++++++++
>  UefiCpuPkg/CpuDxe/Ia32/MpAsm.asm  |   75 ++
>  UefiCpuPkg/CpuDxe/Ia32/MpAsm.nasm |   68 ++
>  UefiCpuPkg/CpuDxe/X64/MpAsm.asm   |   76 ++
>  UefiCpuPkg/CpuDxe/X64/MpAsm.nasm  |   70 ++
>  UefiCpuPkg/UefiCpuPkg.dec         |    7 +
>  UefiCpuPkg/UefiCpuPkg.dsc         |    1 +
>  15 files changed, 2930 insertions(+), 51 deletions(-)  create mode 100644 
> UefiCpuPkg/CpuDxe/ApStartup.asm  create mode 100644 
> UefiCpuPkg/CpuDxe/ApStartup.c  create mode 100644 UefiCpuPkg/CpuDxe/CpuGdt.h  
> create mode 100644 UefiCpuPkg/CpuDxe/CpuMp.c  create mode 100644 
> UefiCpuPkg/CpuDxe/CpuMp.h  create mode 100644 
> UefiCpuPkg/CpuDxe/Ia32/MpAsm.asm  create mode 100644 
> UefiCpuPkg/CpuDxe/Ia32/MpAsm.nasm  create mode 100644 
> UefiCpuPkg/CpuDxe/X64/MpAsm.asm  create mode 100644 
> UefiCpuPkg/CpuDxe/X64/MpAsm.nasm
> 
> --
> 1.9.3
> 
> 
> 
> ------------------------------------------------------------------------------
> 
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel

------------------------------------------------------------------------------
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to