Reviewed-by: Jeff Fan <[email protected]> Thanks! Jeff -----Original Message----- From: Laszlo Ersek [mailto:[email protected]] Sent: Friday, July 08, 2016 3:11 AM To: edk2-devel-01 Cc: Fan, Jeff; Justen, Jordan L; Kinney, Michael D Subject: [PATCH 0/4] OvmfPkg: program MSR_IA32_FEATURE_CONTROL from fw_cfg on all processors
This series fixes <https://github.com/tianocore/edk2/issues/97>: RFE: OvmfPkg: Set MSR_IA32_FEATURE_CONTROL by following QEMU fw_cfg file The Request for Enhancement is very detailed (thankfully), so I will not copy details here. I will describe the patch series in brief: Patches #1 and #2 enable OVMF to include and run UefiCpuPkg/CpuMpPei, on both the normal boot path and the S3 resume path. Patch #3 pulls in UefiCpuPkg/CpuMpPei. Patch #4 invokes EFI_PEI_MP_SERVICES_PPI.StartupAllAPs() (provided by UefiCpuPkg/CpuMpPei) from OvmfPkg/PlatformPei, in order to program the IA32_FEATURE_CONTROL MSR on all APs, in addition to the BSP. The MSR value is taken from QEMU via fw_cfg. I tested and regression-tested this patch extensively. The MSR values were verified in the guest according to the instructions in the GitHub issue report, for { SMM present, SMM absent } x { normal boot, S3 resume } in SMP Fedora guests (4 and 8 VCPUs). The regression tests included: - SMM_REQUIRE, Ia32, Q35, Fedora, normal boot and S3 - SMM_REQUIRE, Ia32X64, Q35, Fedora, normal boot and S3 - SMM_REQUIRE, Ia32X64, Q35, Windows 8.1, normal boot and S3 - no SMM, X64, i440fx, Fedora, normal boot and S3 - no SMM, X64, i440fx, Windows 2008 R2, normal boot and S3 - no SMM, X64, i400fx, Windows 2012 R2, normal boot and S3 Public branch: <https://github.com/lersek/edk2/commits/feat_ctrl_issue97>. Cc: Jeff Fan <[email protected]> Cc: Jordan Justen <[email protected]> Cc: Michael Kinney <[email protected]> Thanks Laszlo Laszlo Ersek (4): OvmfPkg/PlatformPei: create one memory HOB at S3 resume too, for CpuMpPei OvmfPkg: increase the S3 permanent PEI RAM size by 8.5 MB OvmfPkg: include UefiCpuPkg/CpuMpPei OvmfPkg/PlatformPei: program MSR_IA32_FEATURE_CONTROL from fw_cfg OvmfPkg/OvmfPkgIa32.dsc | 5 + OvmfPkg/OvmfPkgIa32.fdf | 11 +- OvmfPkg/OvmfPkgIa32X64.dsc | 5 + OvmfPkg/OvmfPkgIa32X64.fdf | 11 +- OvmfPkg/OvmfPkgX64.dsc | 5 + OvmfPkg/OvmfPkgX64.fdf | 11 +- OvmfPkg/PlatformPei/FeatureControl.c | 134 ++++++++++++++++++++ OvmfPkg/PlatformPei/MemDetect.c | 24 +++- OvmfPkg/PlatformPei/Platform.c | 1 + OvmfPkg/PlatformPei/Platform.h | 5 + OvmfPkg/PlatformPei/PlatformPei.inf | 2 + 11 files changed, 198 insertions(+), 16 deletions(-) create mode 100644 OvmfPkg/PlatformPei/FeatureControl.c -- 1.8.3.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

