audk/OvmfPkg/PlatformPei
Laszlo Ersek 45a70db3c3 OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib
These settings will allow CpuMpPei and CpuDxe to wait for the initial AP
check-ins exactly as long as necessary.

It is safe to set PcdCpuMaxLogicalProcessorNumber and
PcdCpuApInitTimeOutInMicroSeconds in OvmfPkg/PlatformPei.
OvmfPkg/PlatformPei installs the permanent PEI RAM, producing
gEfiPeiMemoryDiscoveredPpiGuid, and UefiCpuPkg/CpuMpPei has a depex on
gEfiPeiMemoryDiscoveredPpiGuid.

It is safe to read the fw_cfg item QemuFwCfgItemSmpCpuCount (0x0005). It
was added to QEMU in 2008 as key FW_CFG_NB_CPUS, in commit 905fdcb5264c
("Add common keys to firmware configuration"). Even if the key is
unavailable (or if fw_cfg is entirely unavailable, for example on Xen),
QemuFwCfgRead16() will return 0, and then we stick with the current
behavior.

Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2016-11-29 10:05:54 +01:00
..
Cmos.c
Cmos.h
FeatureControl.c OvmfPkg/PlatformPei: program MSR_IA32_FEATURE_CONTROL from fw_cfg 2016-07-15 07:38:56 +02:00
Fv.c OvmfPkg: decompress FVs on S3 resume if SMM_REQUIRE is set 2015-11-30 18:41:24 +00:00
MemDetect.c OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
Platform.c OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
Platform.h OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
PlatformPei.inf OvmfPkg/PlatformPei: take VCPU count from QEMU and configure MpInitLib 2016-11-29 10:05:54 +01:00
Xen.c OvmfPkg/PlatformPei: eliminate unchecked PcdSetXX() calls 2016-10-25 10:46:22 +02:00
Xen.h