Re: [PATCH 1/1] efi: avoid video ghosting in EFI app

Simon Glass <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <CAFLszTiwvPhE+WLW1ym7wz35cCYY4wbF84drF2D34paP83uP6A@mail.gmail.com>
Hi Heinrich,

On Wed, 5 Aug 2026 at 22:22, Heinrich Schuchardt
<[email protected]> wrote:
>
>
>
> Simon Glass <[email protected]> schrieb am Do., 6. Aug. 2026, 00:00:
>>
>> Hi Heinrich,
>>
>> On 2026-07-31T08:57:24, Heinrich Schuchardt
>> <[email protected]> wrote:
>> > efi: avoid video ghosting in EFI app
>> >
>> > When running the EFI app via QEMU with EDK II using
>> >
>> >   cp /usr/share/OVMF/OVMF_VARS_4M.fd .
>> >   qemu-system-x86_64 -enable-kvm -m 2048 \
>> >     -machine q35,smm=on \
>> >     -drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
>> >     -drive if=pflash,format=raw,file=OVMF_VARS_4M.fd \
>> >     -hda disk
>> >
>> > every character printed to the console by the U-Boot app appears twice. See
>> > https://gist.github.com/xypron/7214e785c7d73104f8541bcac363a192 .
>> >
>> > The reason is that environment variable stdout has serial,vidconsole as
>> > value. This is defined by board/efi/efi-x86_app/efi-x86_app.env including
>> > include/env/x86.env.
>> >
>> > Provide a proper efi-x86_app.env file which does not use vidconsole.
>> >
>> > [...]
>> >
>> > board/efi/efi-x86_app/efi-x86_app.env | 13 ++++++++++++-
>> >  1 file changed, 12 insertions(+), 1 deletion(-)
>>
>> > diff --git a/board/efi/efi-x86_app/efi-x86_app.env b/board/efi/efi-x86_app/efi-x86_app.env
>> > @@ -1,6 +1,17 @@
>> >  /* SPDX-License-Identifier: GPL-2.0+ */
>> > +
>> >  /*
>> >   * Copyright (c) 2015 Google, Inc
>> >   */
>> >
>> > -#include <env/x86.env>
>> > +netdev=eth0
>> > +consoledev=ttyS0
>> > +scriptaddr=0x7000000
>> > +kernel_addr_r=0x1000000
>> > +ramdisk_addr_r=0x4000000
>> > +ramdiskfile=initramfs.gz
>> > +
>> > +/* common console settings */
>> > +stdin=serial
>> > +stdout=serial
>> > +stderr=serial
>>
>> Please can you keep '#include <env/x86.env>' and override just the
>> three console variables afterwards?
>
>
> Hello Simon,
>
> the EFI app should not be x86 specific. You already fixed this in your private repo.

Are you planning to bring in support for ARM, RISC-V, etc? In any
case, if you make a change the commit message should mention it, so
people are not left guessing whether this is intentional or not. BTW
my repo is public :-)

>
> Do you miss any value?
>
>> env2string.awk uses vars[var] =
>> env, so a later assignment wins, and we avoid duplicating netdev,
>> consoledev, scriptaddr, kernel_addr_r, ramdisk_addr_r and ramdiskfile
>> — otherwise any future change to include/env/x86.env will drift away
>> from the EFI app.
>>
>> Also, the previous include pulled in pciconfighost=1 which this
>> version silently drops. If that is intentional it deserves a mention
>> in the commit message; if not, the include-then-override approach
>> fixes it for free.
>
>
> The EFI must not drive any hardware directly. There is no value in pciconfighost.

Again, please just put this comment in the commit message.

>
> Best regards
>
> Heinrich
>
>>
>> BTW an alternative is to leave x86.env alone and make the vidconsole
>> entries conditional on something like !defined(CONFIG_EFI_APP), so
>> efi-x86_payload.env and the other x86 boards keep sharing one source
>> of truth. What do you think?

Regards,
Simon
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.