aboutsummaryrefslogtreecommitdiff
path: root/slof
diff options
context:
space:
mode:
authorNikunj A Dadhania <nikunj@linux.vnet.ibm.com>2017-12-12 11:07:12 +0530
committerAlexey Kardashevskiy <aik@ozlabs.ru>2017-12-13 12:54:06 +1100
commit1e8f6e68d28132e70898bd4bd6f799b591c3bf2b (patch)
tree281e2e6feca87985ae2b7cea9e29018e8179b303 /slof
parent6e925bbb1a0389535263f69b8a8645dcf3ae926e (diff)
downloadSLOF-1e8f6e68d28132e70898bd4bd6f799b591c3bf2b.zip
SLOF-1e8f6e68d28132e70898bd4bd6f799b591c3bf2b.tar.gz
SLOF-1e8f6e68d28132e70898bd4bd6f799b591c3bf2b.tar.bz2
boot: do not concatenate bootdev
We were concatenating the word " parse-load" and $bootdev list that was input to evaluate. Open code EVALUATE work such that concatenation is not required. "load" and "load-next" does not use $cat anymore. Reported here: https://github.com/qemu/SLOF/issues/3 Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com> Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Diffstat (limited to 'slof')
-rw-r--r--slof/fs/boot.fs12
1 files changed, 10 insertions, 2 deletions
diff --git a/slof/fs/boot.fs b/slof/fs/boot.fs
index 1fd7439..5d41a0e 100644
--- a/slof/fs/boot.fs
+++ b/slof/fs/boot.fs
@@ -221,11 +221,19 @@ defer go ( -- )
ELSE
drop
THEN
- set-boot-args s" parse-load " $bootdev $cat strdup evaluate
+ set-boot-args
+ save-source -1 to source-id
+ $bootdev dup #ib ! span ! to ib
+ 0 >in !
+ ['] parse-load catch restore-source throw
;
: load-next ( -- success ) \ Continue after go failed
- load-list 2@ ?dup IF s" parse-load " 2swap $cat strdup evaluate
+ load-list 2@ ?dup IF
+ save-source -1 to source-id
+ dup #ib ! span ! to ib
+ 0 >in !
+ ['] parse-load catch restore-source throw
ELSE drop false THEN
;