mirror of https://github.com/ipxe/ipxe.git
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.pull/1/head
parent
cc23057b59
commit
f8f75cef5b
|
@ -356,9 +356,6 @@ start_runtime:
|
||||||
lret
|
lret
|
||||||
.section ".text16", "awx", @progbits
|
.section ".text16", "awx", @progbits
|
||||||
1:
|
1:
|
||||||
pushl $initialise
|
|
||||||
data32 call prot_call
|
|
||||||
popl %eax /* discard */
|
|
||||||
pushl $main
|
pushl $main
|
||||||
data32 call prot_call
|
data32 call prot_call
|
||||||
popl %eax /* discard */
|
popl %eax /* discard */
|
||||||
|
|
|
@ -141,21 +141,6 @@ static int exit_status;
|
||||||
static int initialized;
|
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
|
MAIN - Kick off routine
|
||||||
|
@ -165,6 +150,9 @@ int main ( void ) {
|
||||||
void *image_context;
|
void *image_context;
|
||||||
int skip = 0;
|
int skip = 0;
|
||||||
|
|
||||||
|
/* Call all registered initialisation functions */
|
||||||
|
call_init_fns ();
|
||||||
|
|
||||||
/* Print out configuration */
|
/* Print out configuration */
|
||||||
print_config();
|
print_config();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue