Patches 1 and 2 fix several instances of the same CPUID-related bug in
UefiCpuPkg (BaseXApicLib, BaseXApicX2ApicLib, MpInitLib/Ia32,
MpInitLib/X64).
Patches 3 and 4 are independent from the bugfix, but they relate
nonetheless to multiprocessing, so I'm including them in the same
series. They allow OvmfPkg to fetch the number of boot processors from
QEMU, and to make CpuMpPei / CpuDxe wait in the initial enumeration
exactly as long as it takes for all of the APs to come up. This makes MP
boot much more reliable (and no time is wasted waiting).
(
Note that I have another patch set pending on the list:
[edk2] [PATCH v2 0/4] OvmfPkg: broadcast SMIs and dynamically revert
to traditional AP sync mode
That series and this series have a trivial context dependency in
OvmfPkg/OvmfPkg*.dsc. Because that series consumes an interface from
QEMU that will be part of the 2.9 release only, not the pending 2.8
release, that series comes *second*. In comparison, this series works
as-is, so it comes first. Locally I have rebased the broadcast SMI
series already (it is trivial); it does not interfere with the review.
)
Repo: https://github.com/lersek/edk2/
Branch: mpinit
Cc: Igor Mammedov <[email protected]>
Cc: Jeff Fan <[email protected]>
Cc: Jordan Justen <[email protected]>
Thanks
Laszlo
Laszlo Ersek (4):
UefiCpuPkg/LocalApicLib: fix feature test for Extended Topology CPUID
leaf
UefiCpuPkg/MpInitLib: fix feature test for Extended Topology CPUID
leaf
UefiCpuPkg/MpInitLib: allow platforms to provide a known CPU count
upfront
OvmfPkg/PlatformPei: set PcdCpuKnownLogicalProcessorNumber for
MpInitLib
OvmfPkg/OvmfPkgIa32.dsc | 2 ++
OvmfPkg/OvmfPkgIa32X64.dsc | 2 ++
OvmfPkg/OvmfPkgX64.dsc | 2 ++
OvmfPkg/PlatformPei/Platform.c | 22
++++++++++++++++++++
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
UefiCpuPkg/Library/BaseXApicLib/BaseXApicLib.c | 7 +++++--
UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.c | 7 +++++--
UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf | 1 +
UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 4 ++--
UefiCpuPkg/Library/MpInitLib/MpLib.c | 16 ++++++++++----
UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm | 21
+++++++++++--------
UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm | 21
+++++++++++--------
UefiCpuPkg/UefiCpuPkg.dec | 11 ++++++++++
13 files changed, 89 insertions(+), 28 deletions(-)
--
2.9.2
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel