Files
ipxe/src/arch/i386/core/hooks.c
2005-05-20 11:23:51 +00:00

33 lines
742 B
C

#include "registers.h"
#include "main.h"
#include "hooks.h"
/*
* This file provides the basic entry points from assembly code. See
* README.i386 for a description of the entry code path.
*
*/
/*
* arch_main() : call main() and then exit via whatever exit mechanism
* the prefix requested.
*
*/
void arch_main ( struct i386_all_regs *ix86 ) {
void (*exit_path) ( struct i386_all_regs *ix86 );
/* Determine exit path requested by prefix */
exit_path = ( typeof ( exit_path ) ) ix86->regs.eax;
/* Call to main() */
ix86->regs.eax = main();
if ( exit_path ) {
/* Prefix requested that we use a particular function
* as the exit path, so we call this function, which
* must not return.
*/
exit_path ( ix86 );
}
}