]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg/SmmControl2Dxe: save fw_cfg boot script with QemuFwCfgS3Lib
authorLaszlo Ersek <lersek@redhat.com>
Wed, 22 Feb 2017 21:48:00 +0000 (22:48 +0100)
committerLaszlo Ersek <lersek@redhat.com>
Tue, 14 Mar 2017 20:49:36 +0000 (21:49 +0100)
commit36a6aa6c64e246e97d0b9684aa57de7905b04b61
tree1c663ff740b19242ba7844428ecba50bb78f2787
parent7bb57805ba0e448bd5f5e5adf08735e0c8e77986
OvmfPkg/SmmControl2Dxe: save fw_cfg boot script with QemuFwCfgS3Lib

We cannot entirely eliminate the manual boot script building in this
driver, as it also programs lower-level chipset registers (SMI_EN,
GEN_PMCON_1) at S3 resume, not just registers exposed via fw_cfg.

We can nonetheless replace the manually built opcodes for the latter class
of registers with QemuFwCfgS3Lib function calls. We preserve the ordering
between the two sets of registers (low-level chipset first, fw_cfg
second).

This patch demonstrates that manual handling of S3SaveState protocol
installation can be combined with QemuFwCfgS3Lib, even without upsetting
the original order between boot script fragments. An S3SaveState notify
function running at TPL_CALLBACK can safely queue another S3SaveState
notify function at TPL_CALLBACK with QemuFwCfgS3CallWhenBootScriptReady().

Cc: Jordan Justen <jordan.l.justen@intel.com>
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=394
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/SmmControl2Dxe/SmiFeatures.c
OvmfPkg/SmmControl2Dxe/SmiFeatures.h
OvmfPkg/SmmControl2Dxe/SmmControl2Dxe.c