On Thu, May 30, 2024 at 10:08:26AM GMT, Michael Brown wrote: > iPXE shouldn't be triggering any protocol installations in response to > ExitBootServices. > > We used to make a good-faith effort to clean up gracefully by uninstalling > protocols. This ended up exposing so many bugs in EDK2 and third-party UEFI > code (where the uninstallation paths seem to almost never be tested) that we > eventually gave up.
Most likely it is exactly this ... > As of commit > https://github.com/ipxe/ipxe/commit/6769a7c3c, we now deliberately leak > resources once ExitBootServices has been triggered by skipping the cleanup > calls to UninstallMultipleProtocolInterfaces etc. ... as the ipxe binaries shipped in upstream qemu repo are older than that commit. Time to run an update I guess. Trying to update to current ipxe master gives me build errors though (with fedora 40 + gcc 14): kraxel@sirius ~/projects/qemu/roms (sirius/ipxe)# make efirom /usr/bin/gmake -C ipxe/src CONFIG=qemu \ CROSS_COMPILE=x86_64-linux-gnu- \ bin/8086100e.rom bin/808610d3.rom bin/80861209.rom bin/10500940.rom bin/10222000.rom bin/10ec8139.rom bin/1af41000.rom bin/15ad07b0.rom gmake[1]: Entering directory '/home/kraxel/projects/qemu/roms/ipxe/src' [BUILD] bin/etherfabric.o In file included from drivers/net/etherfabric.c:36: In function ‘falcon_xaui_link_ok’, inlined from ‘falcon_init_xmac’ at drivers/net/etherfabric.c:2355:14, inlined from ‘falcon_init_xmac’ at drivers/net/etherfabric.c:2314:1: drivers/net/etherfabric.h:524:28: error: ‘reg.u32[0]’ may be used uninitialized [-Werror=maybe-uninitialized] 522 | (dword).u32[0] = ( ( (dword).u32[0] \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 523 | & ~EFAB_INPLACE_MASK32 ( 0, 31, field ) ) \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 524 | | EFAB_INSERT_FIELD32 ( 0, 31, field, value ) ); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/net/etherfabric.c:2233:9: note: in expansion of macro ‘EFAB_SET_DWORD_FIELD’ 2233 | EFAB_SET_DWORD_FIELD ( reg, FCN_XX_DISPERR, FCN_XX_DISPERR_RESET); | ^~~~~~~~~~~~~~~~~~~~ drivers/net/etherfabric.c: In function ‘falcon_init_xmac’: drivers/net/etherfabric.c:2213:22: note: ‘reg.u32[0]’ was declared here 2213 | efab_dword_t reg; | ^~~ cc1: all warnings being treated as errors gmake[1]: *** [Makefile.housekeeping:964: bin/etherfabric.o] Error 1 gmake[1]: Leaving directory '/home/kraxel/projects/qemu/roms/ipxe/src' gmake: *** [Makefile:123: build-pxe-roms] Error 2 take care, Gerd -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#119389): https://edk2.groups.io/g/devel/message/119389 Mute This Topic: https://groups.io/mt/106383321/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-