diff options
-rw-r--r-- | board-qemu/slof/OF.fs | 5 | ||||
-rw-r--r-- | slof/fs/boot.fs | 6 |
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 ! ; |