On 04/20/20 16:13, Gerd Hoffmann wrote: > Hi, > >> So I would say that the symptom you see is a QEMU v4.1.0 regression. >> The QemuRamfbGraphicsOutputSetMode() function in the OVMF ramfb >> driver certainly needs the QemuFwCfgWriteBytes() call to work, for >> changing the resolution. > > Oh? QemuRamfbGraphicsOutputSetMode() can be called multiple times? > How does that happen?
QemuRamfbGraphicsOutputSetMode() is the "SetMode" member function of the EFI_GRAPHICS_OUTPUT_PROTOCOL instance that QemuRamfbDxe produces. This is a standard protocol; UEFI drivers and applications are free to locate it and to use it. (1) When you launch OVMF, you get the splash screen in a particular resolution. This resolution: - is configured by OvmfPkg/PlatformDxe, - is inherited by an OS boot loader, - is reconfigurable with OvmfPkg/PlatformDxe, for the next boot, via the Setup TUI, - defaults to 800x600 (taking effect when no particular choice is configured). (2) UiApp -- the Setup TUI itself -- uses its own resolution. Under OVMF, this resolution is fixed 640x480. When UiApp is entered, ultimately a call is made to QemuRamfbGraphicsOutputSetMode() -- i.e., a GOP.SetMode() member function -- for setting this 640x480 resolution. Using the following command: qemu-system-x86_64 \ -nodefaults \ -boot menu=on,splash-time=5000 \ -enable-kvm \ -device ramfb \ -drive if=pflash,readonly,format=raw,file=$PREFIX/share/qemu/edk2-x86_64-code.fd \ -drive if=pflash,snapshot,format=raw,file=$PREFIX/share/qemu/edk2-i386-vars.fd \ -debugcon file:ovmf.log \ -global isa-debugcon.iobase=0x402 when you first see the progress bar, the graphical resolution (1) is 800x600. Accordingly, QEMU prints to stderr: > ramfb_fw_cfg_write: 800x600 @ 0x6702000 Once you hit ESC to interrupt the progress bar and to enter the Setup TUI, UiApp switches to resolution (2), 640x480. QEMU prints: > ramfb_fw_cfg_write: 640x480 @ 0x6702000 > ramfb_fw_cfg_write: resolution locked, change rejected And you get garbage in the Setup window. Thanks, Laszlo -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#57736): https://edk2.groups.io/g/devel/message/57736 Mute This Topic: https://groups.io/mt/73011122/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-