[openfirmware] [commit] r3310 - in cpu: arm x86/pc
repository service
svn at openfirmware.info
Mon Sep 17 01:21:06 CEST 2012
Author: wmb
Date: Mon Sep 17 01:21:05 2012
New Revision: 3310
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3310
Log:
Linux support - align the ramdisk and flattened device tree addresses.
OLPC Trac #12107. The problem happened when secure-booting an initrd
whose size was not a multiple of 4.
Modified:
cpu/arm/linux.fth
cpu/x86/pc/linux.fth
Modified: cpu/arm/linux.fth
==============================================================================
--- cpu/arm/linux.fth Sat Sep 15 10:32:54 2012 (r3309)
+++ cpu/arm/linux.fth Mon Sep 17 01:21:05 2012 (r3310)
@@ -114,7 +114,8 @@
[ifdef] flatten-device-tree
use-fdt? if
make-usable-property
- ramdisk-adr ?dup 0= if load-base then /fdt-max - to linux-params
+ ramdisk-adr ?dup 0= if load-base then
+ /fdt-max - 4 round-down to linux-params
linux-params /fdt-max flatten-device-tree
else
args-buf cscount linux-params set-parameters
@@ -130,9 +131,9 @@
defer load-ramdisk
defer place-ramdisk
: linux-place-ramdisk ( adr len -- )
- to /ramdisk ( adr )
+ aligned to /ramdisk ( adr )
- load-base /ramdisk - ( adr new-ramdisk-adr )
+ load-base /ramdisk - 4 round-down ( adr new-ramdisk-adr )
tuck /ramdisk move ( new-ramdisk-adr )
\ dup to linux-memtop
to ramdisk-adr
Modified: cpu/x86/pc/linux.fth
==============================================================================
--- cpu/x86/pc/linux.fth Sat Sep 15 10:32:54 2012 (r3309)
+++ cpu/x86/pc/linux.fth Mon Sep 17 01:21:05 2012 (r3310)
@@ -207,7 +207,7 @@
h# 22c +lp l@ ( adr ramdisk-limit )
?dup if 1+ else h# 8000.0000 then ( adr ramdisk-limit )
- memory-limit umin /ramdisk - ( adr new-ramdisk-adr )
+ memory-limit umin /ramdisk - 4 round-down ( adr new-ramdisk-adr )
tuck /ramdisk move ( new-ramdisk-adr )
dup
then ( ramdisk-adr memtop )
More information about the openfirmware
mailing list