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 ;