diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/main.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/core/main.c b/src/core/main.c index 97394d71d..638dea9cf 100644 --- a/src/core/main.c +++ b/src/core/main.c @@ -26,6 +26,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL ); * @ret rc Return status code */ __asmcall int main ( void ) { + int rc; /* Perform one-time-only initialisation (e.g. heap) */ initialise(); @@ -35,9 +36,11 @@ __asmcall int main ( void ) { startup(); printf ( "ok\n" ); - ipxe ( NULL ); + /* Attempt to boot */ + if ( ( rc = ipxe ( NULL ) ) != 0 ) + goto err_ipxe; + err_ipxe: shutdown_exit(); - - return 0; + return rc; } |
