diff --git a/arch/sparc32/boot.c b/arch/sparc32/boot.c index 5d3e46f..57d59c1 100644 --- a/arch/sparc32/boot.c +++ b/arch/sparc32/boot.c @@ -72,7 +72,7 @@ static int try_path(const char *path, char *param) #ifdef CONFIG_LOADER_FORTH /* Forth loader */ - forth_load(path); + forth_load(dev); feval("state-valid @"); valid = POP(); if (valid) diff --git a/arch/sparc64/boot.c b/arch/sparc64/boot.c index 4a3a921..c1aa1bb 100644 --- a/arch/sparc64/boot.c +++ b/arch/sparc64/boot.c @@ -64,7 +64,7 @@ static int try_path(const char *path, char *param) #ifdef CONFIG_LOADER_FORTH /* Forth loader */ - forth_load(path); + forth_load(dev); feval("state-valid @"); valid = POP(); if (valid) diff --git a/arch/x86/boot.c b/arch/x86/boot.c index 81238c8..9273966 100644 --- a/arch/x86/boot.c +++ b/arch/x86/boot.c @@ -61,7 +61,7 @@ static int try_path(const char *path, char *param) #ifdef CONFIG_LOADER_FORTH /* Forth loader */ - forth_load(path); + forth_load(dev); feval("state-valid @"); valid = POP(); if (valid) diff --git a/include/libopenbios/forth_load.h b/include/libopenbios/forth_load.h index acb01fa..a39d414 100644 --- a/include/libopenbios/forth_load.h +++ b/include/libopenbios/forth_load.h @@ -18,7 +18,7 @@ #define _H_FORTHLOAD extern int is_forth(char *forth); -extern int forth_load(const char *filename); +extern int forth_load(ihandle_t dev); extern void forth_init_program(void); #endif /* _H_FORTHLOAD */ diff --git a/libopenbios/forth_load.c b/libopenbios/forth_load.c index e462e49..d3b911d 100644 --- a/libopenbios/forth_load.c +++ b/libopenbios/forth_load.c @@ -23,7 +23,7 @@ int is_forth(char *forth) return (forth[0] == '\\' && forth[1] == ' '); } -int forth_load(const char *filename) +int forth_load(ihandle_t dev) { char magic[2]; unsigned long forthsize; @@ -32,7 +32,7 @@ int forth_load(const char *filename) /* Mark the saved-program-state as invalid */ feval("0 state-valid !"); - fd = open_io(filename); + fd = open_ih(dev); if (!fd) goto out;