iPXE
|
#include <ipxe/tables.h>
Go to the source code of this file.
Data Structures | |
struct | init_fn |
An initialisation function. More... | |
struct | startup_fn |
A startup/shutdown function. More... | |
Macros | |
#define | INIT_FNS __table ( struct init_fn, "init_fns" ) |
Initialisation function table. More... | |
#define | __init_fn(init_order) __table_entry ( INIT_FNS, init_order ) |
Declare an initialisation functon. More... | |
#define | INIT_EARLY 01 |
Early initialisation. More... | |
#define | INIT_CONSOLE 02 |
Console initialisation. More... | |
#define | INIT_NORMAL 03 |
Normal initialisation. More... | |
#define | INIT_LATE 04 |
Late initialisation. More... | |
#define | STARTUP_FNS __table ( struct startup_fn, "startup_fns" ) |
Startup/shutdown function table. More... | |
#define | __startup_fn(startup_order) __table_entry ( STARTUP_FNS, startup_order ) |
Declare a startup/shutdown function. More... | |
#define | STARTUP_EARLY 01 |
Early startup. More... | |
#define | STARTUP_NORMAL 02 |
Normal startup. More... | |
#define | STARTUP_LATE 03 |
Late startup. More... | |
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
void | initialise (void) |
Initialise iPXE. More... | |
void | startup (void) |
Start up iPXE. More... | |
void | shutdown (int booting) |
Shut down iPXE. More... | |
static void | shutdown_boot (void) |
Shut down system for OS boot. More... | |
static void | shutdown_exit (void) |
Shut down system for exit back to firmware. More... | |
#define __init_fn | ( | init_order | ) | __table_entry ( INIT_FNS, init_order ) |
#define STARTUP_FNS __table ( struct startup_fn, "startup_fns" ) |
#define __startup_fn | ( | startup_order | ) | __table_entry ( STARTUP_FNS, startup_order ) |
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
void initialise | ( | void | ) |
Initialise iPXE.
This function performs the one-time-only and irreversible initialisation steps, such as initialising the heap. It must be called before (almost) any other function.
There is, by definition, no counterpart to this function on the shutdown path.
Definition at line 52 of file init.c.
References for_each_table_entry, INIT_FNS, and init_fn::initialise.
Referenced by _efidrv_start(), main(), and undi_loader().
void startup | ( | void | ) |
Start up iPXE.
This function performs the repeatable initialisation steps, such as probing devices. You may call startup() and shutdown() multiple times (as is done via the PXE API when PXENV_START_UNDI is used).
Definition at line 67 of file init.c.
References colour, DBGC, for_each_table_entry, startup_fn::name, started, startup_fn::startup, and STARTUP_FNS.
Referenced by _efidrv_start(), main(), pxenv_start_undi(), and select_media().
void shutdown | ( | int | flags | ) |
Shut down iPXE.
flags | Shutdown behaviour flags |
This function reverses the actions of startup(), and leaves iPXE in a state ready to be removed from memory. You may call startup() again after calling shutdown().
Call this function only once, before either exiting main() or starting up a non-returnable image.
Definition at line 98 of file init.c.
References colour, console_reset(), DBGC, flags, for_each_table_entry_reverse, startup_fn::name, startup_fn::shutdown, started, and STARTUP_FNS.
Referenced by intelxl_admin_shutdown(), shutdown_boot(), and shutdown_exit().
|
inlinestatic |
Shut down system for OS boot.
Definition at line 76 of file init.h.
References shutdown().
Referenced by bzimage_exec(), efi_shutdown_hook(), elfboot_exec(), int22(), multiboot_exec(), nbi_exec(), and pxenv_stop_undi().
|
inlinestatic |
Shut down system for exit back to firmware.
Definition at line 84 of file init.h.
References shutdown().
Referenced by efi_unload(), and main().