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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to