Re: [PATCH 2/3] qemu-x86: Wire support for applying capsule updates to pflash
Simon Glass <[email protected]> Mon, 3 Aug 2026 13:25:32 -0600
| Newsgroups | gmane.comp.boot-loaders.u-boot |
|---|---|
| Message-ID | <CAFLszTjo5j7w+qzrruYZMXELu_3AP_Gt3wbneDiFP5-imPgNCw@mail.gmail.com> |
Hi Elliot, On 2026-07-30T19:37:45, Elliot Berman <[email protected]> wrote: > qemu-x86: Wire support for applying capsule updates to pflash The other two patches use the 'x86: qemu:' / 'x86: emulation:' prefix =E2=80=94 please make this one consistent (e.g., 'x86: qemu: Wire support f= or capsule updates to pflash'). > > Following the flow used for qemu-arm64, probe the pflash MTD device > and set dfu_alt_info/mtdparts for qemu-x86 and qemu-x86_64 so EFI > capsule updates can target the u-boot pflash partition. > > Signed-off-by: Elliot Berman <[email protected]> > > board/emulation/common/Kconfig | 2 ++ > board/emulation/common/qemu_dfu.c | 6 ++++-- > board/emulation/common/qemu_mtdparts.c | 6 ++++-- > board/emulation/qemu-x86/Kconfig | 3 +++ > board/emulation/qemu-x86/Makefile | 3 +++ > board/emulation/qemu-x86/qemu-x86.c | 38 ++++++++++++++++++++++++++++= ++++++ > 6 files changed, 54 insertions(+), 4 deletions(-) > diff --git a/board/emulation/qemu-x86/Kconfig b/board/emulation/qemu-x86/= Kconfig > @@ -24,5 +24,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy > imply VIRTIO_NET > imply VIRTIO_BLK > imply CMD_SMBIOS > + imply SET_DFU_ALT_INFO > + imply SYS_MTDPARTS_RUNTIME These are only useful when EFI capsule updates are wanted. qemu-arm gates them by putting them in a separate 'if TARGET_QEMU_ARM_64BIT && !TFABOOT' block that also sources common/Kconfig - please follow the same pattern here. > diff --git a/board/emulation/qemu-x86/Makefile b/board/emulation/qemu-x86= /Makefile > @@ -0,0 +1,3 @@ > +# SPDX-License-Identifier: GPL-2.0+ > + > +obj-y +=3D qemu-x86.o The whole body of qemu-x86.c is wrapped in #if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT). Please gate the object here instead and drop the outer #if: obj-$(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) +=3D qemu-x86.o > diff --git a/board/emulation/qemu-x86/qemu-x86.c b/board/emulation/qemu-x= 86/qemu-x86.c > @@ -0,0 +1,38 @@ > +// SPDX-License-Identifier: GPL-2.0+ > + > +#include <config.h> > +#include <efi.h> > +#include <efi_loader.h> ARRAY_SIZE() is used below, so please add #include <linux/kernel.h> explicitly (matches qemu-arm.c) rather than relying on transitive includes. > diff --git a/board/emulation/qemu-x86/qemu-x86.c b/board/emulation/qemu-x= 86/qemu-x86.c > @@ -0,0 +1,38 @@ > +#if IS_ENABLED(CONFIG_EFI_HAVE_CAPSULE_SUPPORT) > +struct efi_fw_image fw_images[] =3D { > +#if defined(CONFIG_TARGET_QEMU_X86) > + { > + .image_type_id =3D QEMU_X86_UBOOT_IMAGE_GUID, > + .fw_name =3D u"Qemu-X86-UBOOT", > + .image_index =3D 1, > + }, > +#elif defined(CONFIG_TARGET_QEMU_X86_64) Please use IS_ENABLED() consistently rather than mixing it with #if defined(). qemu-arm.c does the same thing, but new code should prefer the modern form. Regards, Simon