mirror of https://github.com/ipxe/ipxe.git
[init] Show startup and shutdown function names in debug messages
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/88/head
parent
de4565cbe7
commit
36a4c85f91
|
@ -127,6 +127,7 @@ struct init_fn cachedhcp_init_fn __init_fn ( INIT_NORMAL ) = {
|
||||||
|
|
||||||
/** Cached DHCPACK startup function */
|
/** Cached DHCPACK startup function */
|
||||||
struct startup_fn cachedhcp_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn cachedhcp_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "cachedhcp",
|
||||||
.startup = cachedhcp_startup,
|
.startup = cachedhcp_startup,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -265,5 +265,6 @@ static void runtime_init ( void ) {
|
||||||
|
|
||||||
/** Command line and initrd initialisation function */
|
/** Command line and initrd initialisation function */
|
||||||
struct startup_fn runtime_startup_fn __startup_fn ( STARTUP_NORMAL ) = {
|
struct startup_fn runtime_startup_fn __startup_fn ( STARTUP_NORMAL ) = {
|
||||||
|
.name = "runtime",
|
||||||
.startup = runtime_init,
|
.startup = runtime_init,
|
||||||
};
|
};
|
||||||
|
|
|
@ -141,5 +141,6 @@ static void undionly_shutdown ( int booting ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
struct startup_fn startup_undionly __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn startup_undionly __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "undionly",
|
||||||
.shutdown = undionly_shutdown,
|
.shutdown = undionly_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -300,5 +300,6 @@ static void initrd_startup ( void ) {
|
||||||
|
|
||||||
/** initrd startup function */
|
/** initrd startup function */
|
||||||
struct startup_fn startup_initrd __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn startup_initrd __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "initrd",
|
||||||
.startup = initrd_startup,
|
.startup = initrd_startup,
|
||||||
};
|
};
|
||||||
|
|
|
@ -547,6 +547,7 @@ static void bios_inject_shutdown ( int booting __unused ) {
|
||||||
|
|
||||||
/** Keypress injection startup function */
|
/** Keypress injection startup function */
|
||||||
struct startup_fn bios_inject_startup_fn __startup_fn ( STARTUP_NORMAL ) = {
|
struct startup_fn bios_inject_startup_fn __startup_fn ( STARTUP_NORMAL ) = {
|
||||||
|
.name = "bios_inject",
|
||||||
.startup = bios_inject_startup,
|
.startup = bios_inject_startup,
|
||||||
.shutdown = bios_inject_shutdown,
|
.shutdown = bios_inject_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -229,6 +229,7 @@ static void unhide_etherboot ( int flags __unused ) {
|
||||||
|
|
||||||
/** Hide Etherboot startup function */
|
/** Hide Etherboot startup function */
|
||||||
struct startup_fn hide_etherboot_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
struct startup_fn hide_etherboot_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
||||||
|
.name = "hidemem",
|
||||||
.startup = hide_etherboot,
|
.startup = hide_etherboot,
|
||||||
.shutdown = unhide_etherboot,
|
.shutdown = unhide_etherboot,
|
||||||
};
|
};
|
||||||
|
|
|
@ -111,6 +111,7 @@ static void remove_devices ( int booting __unused ) {
|
||||||
}
|
}
|
||||||
|
|
||||||
struct startup_fn startup_devices __startup_fn ( STARTUP_NORMAL ) = {
|
struct startup_fn startup_devices __startup_fn ( STARTUP_NORMAL ) = {
|
||||||
|
.name = "devices",
|
||||||
.startup = probe_devices,
|
.startup = probe_devices,
|
||||||
.shutdown = remove_devices,
|
.shutdown = remove_devices,
|
||||||
};
|
};
|
||||||
|
|
|
@ -36,6 +36,9 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
||||||
/** "startup() has been called" flag */
|
/** "startup() has been called" flag */
|
||||||
static int started = 0;
|
static int started = 0;
|
||||||
|
|
||||||
|
/** Colour for debug messages */
|
||||||
|
#define colour table_start ( INIT_FNS )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialise iPXE
|
* Initialise iPXE
|
||||||
*
|
*
|
||||||
|
@ -69,11 +72,15 @@ void startup ( void ) {
|
||||||
|
|
||||||
/* Call registered startup functions */
|
/* Call registered startup functions */
|
||||||
for_each_table_entry ( startup_fn, STARTUP_FNS ) {
|
for_each_table_entry ( startup_fn, STARTUP_FNS ) {
|
||||||
if ( startup_fn->startup )
|
if ( startup_fn->startup ) {
|
||||||
|
DBGC ( colour, "INIT startup %s...\n",
|
||||||
|
startup_fn->name );
|
||||||
startup_fn->startup();
|
startup_fn->startup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
started = 1;
|
started = 1;
|
||||||
|
DBGC ( colour, "INIT startup complete\n" );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -96,12 +103,16 @@ void shutdown ( int flags ) {
|
||||||
|
|
||||||
/* Call registered shutdown functions (in reverse order) */
|
/* Call registered shutdown functions (in reverse order) */
|
||||||
for_each_table_entry_reverse ( startup_fn, STARTUP_FNS ) {
|
for_each_table_entry_reverse ( startup_fn, STARTUP_FNS ) {
|
||||||
if ( startup_fn->shutdown )
|
if ( startup_fn->shutdown ) {
|
||||||
|
DBGC ( colour, "INIT shutdown %s...\n",
|
||||||
|
startup_fn->name );
|
||||||
startup_fn->shutdown ( flags );
|
startup_fn->shutdown ( flags );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset console */
|
/* Reset console */
|
||||||
console_reset();
|
console_reset();
|
||||||
|
|
||||||
started = 0;
|
started = 0;
|
||||||
|
DBGC ( colour, "INIT shutdown complete\n" );
|
||||||
}
|
}
|
||||||
|
|
|
@ -685,6 +685,7 @@ static void shutdown_cache ( int booting __unused ) {
|
||||||
|
|
||||||
/** Memory allocator shutdown function */
|
/** Memory allocator shutdown function */
|
||||||
struct startup_fn heap_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
struct startup_fn heap_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
||||||
|
.name = "heap",
|
||||||
.shutdown = shutdown_cache,
|
.shutdown = shutdown_cache,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -181,5 +181,6 @@ struct init_fn serial_console_init_fn __init_fn ( INIT_CONSOLE ) = {
|
||||||
|
|
||||||
/** Serial console startup function */
|
/** Serial console startup function */
|
||||||
struct startup_fn serial_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
struct startup_fn serial_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
||||||
|
.name = "serial",
|
||||||
.shutdown = serial_shutdown,
|
.shutdown = serial_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -126,6 +126,7 @@ static void rbg_shutdown_fn ( int booting __unused ) {
|
||||||
|
|
||||||
/** RBG startup table entry */
|
/** RBG startup table entry */
|
||||||
struct startup_fn startup_rbg __startup_fn ( STARTUP_NORMAL ) = {
|
struct startup_fn startup_rbg __startup_fn ( STARTUP_NORMAL ) = {
|
||||||
|
.name = "rbg",
|
||||||
.startup = rbg_startup_fn,
|
.startup = rbg_startup_fn,
|
||||||
.shutdown = rbg_shutdown_fn,
|
.shutdown = rbg_shutdown_fn,
|
||||||
};
|
};
|
||||||
|
|
|
@ -123,5 +123,6 @@ static void rootcert_init ( void ) {
|
||||||
|
|
||||||
/** Root certificate initialiser */
|
/** Root certificate initialiser */
|
||||||
struct startup_fn rootcert_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn rootcert_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "rootcert",
|
||||||
.startup = rootcert_init,
|
.startup = rootcert_init,
|
||||||
};
|
};
|
||||||
|
|
|
@ -2098,5 +2098,6 @@ static void ehci_shutdown ( int booting ) {
|
||||||
|
|
||||||
/** Startup/shutdown function */
|
/** Startup/shutdown function */
|
||||||
struct startup_fn ehci_startup __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn ehci_startup __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "ehci",
|
||||||
.shutdown = ehci_shutdown,
|
.shutdown = ehci_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -3363,5 +3363,6 @@ static void xhci_shutdown ( int booting ) {
|
||||||
|
|
||||||
/** Startup/shutdown function */
|
/** Startup/shutdown function */
|
||||||
struct startup_fn xhci_startup __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn xhci_startup __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "xhci",
|
||||||
.shutdown = xhci_shutdown,
|
.shutdown = xhci_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -185,6 +185,7 @@ void linux_args_cleanup(int flags __unused)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct startup_fn startup_linux_args __startup_fn(STARTUP_EARLY) = {
|
struct startup_fn startup_linux_args __startup_fn(STARTUP_EARLY) = {
|
||||||
|
.name = "linux_args",
|
||||||
.startup = linux_args_parse,
|
.startup = linux_args_parse,
|
||||||
.shutdown = linux_args_cleanup,
|
.shutdown = linux_args_cleanup,
|
||||||
};
|
};
|
||||||
|
|
|
@ -39,6 +39,7 @@ struct init_fn {
|
||||||
* part of the calls to startup() and shutdown().
|
* part of the calls to startup() and shutdown().
|
||||||
*/
|
*/
|
||||||
struct startup_fn {
|
struct startup_fn {
|
||||||
|
const char *name;
|
||||||
void ( * startup ) ( void );
|
void ( * startup ) ( void );
|
||||||
void ( * shutdown ) ( int booting );
|
void ( * shutdown ) ( int booting );
|
||||||
};
|
};
|
||||||
|
|
|
@ -212,6 +212,7 @@ static void efi_tick_shutdown ( int booting __unused ) {
|
||||||
|
|
||||||
/** Timer tick startup function */
|
/** Timer tick startup function */
|
||||||
struct startup_fn efi_tick_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
struct startup_fn efi_tick_startup_fn __startup_fn ( STARTUP_EARLY ) = {
|
||||||
|
.name = "efi_tick",
|
||||||
.startup = efi_tick_startup,
|
.startup = efi_tick_startup,
|
||||||
.shutdown = efi_tick_shutdown,
|
.shutdown = efi_tick_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -150,6 +150,7 @@ static void linux_console_shutdown(int flags __unused)
|
||||||
}
|
}
|
||||||
|
|
||||||
struct startup_fn linux_console_startup_fn __startup_fn(STARTUP_EARLY) = {
|
struct startup_fn linux_console_startup_fn __startup_fn(STARTUP_EARLY) = {
|
||||||
|
.name = "linux_console",
|
||||||
.startup = linux_console_startup,
|
.startup = linux_console_startup,
|
||||||
.shutdown = linux_console_shutdown,
|
.shutdown = linux_console_shutdown,
|
||||||
};
|
};
|
||||||
|
|
|
@ -1654,6 +1654,7 @@ static void tcp_shutdown ( int booting __unused ) {
|
||||||
|
|
||||||
/** TCP shutdown function */
|
/** TCP shutdown function */
|
||||||
struct startup_fn tcp_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
struct startup_fn tcp_startup_fn __startup_fn ( STARTUP_LATE ) = {
|
||||||
|
.name = "tcp",
|
||||||
.shutdown = tcp_shutdown,
|
.shutdown = tcp_shutdown,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue