aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board-qemu/slof/OF.fs5
-rw-r--r--slof/fs/boot.fs6
2 files changed, 8 insertions, 3 deletions
diff --git a/board-qemu/slof/OF.fs b/board-qemu/slof/OF.fs
index f0fc9c6..3bcb2af 100644
--- a/board-qemu/slof/OF.fs
+++ b/board-qemu/slof/OF.fs
@@ -303,10 +303,9 @@ set-default-console
: (boot-ram)
direct-ram-boot-size 0<> IF
." Booting from memory..." cr
- s" go-args 2@ " evaluate
- direct-ram-boot-base 0
+ s" direct-ram-boot-base to go-entry" evaluate
s" true state-valid ! " evaluate
- s" disable-watchdog go-64" evaluate
+ s" disable-watchdog go-direct" evaluate
THEN
;
diff --git a/slof/fs/boot.fs b/slof/fs/boot.fs
index 6d16c54..a6dfdf3 100644
--- a/slof/fs/boot.fs
+++ b/slof/fs/boot.fs
@@ -112,6 +112,12 @@ defer go ( -- )
claim-list elf-release 0 to claim-list
;
+: go-direct ( -- )
+ 0 ciregs >r3 ! 0 ciregs >r4 ! 0 ciregs >r2 !
+ msr@ 7fffffffffffffff and 2000 or ciregs >srr1 !
+ go-args 2@ go-entry call-client
+;
+
: set-le ( -- )
1 ciregs >r13 !
;