From 1e3fb1b37e16cd7cd30f6b20b9eee929568f35a9 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 15 Jul 2025 14:08:15 +0100 Subject: [PATCH] [init] Show initialisation function names in debug messages Signed-off-by: Michael Brown --- src/arch/x86/core/cpuid_settings.c | 1 + src/arch/x86/core/debugcon.c | 1 + src/arch/x86/core/pci_autoboot.c | 1 + src/arch/x86/core/video_subr.c | 1 + src/arch/x86/interface/pcbios/bios_cachedhcp.c | 1 + src/arch/x86/interface/pcbios/int13con.c | 1 + src/arch/x86/interface/pcbios/pcicloud.c | 1 + src/arch/x86/interface/pxe/pxe_call.c | 1 + src/arch/x86/interface/vmware/guestinfo.c | 1 + src/arch/x86/interface/vmware/vmconsole.c | 1 + src/core/acpi_settings.c | 1 + src/core/fnrec.c | 1 + src/core/init.c | 4 +++- src/core/malloc.c | 1 + src/core/memmap_settings.c | 1 + src/core/process.c | 1 + src/core/serial.c | 1 + src/core/settings.c | 1 + src/core/timer.c | 1 + src/crypto/certstore.c | 1 + src/crypto/des.c | 1 + src/crypto/x25519.c | 1 + src/drivers/bus/pci_settings.c | 1 + src/drivers/bus/usb_settings.c | 1 + src/drivers/net/efi/snponly.c | 1 + src/image/embedded.c | 1 + src/include/ipxe/init.h | 1 + src/interface/efi/efi_cacert.c | 1 + src/interface/efi/efi_console.c | 1 + src/interface/efi/efi_fdt.c | 1 + src/interface/efi/efi_settings.c | 1 + src/interface/efi/efiprefix.c | 1 + src/interface/smbios/smbios_settings.c | 1 + src/net/netdev_settings.c | 1 + src/tests/bofm_test.c | 1 + src/tests/test.c | 1 + 36 files changed, 38 insertions(+), 1 deletion(-) diff --git a/src/arch/x86/core/cpuid_settings.c b/src/arch/x86/core/cpuid_settings.c index 9bc69f477..44d38debc 100644 --- a/src/arch/x86/core/cpuid_settings.c +++ b/src/arch/x86/core/cpuid_settings.c @@ -250,6 +250,7 @@ static void cpuid_settings_init ( void ) { /** CPUID settings initialiser */ struct init_fn cpuid_settings_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "cpuid", .initialise = cpuid_settings_init, }; diff --git a/src/arch/x86/core/debugcon.c b/src/arch/x86/core/debugcon.c index 60de61f55..0e3a5dfc7 100644 --- a/src/arch/x86/core/debugcon.c +++ b/src/arch/x86/core/debugcon.c @@ -86,5 +86,6 @@ static void debugcon_init ( void ) { * Debug port console initialisation function */ struct init_fn debugcon_init_fn __init_fn ( INIT_EARLY ) = { + .name = "debugcon", .initialise = debugcon_init, }; diff --git a/src/arch/x86/core/pci_autoboot.c b/src/arch/x86/core/pci_autoboot.c index 337598091..243e45026 100644 --- a/src/arch/x86/core/pci_autoboot.c +++ b/src/arch/x86/core/pci_autoboot.c @@ -44,5 +44,6 @@ static void pci_autoboot_init ( void ) { /** PCI autoboot device initialisation function */ struct init_fn pci_autoboot_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "autoboot", .initialise = pci_autoboot_init, }; diff --git a/src/arch/x86/core/video_subr.c b/src/arch/x86/core/video_subr.c index f5cc4cdd4..4e9ef466f 100644 --- a/src/arch/x86/core/video_subr.c +++ b/src/arch/x86/core/video_subr.c @@ -109,5 +109,6 @@ struct console_driver vga_console __console_driver = { }; struct init_fn video_init_fn __init_fn ( INIT_EARLY ) = { + .name = "video", .initialise = video_init, }; diff --git a/src/arch/x86/interface/pcbios/bios_cachedhcp.c b/src/arch/x86/interface/pcbios/bios_cachedhcp.c index 897858143..60191c9c5 100644 --- a/src/arch/x86/interface/pcbios/bios_cachedhcp.c +++ b/src/arch/x86/interface/pcbios/bios_cachedhcp.c @@ -74,5 +74,6 @@ static void cachedhcp_init ( void ) { /** Cached DHCPACK initialisation function */ struct init_fn cachedhcp_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "cachedhcp", .initialise = cachedhcp_init, }; diff --git a/src/arch/x86/interface/pcbios/int13con.c b/src/arch/x86/interface/pcbios/int13con.c index 8106cd153..925228874 100644 --- a/src/arch/x86/interface/pcbios/int13con.c +++ b/src/arch/x86/interface/pcbios/int13con.c @@ -288,6 +288,7 @@ static void int13con_init ( void ) { * INT13 console initialisation function */ struct init_fn int13con_init_fn __init_fn ( INIT_CONSOLE ) = { + .name = "int13con", .initialise = int13con_init, }; diff --git a/src/arch/x86/interface/pcbios/pcicloud.c b/src/arch/x86/interface/pcbios/pcicloud.c index f7d4a2da1..5d4d02ac4 100644 --- a/src/arch/x86/interface/pcbios/pcicloud.c +++ b/src/arch/x86/interface/pcbios/pcicloud.c @@ -191,5 +191,6 @@ static void pcicloud_init ( void ) { /** Cloud VM PCI configuration space access initialisation function */ struct init_fn pcicloud_init_fn __init_fn ( INIT_EARLY ) = { + .name = "pcicloud", .initialise = pcicloud_init, }; diff --git a/src/arch/x86/interface/pxe/pxe_call.c b/src/arch/x86/interface/pxe/pxe_call.c index a530f919f..9a6a20dd3 100644 --- a/src/arch/x86/interface/pxe/pxe_call.c +++ b/src/arch/x86/interface/pxe/pxe_call.c @@ -257,6 +257,7 @@ static void pxe_init_structures ( void ) { /** PXE structure initialiser */ struct init_fn pxe_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "pxe", .initialise = pxe_init_structures, }; diff --git a/src/arch/x86/interface/vmware/guestinfo.c b/src/arch/x86/interface/vmware/guestinfo.c index 4134515c1..c181d96e9 100644 --- a/src/arch/x86/interface/vmware/guestinfo.c +++ b/src/arch/x86/interface/vmware/guestinfo.c @@ -200,6 +200,7 @@ static void guestinfo_init ( void ) { /** GuestInfo settings initialiser */ struct init_fn guestinfo_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "guestinfo", .initialise = guestinfo_init, }; diff --git a/src/arch/x86/interface/vmware/vmconsole.c b/src/arch/x86/interface/vmware/vmconsole.c index f7df4f75b..3b892c837 100644 --- a/src/arch/x86/interface/vmware/vmconsole.c +++ b/src/arch/x86/interface/vmware/vmconsole.c @@ -134,5 +134,6 @@ static void vmconsole_init ( void ) { * VMware logfile console initialisation function */ struct init_fn vmconsole_init_fn __init_fn ( INIT_CONSOLE ) = { + .name = "vmconsole", .initialise = vmconsole_init, }; diff --git a/src/core/acpi_settings.c b/src/core/acpi_settings.c index cdee1f865..63f271855 100644 --- a/src/core/acpi_settings.c +++ b/src/core/acpi_settings.c @@ -156,5 +156,6 @@ static void acpi_settings_init ( void ) { /** ACPI settings initialiser */ struct init_fn acpi_settings_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "acpi", .initialise = acpi_settings_init, }; diff --git a/src/core/fnrec.c b/src/core/fnrec.c index 0430817f8..b63ffc1f5 100644 --- a/src/core/fnrec.c +++ b/src/core/fnrec.c @@ -177,6 +177,7 @@ static void fnrec_init ( void ) { } struct init_fn fnrec_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "fnrec", .initialise = fnrec_init, }; diff --git a/src/core/init.c b/src/core/init.c index c13fd1667..406d22d7b 100644 --- a/src/core/init.c +++ b/src/core/init.c @@ -53,8 +53,10 @@ void initialise ( void ) { struct init_fn *init_fn; /* Call registered initialisation functions */ - for_each_table_entry ( init_fn, INIT_FNS ) + for_each_table_entry ( init_fn, INIT_FNS ) { + DBGC ( colour, "INIT initialising %s...\n", init_fn->name ); init_fn->initialise (); + } } /** diff --git a/src/core/malloc.c b/src/core/malloc.c index 545927a30..a05871085 100644 --- a/src/core/malloc.c +++ b/src/core/malloc.c @@ -765,6 +765,7 @@ static void init_heap ( void ) { /** Memory allocator initialisation function */ struct init_fn heap_init_fn __init_fn ( INIT_EARLY ) = { + .name = "heap", .initialise = init_heap, }; diff --git a/src/core/memmap_settings.c b/src/core/memmap_settings.c index d07e9747e..f54de9150 100644 --- a/src/core/memmap_settings.c +++ b/src/core/memmap_settings.c @@ -243,6 +243,7 @@ static void memmap_settings_init ( void ) { /** Memory map settings initialiser */ struct init_fn memmap_settings_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "memmap", .initialise = memmap_settings_init, }; diff --git a/src/core/process.c b/src/core/process.c index 69852c416..c944b6f50 100644 --- a/src/core/process.c +++ b/src/core/process.c @@ -133,5 +133,6 @@ static void init_processes ( void ) { /** Process initialiser */ struct init_fn process_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "process", .initialise = init_processes, }; diff --git a/src/core/serial.c b/src/core/serial.c index 4b569ffad..0883ad051 100644 --- a/src/core/serial.c +++ b/src/core/serial.c @@ -180,6 +180,7 @@ static void serial_shutdown ( int flags __unused ) { /** Serial console initialisation function */ struct init_fn serial_console_init_fn __init_fn ( INIT_CONSOLE ) = { + .name = "serial", .initialise = serial_init, }; diff --git a/src/core/settings.c b/src/core/settings.c index 9fbf753ab..05e495dcf 100644 --- a/src/core/settings.c +++ b/src/core/settings.c @@ -2819,5 +2819,6 @@ static void builtin_init ( void ) { /** Built-in settings initialiser */ struct init_fn builtin_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "builtin", .initialise = builtin_init, }; diff --git a/src/core/timer.c b/src/core/timer.c index 24745cef7..d45797adb 100644 --- a/src/core/timer.c +++ b/src/core/timer.c @@ -170,6 +170,7 @@ static void timer_probe ( void ) { /** Timer initialisation function */ struct init_fn timer_init_fn __init_fn ( INIT_EARLY ) = { + .name = "timer", .initialise = timer_probe, }; diff --git a/src/crypto/certstore.c b/src/crypto/certstore.c index 81179f9cc..aad874297 100644 --- a/src/crypto/certstore.c +++ b/src/crypto/certstore.c @@ -210,6 +210,7 @@ static void certstore_init ( void ) { /** Certificate store initialisation function */ struct init_fn certstore_init_fn __init_fn ( INIT_LATE ) = { + .name = "certstore", .initialise = certstore_init, }; diff --git a/src/crypto/des.c b/src/crypto/des.c index 6918bec3e..206f78d50 100644 --- a/src/crypto/des.c +++ b/src/crypto/des.c @@ -369,6 +369,7 @@ static void des_init ( void ) { /** Initialisation function */ struct init_fn des_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "des", .initialise = des_init, }; diff --git a/src/crypto/x25519.c b/src/crypto/x25519.c index 995cfa352..41bc5fc5e 100644 --- a/src/crypto/x25519.c +++ b/src/crypto/x25519.c @@ -334,6 +334,7 @@ static void x25519_init_constants ( void ) { /** Initialisation function */ struct init_fn x25519_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "x25519", .initialise = x25519_init_constants, }; diff --git a/src/drivers/bus/pci_settings.c b/src/drivers/bus/pci_settings.c index 84aa76827..fc73c651e 100644 --- a/src/drivers/bus/pci_settings.c +++ b/src/drivers/bus/pci_settings.c @@ -125,5 +125,6 @@ static void pci_settings_init ( void ) { /** PCI device settings initialiser */ struct init_fn pci_settings_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "pci", .initialise = pci_settings_init, }; diff --git a/src/drivers/bus/usb_settings.c b/src/drivers/bus/usb_settings.c index 4fd190d83..bb01f34d5 100644 --- a/src/drivers/bus/usb_settings.c +++ b/src/drivers/bus/usb_settings.c @@ -173,5 +173,6 @@ static void usb_settings_init ( void ) { /** USB device settings initialiser */ struct init_fn usb_settings_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "usb", .initialise = usb_settings_init, }; diff --git a/src/drivers/net/efi/snponly.c b/src/drivers/net/efi/snponly.c index f0a5277a2..876479133 100644 --- a/src/drivers/net/efi/snponly.c +++ b/src/drivers/net/efi/snponly.c @@ -259,5 +259,6 @@ static void chained_init ( void ) { /** EFI chainloaded-device-only initialisation function */ struct init_fn chained_init_fn __init_fn ( INIT_LATE ) = { + .name = "chained", .initialise = chained_init, }; diff --git a/src/image/embedded.c b/src/image/embedded.c index 2934d4ee7..652cfc85f 100644 --- a/src/image/embedded.c +++ b/src/image/embedded.c @@ -80,5 +80,6 @@ static void embedded_init ( void ) { /** Embedded image initialisation function */ struct init_fn embedded_init_fn __init_fn ( INIT_LATE ) = { + .name = "embedded", .initialise = embedded_init, }; diff --git a/src/include/ipxe/init.h b/src/include/ipxe/init.h index 32927e3a6..da01b2953 100644 --- a/src/include/ipxe/init.h +++ b/src/include/ipxe/init.h @@ -12,6 +12,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * call to initialise(). */ struct init_fn { + const char *name; void ( * initialise ) ( void ); }; diff --git a/src/interface/efi/efi_cacert.c b/src/interface/efi/efi_cacert.c index 2b6c5c343..64bb0bae2 100644 --- a/src/interface/efi/efi_cacert.c +++ b/src/interface/efi/efi_cacert.c @@ -178,6 +178,7 @@ static void efi_cacert_init ( void ) { /** EFI CA certificates initialisation function */ struct init_fn efi_cacert_init_fn __init_fn ( INIT_LATE ) = { + .name = "eficacert", .initialise = efi_cacert_init, }; diff --git a/src/interface/efi/efi_console.c b/src/interface/efi/efi_console.c index 9fc3c65c0..4557671a0 100644 --- a/src/interface/efi/efi_console.c +++ b/src/interface/efi/efi_console.c @@ -448,5 +448,6 @@ static void efi_console_init ( void ) { * EFI console initialisation function */ struct init_fn efi_console_init_fn __init_fn ( INIT_EARLY ) = { + .name = "eficonsole", .initialise = efi_console_init, }; diff --git a/src/interface/efi/efi_fdt.c b/src/interface/efi/efi_fdt.c index 3a90fd7ce..3c249693e 100644 --- a/src/interface/efi/efi_fdt.c +++ b/src/interface/efi/efi_fdt.c @@ -77,6 +77,7 @@ static void efi_fdt_init ( void ) { /** EFI Flattened Device Tree initialisation function */ struct init_fn efi_fdt_init_fn __init_fn ( INIT_EARLY ) = { + .name = "efifdt", .initialise = efi_fdt_init, }; diff --git a/src/interface/efi/efi_settings.c b/src/interface/efi/efi_settings.c index cde0ff8d1..5ddbe12f1 100644 --- a/src/interface/efi/efi_settings.c +++ b/src/interface/efi/efi_settings.c @@ -232,5 +232,6 @@ static void efivars_init ( void ) { /** EFI variable settings initialiser */ struct init_fn efivars_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "efivars", .initialise = efivars_init, }; diff --git a/src/interface/efi/efiprefix.c b/src/interface/efi/efiprefix.c index 10d8f0bf6..ddce6aa60 100644 --- a/src/interface/efi/efiprefix.c +++ b/src/interface/efi/efiprefix.c @@ -98,6 +98,7 @@ static void efi_init_application ( void ) { /** EFI application initialisation function */ struct init_fn efi_init_application_fn __init_fn ( INIT_NORMAL ) = { + .name = "efi", .initialise = efi_init_application, }; diff --git a/src/interface/smbios/smbios_settings.c b/src/interface/smbios/smbios_settings.c index 1fe545f38..6358a4709 100644 --- a/src/interface/smbios/smbios_settings.c +++ b/src/interface/smbios/smbios_settings.c @@ -200,6 +200,7 @@ static void smbios_init ( void ) { /** SMBIOS settings initialiser */ struct init_fn smbios_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "smbios", .initialise = smbios_init, }; diff --git a/src/net/netdev_settings.c b/src/net/netdev_settings.c index 9432dc2fa..90b804c6c 100644 --- a/src/net/netdev_settings.c +++ b/src/net/netdev_settings.c @@ -429,6 +429,7 @@ static void netdev_redirect_settings_init ( void ) { /** "netX" settings initialiser */ struct init_fn netdev_redirect_settings_init_fn __init_fn ( INIT_LATE ) = { + .name = "netX", .initialise = netdev_redirect_settings_init, }; diff --git a/src/tests/bofm_test.c b/src/tests/bofm_test.c index 6d472bc7e..bc400284f 100644 --- a/src/tests/bofm_test.c +++ b/src/tests/bofm_test.c @@ -278,5 +278,6 @@ static void bofm_test_init ( void ) { /** BOFM test initialisation function */ struct init_fn bofm_test_init_fn __init_fn ( INIT_NORMAL ) = { + .name = "bofm", .initialise = bofm_test_init, }; diff --git a/src/tests/test.c b/src/tests/test.c index 9fa12e27a..e4f5eb838 100644 --- a/src/tests/test.c +++ b/src/tests/test.c @@ -180,5 +180,6 @@ static void test_init ( void ) { /** Self-test initialisation function */ struct init_fn test_init_fn __init_fn ( INIT_EARLY ) = { + .name = "test", .initialise = test_init, }; -- 2.47.2