EDK2 BIOS images have wrong version string

Host environment

  • Operating system: Windows 10
  • OS/kernel version: 19045.4046
  • Architecture: x86_64
  • QEMU flavor: qemu-system-x86_64
  • QEMU version: QEMU emulator version 8.2.90 (v9.0.0-rc0-42-g54294b23e1)
  • QEMU command line:
    qemu-system-x86_64 -machine type=q35,accel=whpx,kernel-irqchip=off -cpu qemu64 -smp 2,sockets=1,cores=2,maxcpus=2 -m $(10*1024) -audio dsound,model=hda -display sdl,gl=on -vga virtio -device qemu-xhci -device usb-tablet -rtc base=localtime -bios "D:\vstorage\win_m01_qemu_2403_edk2-x86_64.fd" -boot menu=on

Emulated/Virtualized environment

  • Operating system: NA just the uefi tianocore edk2 bios
  • OS/kernel version: NA
  • Architecture: x86_64

Description of problem

cosmetic, low priority, but maybe easy to fix
I think the displayed version inside the edk2 bios interface is not updating from version to version.
The updated version number is useful for the qemu-user to be assured that the updated bios file is in use.

There is also some unreliability in whether the bios screen is entered on pressing F2. I need to try do it a few times, that is restart qemu, for it to succeed and reach the bios interface. No issue with registering the F2 keystroke, starting screen does react to it. Sometimes it stops on a intermediate bios screen that does probing. I documented this as a different bug #2234 .

The reason I am trying out these bios files is because I am having trouble booting an iso image, which I filed as a different bug #2235.

This is how I create a bios file on update of a qemu version.
I have extracted and overwritten the 8.2.0 files in the scoop installed qemu folder with 9.0.0-rc0 files from gitlab artifact.
I have used qemu-setup-v9.0.0-rc0-42-g54294b23e1.exe which should include kraxel's 20240320 pull request [PULL 0/5] Edk2 20240320 patches Gerd Hoffmann.
In a command prompt window
C:\vol\scoop_01\scoopg\apps\qemu\8.2.0\share> C:\vol\scoop_01\scoopg\apps\git\current\usr\bin\cat.exe .\edk2-i386-vars.fd .\edk2-x86_64-code.fd > D:\vstorage\win_m01_qemu_2403_edk2-x86_64.fd

so far following files have been created

D:\vstorage>dir D:\vstorage\win_m01_qemu_2*
 Volume in drive D is VD_15KJ
 Volume Serial Number is 1EA6-2771

 Directory of D:\vstorage

04/17/2023  09:23 PM         4,194,304 win_m01_qemu_2302_edk2-x86_64.fd   # 8.0.0
03/20/2024  10:31 AM         4,194,304 win_m01_qemu_2308_edk2-x86_64.fd   # 8.1.0
03/20/2024  01:18 PM         4,194,304 win_m01_qemu_2402_edk2-x86_64.fd   # 8.2.0
03/21/2024  11:24 AM         4,194,304 win_m01_qemu_2403_edk2-x86_64.fd   # 9.0.0-rc0
               4 File(s)     16,777,216 bytes
               0 Dir(s)  140,732,907,520 bytes free

D:\vstorage>C:\vol\scoop_01\scoopg\apps\git\current\usr\bin\cmp.exe win_m01_qemu_2302_edk2-x86_64.fd win_m01_qemu_2403_edk2-x86_64.fd
win_m01_qemu_2302_edk2-x86_64.fd win_m01_qemu_2403_edk2-x86_64.fd differ: char 540809, line 1

D:\vstorage>C:\vol\scoop_01\scoopg\apps\git\current\usr\bin\cmp.exe win_m01_qemu_2402_edk2-x86_64.fd win_m01_qemu_2403_edk2-x86_64.fd
D:\vstorage>

The above indicate to me that nothing has changed in edk2 binaries between 8.2.0 and 9.0.0. Is that correct?

Steps to reproduce

  1. start qemu
  2. press F2 when qemu guest display window pops up. When it works, it brings up the edk2 bios interface.
  3. observe guest display screen . Notice that the displayed version still says edk2-stable202302-for-qemu. The displayed version has remained the same regardless of the bios file being used to boot qemu be they from 8.0.0 upto 9.0.0
    I expect it to show edk2-stable202302-for-qemu, edk2-stable202308-for-qemu, edk2-stable202402-for-qemu, edk2-stable202403-for-qemu etc

guest display screen QEMU_3_21_2024_11_25_00_AM

Additional information

herein notifying @kraxel

Edited by GK