From f8f75cef5bba0edfd17e4ca1fe176f8c640a4781 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Tue, 2 May 2006 21:10:45 +0000 Subject: [PATCH] BSS is now zeroed by libprefix (along with the otherwise non-zeroable portions such as the stack) during the installation process. init_fns() are called from main(). We need to think about initial control flow some more. --- src/arch/i386/prefix/dskprefix.S | 3 --- src/core/main.c | 18 +++--------------- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/arch/i386/prefix/dskprefix.S b/src/arch/i386/prefix/dskprefix.S index a2f62198..fff0be41 100644 --- a/src/arch/i386/prefix/dskprefix.S +++ b/src/arch/i386/prefix/dskprefix.S @@ -356,9 +356,6 @@ start_runtime: lret .section ".text16", "awx", @progbits 1: - pushl $initialise - data32 call prot_call - popl %eax /* discard */ pushl $main data32 call prot_call popl %eax /* discard */ diff --git a/src/core/main.c b/src/core/main.c index f6448e80..13aae4cf 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -141,21 +141,6 @@ static int exit_status; 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 @@ -165,6 +150,9 @@ int main ( void ) { void *image_context; int skip = 0; + /* Call all registered initialisation functions */ + call_init_fns (); + /* Print out configuration */ print_config();