]> xenbits.xensource.com Git - osstest.git/commitdiff
Debian: Handle systems where u-boot includes 0x on $filesize flight-33915 flight-33957 flight-33958 flight-33959 flight-33960 flight-33962 flight-33969 flight-33974 flight-33982 flight-33986 flight-33987 flight-33988 flight-33991 flight-33992 flight-33993 flight-33994 flight-33995 flight-34001 flight-34002 flight-34003 flight-34004 flight-34005 flight-34006 flight-34007 flight-34008 flight-34009 flight-34011 flight-34018 flight-34020 flight-34021 flight-34022 flight-34023 flight-34024 flight-34025 flight-34026 flight-34027 flight-34028 flight-34029 flight-34030 flight-34031 flight-34032 flight-34033 flight-34034 flight-34035 flight-34036 flight-34037 flight-34038 flight-34039 flight-34040 flight-34041 flight-34042 flight-34043 flight-34044 flight-34045 flight-34046 flight-34047 flight-34048 flight-34049 flight-34050 flight-34051 flight-34052 flight-34053 flight-34054 flight-34056 flight-34057 flight-34058 flight-34060 flight-34061 flight-34063 flight-34064 flight-34066 flight-34068 flight-34069 flight-34070 flight-34071 flight-34072 flight-34073 flight-34074 flight-34075 flight-34076 flight-34077 flight-34082 flight-34083 flight-34085 flight-34087 flight-34088 flight-34089 flight-34090 flight-34091 flight-34092 flight-34093 flight-34094 flight-34095 flight-34096 flight-34097 flight-34098 flight-34099 flight-34100 flight-34101 flight-34102 flight-34103 flight-34104 flight-34105 flight-34106 flight-34107 flight-34108 flight-34109 flight-34110 flight-34111 flight-34112 flight-34113 flight-34115 flight-34116 flight-34117 flight-34118 flight-34119 flight-34120 flight-34121 flight-34122 flight-34123 flight-34124 flight-34125 flight-34126 flight-34127 flight-34128 flight-34129 flight-34130 flight-34131 flight-34132 flight-34133 flight-34134 flight-34135 flight-34136 flight-34137 flight-34138 flight-34139 flight-34140 flight-34141 flight-34142 flight-34143 flight-34146 flight-34147 flight-34148 flight-34150 flight-34151 flight-34153 flight-34154 flight-34156 flight-34157 flight-34158 flight-34159 flight-34160 flight-34161 flight-34162 flight-34163 flight-34164 flight-34165 flight-34166
authorIan Campbell <ian.campbell@citrix.com>
Thu, 29 Jan 2015 11:37:39 +0000 (11:37 +0000)
committerIan Campbell <ian.campbell@citrix.com>
Thu, 29 Jan 2015 11:51:00 +0000 (11:51 +0000)
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Osstest/Debian.pm

index 3c4ac5ea7aa935ddb8a53b3aafffc0727792da63..9b54e5e153dcc4c683bc69ba2457e9450185a036 100644 (file)
@@ -180,6 +180,22 @@ sub setupboot_uboot ($$$) {
        my $set_xen_addr_r =
            $xen_addr_r ? "setenv xen_addr_r $xen_addr_r" : "";
 
+       # According to u-boot policy $filesize is an unprefixed hex
+       # number, but fdt set requires numbers to be prefixed
+       # (e.g. with 0x for a hex number). See:
+       #
+       # http://lists.denx.de/pipermail/u-boot/2014-October/193622.html,
+       # http://lists.denx.de/pipermail/u-boot/2014-November/194150.html and
+       # http://lists.denx.de/pipermail/u-boot/2014-November/194150.html.
+       #
+       # However some older u-boot versions (e.g. on midway) erroneously
+       # include the 0x prefix when setting $filesize from ext*load
+       # commands, meaning we cannot simply unconditionally prepend
+       # the 0x. Base it on a host flag quirk.
+       my $size_hex_prefix =
+           $ho->{Flags}{'quirk-load-filesize-has-0x-prefix'} ?
+           '' : '0x';
+
        target_cmd_root($ho, <<END);
 if test ! -f /boot/$kern ; then
     exit 1
@@ -210,7 +226,7 @@ echo command line: \\\${bootargs}
 ext2load scsi 0 \\\${kernel_addr_r} $kern
 fdt mknod /chosen module\@0
 fdt set /chosen/module\@0 compatible "xen,linux-zimage" "xen,multiboot-module"
-fdt set /chosen/module\@0 reg <\\\${kernel_addr_r} 0x\\\${filesize}>
+fdt set /chosen/module\@0 reg <\\\${kernel_addr_r} ${size_hex_prefix}\\\${filesize}>
 fdt set /chosen/module\@0 bootargs "$xenkopt"
 echo Loaded $kern to \\\${kernel_addr_r} (\\\${filesize})
 echo command line: $xenkopt
@@ -218,7 +234,7 @@ echo command line: $xenkopt
 ext2load scsi 0 \\\${ramdisk_addr_r} $initrd
 fdt mknod /chosen module\@1
 fdt set /chosen/module\@1 compatible "xen,linux-initrd" "xen,multiboot-module"
-fdt set /chosen/module\@1 reg <\\\${ramdisk_addr_r} 0x\\\${filesize}>
+fdt set /chosen/module\@1 reg <\\\${ramdisk_addr_r} ${size_hex_prefix}\\\${filesize}>
 echo Loaded $initrd to \\\${ramdisk_addr_r} (\\\${filesize})
 
 fdt print /chosen