audk/OvmfPkg/SmmControl2Dxe
Laszlo Ersek 36a6aa6c64 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>
2017-03-14 21:49:36 +01:00
..
SmiFeatures.c OvmfPkg/SmmControl2Dxe: save fw_cfg boot script with QemuFwCfgS3Lib 2017-03-14 21:49:36 +01:00
SmiFeatures.h OvmfPkg/SmmControl2Dxe: save fw_cfg boot script with QemuFwCfgS3Lib 2017-03-14 21:49:36 +01:00
SmmControl2Dxe.c OvmfPkg/SmmControl2Dxe: save fw_cfg boot script with QemuFwCfgS3Lib 2017-03-14 21:49:36 +01:00
SmmControl2Dxe.inf