summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAshish Singhal <ashishsingha@nvidia.com>2026-09-03 09:01:07 -0600
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2026-09-04 10:49:01 +0000
commit55832cf7a8c61d5a0864b22ed1a4192fc3cc8e02 (patch)
treeadf7e2679eda5e7ea59d2b2b7200fe626d510db6
parent3e6aa03ab405ba25567d2f7cd199207895b8966a (diff)
downloadedk2-55832cf7a8c61d5a0864b22ed1a4192fc3cc8e02.tar.gz
edk2-55832cf7a8c61d5a0864b22ed1a4192fc3cc8e02.zip
ArmVirtPkg/ArmVirtQemu: Default the boot timeout to 0 like OVMF
ArmVirtQemu.dsc sets PcdPlatformBootTimeOut to 3 seconds as a PcdsDynamicDefault and to 5 seconds as the default of the HII-backed "Timeout" variable. With a fresh variable store, and unless QEMU is started with "-boot menu=on", an AArch64 guest therefore idles for about 5 seconds in BDS on every boot. OVMF defaults the same PCD to 0 and boots immediately under the same conditions. The timeout logic is otherwise identical on both platforms: the PlatformBootManagerLib calls GetFrontPageTimeoutFromQemu(), which honours "-boot menu=on[,splash-time=N]" and falls back to the platform default, and hands the result to the common BdsDxe wait loop. Only the DSC default differs. The delay is a measurable penalty for short-lived AArch64 VMs. In a time-to-ssh comparison a QEMU guest on an AArch64 host took 14.6s versus 11.8s on x86; with the timeout at 0 the AArch64 guest came in at 8s. Set both defaults to 0 to match OVMF. Users who want the boot menu prompt keep the same controls as on x86: "-boot menu=on" still yields a 3 second (or splash-time) wait, and because the PCD remains backed by the UEFI "Timeout" variable, "efibootmgr -t N" from the guest continues to work. Fixes: https://github.com/tianocore/edk2/issues/13068 Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
-rw-r--r--ArmVirtPkg/ArmVirtQemu.dsc4
1 files changed, 2 insertions, 2 deletions
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
index 0f05fda936..a3f8a2d0ac 100644
--- a/ArmVirtPkg/ArmVirtQemu.dsc
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
@@ -226,7 +226,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2
[PcdsDynamicDefault.common]
- gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|0
## PL031 RealTimeClock
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0
@@ -264,7 +264,7 @@
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
!endif
- gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5
+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|0
[LibraryClasses.common.PEI_CORE, LibraryClasses.common.PEIM]
!if $(TPM2_ENABLE) == TRUE