[openfirmware] [commit] r2241 - cpu/arm/olpc/1.75

repository service svn at openfirmware.info
Fri Jun 3 03:51:12 CEST 2011


Author: wmb
Date: Fri Jun  3 03:51:11 2011
New Revision: 2241
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/2241

Log:
OLPC XO-1.75 - Access to manufacturing data was failing due to an initialization order problem.

Modified:
   cpu/arm/olpc/1.75/devices.fth
   cpu/arm/olpc/1.75/getmfgdata.fth

Modified: cpu/arm/olpc/1.75/devices.fth
==============================================================================
--- cpu/arm/olpc/1.75/devices.fth	Fri Jun  3 03:49:09 2011	(r2240)
+++ cpu/arm/olpc/1.75/devices.fth	Fri Jun  3 03:51:11 2011	(r2241)
@@ -94,9 +94,12 @@
    init-timers
    init-twsi
 ;
-stand-init:
+warning @ warning off
+: stand-init-io
+   stand-init-io
    init-stuff
 ;
+warning !
 
 fload ${BP}/cpu/arm/mmp2/irq.fth
 

Modified: cpu/arm/olpc/1.75/getmfgdata.fth
==============================================================================
--- cpu/arm/olpc/1.75/getmfgdata.fth	Fri Jun  3 03:49:09 2011	(r2240)
+++ cpu/arm/olpc/1.75/getmfgdata.fth	Fri Jun  3 03:51:11 2011	(r2241)
@@ -1,17 +1,18 @@
 purpose: Get the manufacturing data into memory where it can be manipulated
 
-/flash-block buffer: mfg-data-buf
+\ It is tempting to use buffer: for this, but that fails because
+\ we need to access manufacturing data very early (for security),
+\ in stand-init-io before the call to clear-buffer:s in init.
+0 value mfg-data-buf
 
 : get-mfg-data  ( -- )
+   mfg-data-buf  if  exit  then
+   /flash-block alloc-mem to mfg-data-buf
    flash-open
    mfg-data-buf /flash-block  mfg-data-offset  flash-read
 ;
 
-0 value mfg-data-read?
 : mfg-data-top  ( -- adr )
-   mfg-data-read? 0=  if
-      get-mfg-data
-      true to mfg-data-read?
-   then
+   get-mfg-data
    mfg-data-buf /flash-block +
 ;



More information about the openfirmware mailing list