[Skiboot] [PATCH 1/2] external/mambo: Populate kernel-base-address in the DT

Russell Currey ruscur at russell.cc
Mon Mar 25 15:29:28 AEDT 2019

skiboot.tcl defines PAYLOAD_ADDR as 0x20000000, which is the default in
skiboot.  This is also the default in skiboot unless kernel-base-address
is set in the device tree.

If you change PAYLOAD_ADDR to something else for mambo, skiboot won't
see it because it doesn't set that DT property, so fix it so that it does.

Signed-off-by: Russell Currey <ruscur at russell.cc>
 external/mambo/skiboot.tcl | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl
index 545a7cca..096f1c34 100644
--- a/external/mambo/skiboot.tcl
+++ b/external/mambo/skiboot.tcl
@@ -221,6 +221,10 @@ lappend compat "ibm,power8-xscom"
 set compat [of::encode_compat $compat]
 mysim of addprop $xscom_node byte_array "compatible" $compat
+set chosen_node [mysim of find_device /chosen]
+set base_addr [list $mconf(payload_addr)]
+mysim of addprop $chosen_node array64 "kernel-base-address" base_addr
 # Load any initramfs
 set cpio_start 0x80000000
 set cpio_end $cpio_start
@@ -236,7 +240,6 @@ if { [info exists env(SKIBOOT_INITRD)] } {
 	    set cpio_end [expr $cpio_end + $cpio_size]
-    set chosen_node [mysim of find_device /chosen]
     mysim of addprop $chosen_node int "linux,initrd-start" $cpio_start
     mysim of addprop $chosen_node int "linux,initrd-end"   $cpio_end

More information about the Skiboot mailing list