|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH OSSTEST v4 04/13] Osstest/Debian: Support for loading an FDT from u-boot script
The currently supported platform provides an FDT preloaded at 0x1000.
Replace this with ${fdt_addr} (which the current platform exposes) and
for platforms which do not provide an fdt arrange to load the relevant
file as named in the ${fdtfile} (which is conventionally provided by
u-boot for platforms which need this).
Drop some random memory clearing rune, I've no idea what the intended
purpose was, 0x800000 doesn't correspond to any $foo_addr_r on the
midway systems for example.
Also get rid of the scsi scan which must necessarily have already
happened (since the boot.scr itselfs lives on a scsi drive).
Lastly, add some echos to show progress through the script, as an aid
to debugging.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---
v2: Refactor uboot dtb loading scriptlet, which previously appeared
twice
---
Osstest/Debian.pm | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index 0a69aca..8b70442 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -114,6 +114,15 @@ sub bl_getmenu_open ($$$) {
return $f;
}
+sub uboot_scr_load_dtb () {
+ return <<'END';
+if test -z "\${fdt_addr}" && test -n "\${fdtfile}" ; then
+ echo Loading dtbs/\${fdtfile}
+ ext2load scsi 0 \${fdt_addr_r} dtbs/\${fdtfile}
+ setenv fdt_addr \${fdt_addr_r}
+fi
+END
+}
sub setupboot_uboot ($$$) {
my ($ho,$want_kernver,$xenhopt,$xenkopt) = @_;
my $bl= { };
@@ -132,6 +141,8 @@ sub setupboot_uboot ($$$) {
my $early_commands = get_host_property($ho, 'UBootScriptEarlyCommands',
'');
+ my $load_dtb = uboot_scr_load_dtb();
+
target_cmd_root($ho, <<END);
if test ! -f /boot/$kern ; then
exit 1
@@ -143,9 +154,7 @@ cp -n /boot/boot.scr /boot/boot.scr.bak
xen=`readlink /boot/$xen`
cat >/boot/boot <<EOF
-
-mw.l 800000 0 10000
-scsi scan
+${load_dtb}
fdt addr \\\${fdt_addr}
fdt resize
@@ -692,6 +701,8 @@ END
my $bootargs = join ' ', @bootargs;
+ my $load_dtb = uboot_scr_load_dtb();
+
preseed_hook_command($ho, 'late_command', $sfx, <<END);
#!/bin/sh
set -ex
@@ -703,11 +714,13 @@ initrd=`readlink \$r/initrd.img | sed -e 's|boot/||'`
cat >\$r/boot/boot <<EOF
setenv bootargs $bootargs
-mw.l 800000 0 10000
-scsi scan
+${load_dtb}
+echo Loading \$kernel
ext2load scsi 0 \\\${kernel_addr_r} \$kernel
+echo Loading \$initrd
ext2load scsi 0 \\\${ramdisk_addr_r} \$initrd
-bootz \\\${kernel_addr_r} \\\${ramdisk_addr_r}:\\\${filesize} 0x1000
+echo Booting
+bootz \\\${kernel_addr_r} \\\${ramdisk_addr_r}:\\\${filesize} \\\${fdt_addr}
EOF
in-target mkimage -A arm -T script -d /boot/boot /boot/boot.scr
--
2.1.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |