opengnsys_ipxe/src
Michael Brown 8249bbc098 [efi] Use driver name only from driver binding handles in debug messages
Some non-driver handles may have an installed component name protocol.
In particular, iPXE itself installs these protocols on its SNP device
handles, to simplify the process of delegating GetControllerName()
from our single-instance driver binding protocol to whatever child
controllers the relevant EFI driver may have installed.

For non-driver handles, the device path is more useful as debugging
information than the driver name.  Limit the use of the component name
protocols to handles with a driver binding protocol installed, so that
we will end up using the device path for non-driver handles such as
the SNP device.

Continue to prefer the driver name to the device path for handles with
a driver binding protocol installed, since these will generally map to
things we are likely to conceptualise as drivers rather than as
devices.

Note that we deliberately do not use GetControllerName() to attempt to
get a human-readable name for a controller handle.  In the normal
course of events, iPXE is likely to disconnect at least some existing
drivers from their controller handles.  This would cause the name
obtained via GetControllerName() to change.  By using the device path
instead, we ensure that the debug message name remains the same even
when the driver controlling the handle is changed.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
2025-03-21 17:15:38 +00:00
..
arch [rng] Restore state of IRQ 8 and PIE when disabling entropy gathering 2025-03-14 15:08:05 +00:00
bin [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
config [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
core [cpio] Allow for the construction of pure directories 2025-03-12 14:32:41 +00:00
crypto [efi] Accept and trust CA certificates in the TlsCaCertificates variable 2025-03-13 15:54:43 +00:00
doc [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
drivers [bnxt] Allocate TX rings with firmware input 2025-02-07 09:26:15 +00:00
hci [menu] Allow a post-activity timeout to be defined 2025-02-19 13:12:29 +00:00
image [efi] Allow wrapping the global boot services table in situ 2025-03-20 12:35:42 +00:00
include [efi] Allow wrapping the global boot services table in situ 2025-03-20 12:35:42 +00:00
interface [efi] Use driver name only from driver binding handles in debug messages 2025-03-21 17:15:38 +00:00
libgcc [libgcc] Change __divmoddi4 from int64 [unknown] to int64_t 2020-07-21 14:33:32 +01:00
net [tls] Allow for NIST elliptic curve point formats 2025-01-21 15:55:33 +00:00
scripts [arm] Inhibit linker warnings about an implied executable stack 2023-01-23 12:55:44 +00:00
tests [cpio] Allow for the construction of pure directories 2025-03-12 14:32:41 +00:00
usr [image] Add the "imgdecrypt" command 2024-08-29 15:11:30 +01:00
util [riscv] Add support for the RISC-V CPU architecture 2024-09-15 22:34:10 +01:00
.gitignore [build] Reduce scope of wildcard .gitignore rules 2024-01-09 12:39:48 +00:00
Makefile [build] Allow for per-architecture cross-compilation prefixes 2024-10-29 14:11:08 +00:00
Makefile.efi [efi] Add support for driving EFI_MANAGED_NETWORK_PROTOCOL devices 2024-03-25 17:58:33 +00:00
Makefile.housekeeping [build] Use -fshort-wchar when building EFI host utilities 2025-03-10 12:34:35 +00:00
Makefile.linux [linux] Allow a sysroot to be specified via SYSROOT=... 2024-09-15 10:01:35 +01:00
doxygen.cfg [build] Remove PACKED macro 2010-05-29 23:49:47 +01:00