mirror of https://github.com/acidanthera/audk.git
OvmfPkg: Check for QemuFwCfg availability before accessing it
There are few places in the codebase assuming QemuFwCfg will be present and supported, which can cause some issues when trying to rely on the QemuFwCfgLibNull implementation of QemuFwCfgLib. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com> Acked-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
parent
5c9f151e0c
commit
43f3cfce19
|
@ -410,14 +410,17 @@ PlatformMaxCpuCountInitialization (
|
|||
IN OUT EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||
)
|
||||
{
|
||||
UINT16 BootCpuCount;
|
||||
UINT16 BootCpuCount = 0;
|
||||
UINT32 MaxCpuCount;
|
||||
|
||||
//
|
||||
// Try to fetch the boot CPU count.
|
||||
//
|
||||
QemuFwCfgSelectItem (QemuFwCfgItemSmpCpuCount);
|
||||
BootCpuCount = QemuFwCfgRead16 ();
|
||||
if (QemuFwCfgIsAvailable ()) {
|
||||
QemuFwCfgSelectItem (QemuFwCfgItemSmpCpuCount);
|
||||
BootCpuCount = QemuFwCfgRead16 ();
|
||||
}
|
||||
|
||||
if (BootCpuCount == 0) {
|
||||
//
|
||||
// QEMU doesn't report the boot CPU count. (BootCpuCount == 0) will let
|
||||
|
|
|
@ -2233,6 +2233,11 @@ GetFrontPageTimeoutFromQemu (
|
|||
{
|
||||
FIRMWARE_CONFIG_ITEM BootMenuWaitItem;
|
||||
UINTN BootMenuWaitSize;
|
||||
UINT16 Timeout = PcdGet16 (PcdPlatformBootTimeOut);
|
||||
|
||||
if (!QemuFwCfgIsAvailable ()) {
|
||||
return Timeout;
|
||||
}
|
||||
|
||||
QemuFwCfgSelectItem (QemuFwCfgItemBootMenu);
|
||||
if (QemuFwCfgRead16 () == 0) {
|
||||
|
@ -2257,9 +2262,6 @@ GetFrontPageTimeoutFromQemu (
|
|||
// return three seconds if the platform default would cause us to skip the
|
||||
// front page, and return the platform default otherwise.
|
||||
//
|
||||
UINT16 Timeout;
|
||||
|
||||
Timeout = PcdGet16 (PcdPlatformBootTimeOut);
|
||||
if (Timeout == 0) {
|
||||
Timeout = 3;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue