diff options
| author | Michael Brown | 2005-04-10 20:30:34 +0200 |
|---|---|---|
| committer | Michael Brown | 2005-04-10 20:30:34 +0200 |
| commit | 87508aa0b2e0fea5d4dea8d732150bd2fdbbb9f8 (patch) | |
| tree | 88771e2c14fad3a6a7c63e74088c0ba266263ca5 /src/core | |
| parent | Use librm_arch_initialise for librm, arch_initialise for others. (diff) | |
| download | ipxe-87508aa0b2e0fea5d4dea8d732150bd2fdbbb9f8.tar.gz ipxe-87508aa0b2e0fea5d4dea8d732150bd2fdbbb9f8.tar.xz ipxe-87508aa0b2e0fea5d4dea8d732150bd2fdbbb9f8.zip | |
arch_initialise() is now sufficiently generic that we may as well just
call it initialise() and place it in main.c. :)
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/main.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/core/main.c b/src/core/main.c index c95f0ae28..ef8b67bb0 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -139,6 +139,23 @@ static int initialized; /************************************************************************** + * initialise() - perform any C-level initialisation + * + * This does not include initialising the NIC, but it does include + * e.g. getting the memory map, relocating to high memory, + * initialising the console, etc. + ************************************************************************** + */ +void initialise ( void ) { + /* Zero the BSS */ + memset ( _bss, 0, _ebss - _bss ); + + /* Call all registered initialisation functions. + */ + call_init_fns (); +} + +/************************************************************************** MAIN - Kick off routine **************************************************************************/ int main ( void ) { @@ -164,6 +181,10 @@ int main ( void ) { state = main_loop(state); } /* arch_on_exit(exit_status) */ + + /* Call registered per-object exit functions */ + call_exit_fns (); + return exit_status; } |
