diff options
author | Michael Brown | 2006-05-13 13:30:03 +0200 |
---|---|---|
committer | Michael Brown | 2006-05-13 13:30:03 +0200 |
commit | 568cad0ddcbadaf9ee2e965afaa3fc54f53962ff (patch) | |
tree | 8976c7fce629e9ecd3f431ab6d528753d334b44d /src/include | |
parent | (Redoing check-in lost by SourceForge's failure.) (diff) | |
download | ipxe-568cad0ddcbadaf9ee2e965afaa3fc54f53962ff.tar.gz ipxe-568cad0ddcbadaf9ee2e965afaa3fc54f53962ff.tar.xz ipxe-568cad0ddcbadaf9ee2e965afaa3fc54f53962ff.zip |
(Redoing check-in lost by SourceForge's failure.)
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/init.h | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/src/include/init.h b/src/include/init.h deleted file mode 100644 index 3708d923..00000000 --- a/src/include/init.h +++ /dev/null @@ -1,66 +0,0 @@ -#ifndef INIT_H -#define INIT_H - -#include "stddef.h" /* for NULL */ -#include <gpxe/tables.h> - -/* - * In order to avoid having objects dragged in just because main() - * calls their initialisation function, we allow each object to - * specify that it has a function that must be called to initialise - * that object. The function call_init_fns() will call all the - * included objects' initialisation functions. - * - * Objects that require initialisation should include init.h and - * register the initialisation function using INIT_FN(). - * - * Objects may register up to three functions: init, reset and exit. - * init gets called only once, at the point that Etherboot is - * initialised (before the call to main()). reset gets called between - * each boot attempt. exit gets called only once, just before the - * loaded OS starts up (or just before Etherboot exits, if it exits, - * or when the PXE NBP calls UNDI_SHUTDOWN, if it's a PXE NBP). - * - * The syntax is: - * INIT_FN ( init_order, init_function, reset_function, exit_function ); - * where init_order is an ordering taken from the list below. Any - * function may be left as NULL. - */ - -/* An entry in the initialisation function table */ - -struct init_fn { - void ( *init ) ( void ); - void ( *reset ) ( void ); - void ( *exit ) ( void ); -}; - -/* Use double digits to avoid problems with "10" < "9" on alphabetic sort */ -#define INIT_LIBRM 01 -#define INIT_CONSOLE 02 -#define INIT_CPU 03 -#define INIT_TIMERS 04 -#define INIT_PCIBIOS 05 -#define INIT_MEMSIZES 06 -#define INIT_RELOCATE 07 -#define INIT_LOADBUF 08 -#define INIT_PCMCIA 09 -#define INIT_HEAP 10 -#define INIT_RPC 11 - -/* Macro for creating an initialisation function table entry */ -#define INIT_FN( init_order, init_func, reset_func, exit_func ) \ - struct init_fn PREFIX_OBJECT(init_fn__) \ - __table ( init_fn, init_order ) = { \ - .init = init_func, \ - .reset = reset_func, \ - .exit = exit_func, \ - }; - -/* Function prototypes */ - -void call_init_fns ( void ); -void call_reset_fns ( void ); -void call_exit_fns ( void ); - -#endif /* INIT_H */ |