Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk --- arch/sparc64/boot.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/arch/sparc64/boot.c b/arch/sparc64/boot.c index 48922d4..c2e3dc1 100644 --- a/arch/sparc64/boot.c +++ b/arch/sparc64/boot.c @@ -7,6 +7,7 @@ #include "arch/common/nvram.h" #include "libc/diskio.h" #include "libc/vsprintf.h" +#include "libopenbios/initprogram.h" #include "libopenbios/sys_info.h" #include "boot.h"
@@ -21,7 +22,7 @@ extern int sparc64_of_client_interface( int *params );
void go(void) { - ucell address, type, size; + ucell address, type; int image_retval = 0;
/* Get the entry point and the type (see forth/debugging/client.fs) */ @@ -29,8 +30,6 @@ void go(void) address = POP(); feval("load-state >ls.file-type @"); type = POP(); - feval("load-state >ls.file-size @"); - size = POP();
printk("\nJumping to entry point " FMT_ucellx " for type " FMT_ucellx "...\n", address, type);
@@ -52,19 +51,12 @@ void go(void)
case 0x10: /* Start Fcode image */ - printk("Evaluating FCode...\n"); - PUSH(address); - PUSH(1); - fword("byte-load"); - image_retval = 0; + image_retval = start_client_image((uint64_t)&init_fcode_context, (uint64_t)&sparc64_of_client_interface); break;
case 0x11: /* Start Forth image */ - PUSH(address); - PUSH(size); - fword("eval2"); - image_retval = 0; + image_retval = start_client_image((uint64_t)&init_forth_context, (uint64_t)&sparc64_of_client_interface); break; }