Chen Fan [mailto:chen.fan.f...@cn.fujitsu.com] wrote:

]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.

Hello Chen Fan,

I gave this patch set a try using Windows and Microsoft
build tools. To build, I had to:
1) Add masm versions of MpAsm.s. I think EDK2 requires
   that code can build using Microsoft tools.
2) Turn off some Microsoft compiler warnings by adding
to CpuDxe.inf:
+[BuildOptions]
+   MSFT:*_*_*_CC_FLAGS = /wd4054 /wd4244 /wd4245

With this patch set, the APs are launched even when
a project never uses mpservice. To minimize boot time
it would be good if no AP launch code runs unless
mpservice is actually used.

There is a problem when the AP init code runs and tries
to load the GDT while in 32-bit mode. This patch set
uses the same GDT as the BSP, which may be above 4GB
and unusable for 32-bit AP init code.

My test returned the wrong cpucount because function
AsmApEntryPoint loops, causing cpump.c to execute
mCpuIndex++ several times.

Thanks,
Scott 


------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to