[OpenBIOS] r565 - cpu/x86

svn at openbios.org svn at openbios.org
Sun Aug 19 03:07:32 CEST 2007


Author: wmb
Date: 2007-08-19 03:07:32 +0200 (Sun, 19 Aug 2007)
New Revision: 565

Modified:
   cpu/x86/catchexc.fth
   cpu/x86/dtacc.fth
Log:
OLPC trac #2897 - An ordering problem in the allocation of the cpu-state
array versus the setting of a value in that array was causing B2 machines
to crash very early in the OFW init sequence - only on Q2C24 firmware.


Modified: cpu/x86/catchexc.fth
===================================================================
--- cpu/x86/catchexc.fth	2007-08-17 21:23:31 UTC (rev 564)
+++ cpu/x86/catchexc.fth	2007-08-19 01:07:32 UTC (rev 565)
@@ -333,9 +333,6 @@
 
 forth definitions
 : catch-exceptions  ( -- )
-   pssave drop  rssave drop	\ Force buffer allocation
-   [ 0 alloc-reg ] literal alloc-mem is cpu-state
-
    d# 00 catch-vector	\ Divide by 0
    d# 01 catch-vector	\ Debugger
    d# 03 catch-vector	\ Breakpoint
@@ -354,7 +351,14 @@
 
    ['] (uncatch-exceptions) is uncatch-exceptions
 ;
+: init-exceptions  ( -- )
+   pssave drop  rssave drop	\ Force buffer allocation
+   [ 0 alloc-reg ] literal alloc-mem is cpu-state
+   restartable? off
 
+   catch-exceptions
+;
+
 : (cold-hook  ( -- )
    (cold-hook
    ['] noop is uncatch-exceptions
@@ -418,13 +422,6 @@
 ;
 \ ' print-breakpoint is handle-breakpoint
 
-\ defer restart  ( -- )
-hidden also
-stand-init:
-   restartable? off
-;
-only forth also definitions
-
 \ LICENSE_BEGIN
 \ Copyright (c) 2006 FirmWorks
 \ 

Modified: cpu/x86/dtacc.fth
===================================================================
--- cpu/x86/dtacc.fth	2007-08-17 21:23:31 UTC (rev 564)
+++ cpu/x86/dtacc.fth	2007-08-19 01:07:32 UTC (rev 565)
@@ -26,7 +26,7 @@
       [ also hidden ]
       ['] save-state-common to save-state
       [ previous ]
-      catch-exceptions
+      init-exceptions
    then
 ;
 




More information about the OpenBIOS mailing list