This series patchset 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 use EmulatorPkg/MpService for reference.
TODO: 1) StartupThisAP/StartAllAps: when Timeout expires before AP returns from Procedure, constrainedly terminate the executed Procedure. 2) Support SwitchBSP(). (Or it is unnecessary) Any Comment is welcome. Chen Fan (11): UefiCpuPkg/CpuDxe: Allocate Stack for APs UefiCpuPkg/CpuDxe: extract the enable apic SVR code UefiCpuPkg/CpuDxe: update APs idtr and enable APs APIC UefiCpuPkg/CpuDxe: Detect APs and save processors info UefiCpuPkg/CpuDxe: introduce a new interrupt handler UefiCpuPkg/CpuDxe: install Mp Service protocol UefiCpuPkg/CpuDxe: implement Mp Services: GetProcessorInfo() UefiCpuPkg/CpuDxe: implement Mp Services: EnableDisableAP() UefiCpuPkg/CpuDxe: implement Mp Services: StartupThisAP() UefiCpuPkg/CpuDxe: implement Mp Services: StartupAllAPs() UefiCpuPkg/CpuDxe: MpService : checking ReadToBootEvent is signaled or not Jordan Justen (6): 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: Startup APs UefiCpuPkg/CpuDxe/ApStartup.asm | 111 +++ UefiCpuPkg/CpuDxe/ApStartup.c | 194 ++++ UefiCpuPkg/CpuDxe/CpuDxe.c | 3 + UefiCpuPkg/CpuDxe/CpuDxe.inf | 7 + UefiCpuPkg/CpuDxe/CpuGdt.c | 52 +- UefiCpuPkg/CpuDxe/CpuGdt.h | 72 ++ UefiCpuPkg/CpuDxe/CpuMp.c | 1227 ++++++++++++++++++++++++ UefiCpuPkg/CpuDxe/CpuMp.h | 93 ++ UefiCpuPkg/CpuDxe/Ia32/MpAsm.S | 64 ++ UefiCpuPkg/CpuDxe/X64/MpAsm.S | 67 ++ UefiCpuPkg/Include/Library/LocalApicLib.h | 8 +- UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 27 +- 12 files changed, 1862 insertions(+), 63 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.S create mode 100644 UefiCpuPkg/CpuDxe/X64/MpAsm.S -- 1.9.3 ------------------------------------------------------------------------------ Infragistics Professional Build stunning WinForms apps today! Reboot your WinForms applications with our WinForms controls. Build a bridge from your legacy apps to the future. http://pubads.g.doubleclick.net/gampad/clk?id=153845071&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel