[openfirmware] [commit] r2401 - in cpu: arm/olpc/1.75 x86/pc/olpc/via
repository service
svn at openfirmware.info
Tue Aug 2 06:10:49 CEST 2011
Author: wmb
Date: Tue Aug 2 06:10:48 2011
New Revision: 2401
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2401
Log:
OLPC trac #11098 - Sped up fs-update on XO-1.75 by using software sha-256 instead of the slower hardware "accelerated" version. OS31 now fs-update's in 4:00 (4 minutes) instead of 5:30.
Modified:
cpu/arm/olpc/1.75/fw.bth
cpu/x86/pc/olpc/via/fsupdate.fth
cpu/x86/pc/olpc/via/fsverify.fth
cpu/x86/pc/olpc/via/fw.bth
Modified: cpu/arm/olpc/1.75/fw.bth
==============================================================================
--- cpu/arm/olpc/1.75/fw.bth Tue Aug 2 05:55:57 2011 (r2400)
+++ cpu/arm/olpc/1.75/fw.bth Tue Aug 2 06:10:48 2011 (r2401)
@@ -327,6 +327,7 @@
: hdd-led-on ( -- ) d# 10 gpio-set ;
: hdd-led-toggle ( -- ) d# 10 gpio-pin@ if hdd-led-off else hdd-led-on then ;
+alias fast-hash crypto-hash \ fast-hash uses acceleration when available
fload ${BP}/cpu/x86/pc/olpc/via/fsupdate.fth
fload ${BP}/cpu/x86/pc/olpc/via/fsverify.fth
devalias fsdisk int:0
Modified: cpu/x86/pc/olpc/via/fsupdate.fth
==============================================================================
--- cpu/x86/pc/olpc/via/fsupdate.fth Tue Aug 2 05:55:57 2011 (r2400)
+++ cpu/x86/pc/olpc/via/fsupdate.fth Tue Aug 2 06:10:48 2011 (r2401)
@@ -151,11 +151,7 @@
: check-hash ( -- )
2>r ( eblock# hashname$ r: hash$ )
data-buffer /nand-block 2swap ( eblock# data$ hashname$ r: hash$ )
- 2dup " sha256" $= if ( eblock# hashname$ r: hash$ )
- 2drop sha-256 ( eblock# calc-hash$ r: hash$ )
- else
- crypto-hash ( eblock# calc-hash$ r: hash$ )
- then
+ fast-hash ( eblock# r: hash$ )
2r> $= 0= if ( eblock# )
." Bad hash for eblock# " .x cr cr
." Your USB key may be bad. Please try a different one." cr
Modified: cpu/x86/pc/olpc/via/fsverify.fth
==============================================================================
--- cpu/x86/pc/olpc/via/fsverify.fth Tue Aug 2 05:55:57 2011 (r2400)
+++ cpu/x86/pc/olpc/via/fsverify.fth Tue Aug 2 06:10:48 2011 (r2401)
@@ -33,11 +33,7 @@
: verify-hash ( hashname$ hash$ -- okay? )
2swap ( hash$ hashname$ )
data-buffer /nand-block 2swap ( hash$ data$ hashname$ )
- 2dup " sha256" $= if ( hash$ hashname$ )
- 2drop sha-256 ( hash$ calc-hash$ )
- else ( hash$ hashname$ )
- crypto-hash ( hash$ calc-hash$ )
- then ( hash$ calc-hash$ )
+ fast-hash ( hash$ calc-hash$ )
$= ( okay? )
;
Modified: cpu/x86/pc/olpc/via/fw.bth
==============================================================================
--- cpu/x86/pc/olpc/via/fw.bth Tue Aug 2 05:55:57 2011 (r2400)
+++ cpu/x86/pc/olpc/via/fw.bth Tue Aug 2 06:10:48 2011 (r2401)
@@ -498,6 +498,13 @@
fload ${BP}/cpu/x86/pc/olpc/via/blockfifo.fth
: hdd-led-toggle ( -- ) h# 4c acpi-l@ h# 400000 xor h# 4c acpi-l! ;
: hdd-led-off ( -- ) h# 4c acpi-l@ h# 400000 or h# 4c acpi-l! ;
+: fast-hash ( adr len hashname$ -- )
+ 2dup " sha256" $= if ( eblock# hashname$ r: hash$ )
+ 2drop sha-256 ( eblock# calc-hash$ r: hash$ )
+ else
+ crypto-hash ( eblock# calc-hash$ r: hash$ )
+ then
+;
fload ${BP}/cpu/x86/pc/olpc/via/fsupdate.fth
fload ${BP}/cpu/x86/pc/olpc/via/fsverify.fth
devalias fsdisk int:0
More information about the openfirmware
mailing list