[OpenBIOS] r656 - cpu/x86/pc/olpc cpu/x86/pc/olpc/images ofw/fs/jffs2
svn at openbios.org
svn at openbios.org
Tue Oct 2 01:10:06 CEST 2007
Author: wmb
Date: 2007-10-02 01:10:06 +0200 (Tue, 02 Oct 2007)
New Revision: 656
Added:
cpu/x86/pc/olpc/images/bigdot.565
cpu/x86/pc/olpc/images/bigdot.bmp
Modified:
cpu/x86/pc/olpc/fw.bth
cpu/x86/pc/olpc/gui.fth
cpu/x86/pc/olpc/linux.fth
cpu/x86/pc/olpc/loaddropins.fth
cpu/x86/pc/olpc/security.fth
ofw/fs/jffs2/jffs2.fth
Log:
More pretty boot. Freeze the screen during boot probing, only showing detailed progress if you press the check button.
Modified: cpu/x86/pc/olpc/fw.bth
===================================================================
--- cpu/x86/pc/olpc/fw.bth 2007-09-30 18:03:33 UTC (rev 655)
+++ cpu/x86/pc/olpc/fw.bth 2007-10-01 23:10:06 UTC (rev 656)
@@ -300,10 +300,6 @@
probe-usb
;
-[ifdef] linux-support
-fload ${BP}/cpu/x86/pc/olpc/linux.fth
-[then]
-
fload ${BP}/ofw/gui/bmptools.fth
fload ${BP}/dev/null.fth
fload ${BP}/ofw/core/bailout.fth
@@ -336,6 +332,7 @@
fload ${BP}/cpu/x86/pc/olpc/crypto.fth \ Cryptographic image validation
fload ${BP}/cpu/x86/pc/olpc/lzip.fth \ Access zip images from memory
fload ${BP}/cpu/x86/pc/olpc/gamekeys.fth
+fload ${BP}/cpu/x86/pc/olpc/linux.fth
fload ${BP}/cpu/x86/pc/olpc/security.fth
fload ${BP}/cpu/x86/pc/olpc/setwp.fth
fload ${BP}/ofw/gui/ofpong.fth
@@ -349,6 +346,7 @@
' olpc-power-off to power-off
[then]
+
: dimmer ( -- ) screen-ih if " dimmer" screen-ih $call-method then ;
: brighter ( -- ) screen-ih if " brighter" screen-ih $call-method then ;
@@ -493,13 +491,6 @@
then
;
-: go-hook-freeze
- [ ' go-hook behavior compile, ]
- 0 " set-source" $call-screen
-;
-: freeze ( -- ) ['] go-hook-freeze to go-hook ;
-: unfreeze ( -- ) ['] usb-quiet to go-hook ;
-
: ?sound ( -- )
button-rotate game-key? 0= if sound then
;
Modified: cpu/x86/pc/olpc/gui.fth
===================================================================
--- cpu/x86/pc/olpc/gui.fth 2007-09-30 18:03:33 UTC (rev 655)
+++ cpu/x86/pc/olpc/gui.fth 2007-10-01 23:10:06 UTC (rev 656)
@@ -389,6 +389,16 @@
;
' (?show-device) to ?show-device
+: dcon-freeze ( -- ) 0 " set-source" $call-screen d# 30 ms ;
+: dcon-unfreeze ( -- ) 1 " set-source" $call-screen d# 30 ms ;
+
+: go-hook-freeze
+ [ ' go-hook behavior compile, ]
+ 0 " set-source" $call-screen
+;
+: freeze ( -- ) ['] go-hook-freeze to go-hook ;
+: unfreeze ( -- ) ['] usb-quiet to go-hook ;
+
\ LICENSE_BEGIN
\ Copyright (c) 2006 FirmWorks
\
Added: cpu/x86/pc/olpc/images/bigdot.565
===================================================================
(Binary files differ)
Property changes on: cpu/x86/pc/olpc/images/bigdot.565
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Added: cpu/x86/pc/olpc/images/bigdot.bmp
===================================================================
(Binary files differ)
Property changes on: cpu/x86/pc/olpc/images/bigdot.bmp
___________________________________________________________________
Name: svn:executable
+ *
Name: svn:mime-type
+ application/octet-stream
Modified: cpu/x86/pc/olpc/linux.fth
===================================================================
--- cpu/x86/pc/olpc/linux.fth 2007-09-30 18:03:33 UTC (rev 655)
+++ cpu/x86/pc/olpc/linux.fth 2007-10-01 23:10:06 UTC (rev 656)
@@ -263,7 +263,7 @@
;
' ?memtest-elf-map-in is elf-map-in
-: memtest ( -- ) " rom:memtest" $boot ;
+: memtest ( -- ) unfreeze " rom:memtest" $boot ;
: sym ( "name" -- adr )
parse-word $sym> 0= if err-sym-not-found throw then
Modified: cpu/x86/pc/olpc/loaddropins.fth
===================================================================
--- cpu/x86/pc/olpc/loaddropins.fth 2007-09-30 18:03:33 UTC (rev 655)
+++ cpu/x86/pc/olpc/loaddropins.fth 2007-10-01 23:10:06 UTC (rev 656)
@@ -37,18 +37,10 @@
" ${BP}/cpu/x86/pc/olpc/images/minus.565" " minus.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/x.565" " x.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/sad.565" " sad.565" $add-deflated-dropin
+ " ${BP}/cpu/x86/pc/olpc/images/bigdot.565" " bigdot.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/topkey.565" " topkey.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/dot0.565" " mark0.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/dot1.565" " mark1.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/dot2.565" " mark2.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/dot3.565" " mark3.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/lock2.565" " lock2.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/unlock2.565" " unlock2.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/check.565" " check.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/leasekey.565" " leasekey.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/xogray.565" " xogray.565" $add-deflated-dropin
-\ " ${BP}/cpu/x86/pc/olpc/images/olpclogo.565" " olpc.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/laptop.565" " nand.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/laptop.565" " fastnand.565" $add-deflated-dropin
" ${BP}/cpu/x86/pc/olpc/images/ethernet.565" " ethernet.565" $add-deflated-dropin
Modified: cpu/x86/pc/olpc/security.fth
===================================================================
--- cpu/x86/pc/olpc/security.fth 2007-09-30 18:03:33 UTC (rev 655)
+++ cpu/x86/pc/olpc/security.fth 2007-10-01 23:10:06 UTC (rev 656)
@@ -3,11 +3,6 @@
\ Specs at http://wiki.laptop.org/go/Firmware_Security
-: security-failure ( -- )
- ." Security failure" cr
- d# 10000 ms power-off
-;
-
: boot-device-list " disk sd nand" ;
true value debug-security?
@@ -419,7 +414,12 @@
\ present) or "actos.zip" (the activation version of the OS).
: ?leased ( -- )
- lease-valid? if " run" else " act" then cn-buf place
+ " ak" find-tag if
+ 2drop " run"
+ else
+ lease-valid? if " run" else " act" then
+ then
+ cn-buf place
;
\ olpc-load-image is factor that is close the top level of the
@@ -475,6 +475,27 @@
;
0 0 2value base-xy
+d# 410 d# 540 2constant progress-xy
+
+: ?unfreeze ( -- )
+ game-key@ button-check and if dcon-unfreeze then
+;
+
+: security-failure ( -- )
+ ." Security failure" cr
+ get-msecs d# 10000 + begin ( limit )
+ ?unfreeze
+ dup get-msecs -
+ 0< until drop
+ power-off
+;
+
+: show-going ( -- )
+ h# c0 h# c0 h# c0 rgb>565 progress-xy d# 500 d# 100 " fill-rectangle" $call-screen
+ d# 585 d# 613 to icon-xy " bigdot" show-icon
+ dcon-unfreeze
+;
+
: show-check ( -- )
icon-xy base-xy to icon-xy " check" show-icon to icon-xy
;
@@ -688,7 +709,11 @@
0 0 2value next-xy
: load-from-list ( list$ -- devkey? )
+ button-check game-key? 0= if dcon-freeze then
+ " dev /jffs2-file-system ' ?unfreeze to scan-callout dend" eval
+
begin dup while ( list$ )
+ ?unfreeze
bl left-parse-string ( list$ devname$ )
2dup dn-buf place ( list$ devname$ )
@@ -707,7 +732,9 @@
load-from-device if
2drop
['] secure-load-ramdisk to load-ramdisk
- " init-program" $find if execute go then
+ " init-program" $find if
+ execute show-going go
+ then
show-x
security-failure
then
@@ -723,6 +750,8 @@
: persistent-devkey? ( -- flag ) " dk" find-tag dup if nip nip then ;
: all-devices$ ( -- list$ ) " disk sd fastnand nand" ;
+
+d# 410 d# 540 2constant progress-xy
: secure-startup ( -- )
['] noop to ?show-device
['] noop to load-done
@@ -731,7 +760,7 @@
set-alternate
d# 552 d# 383 to icon-xy " rom:xogray.565" $show-opaque
- d# 410 d# 540 to icon-xy \ For boot progress reports
+ progress-xy to icon-xy \ For boot progress reports
button-check game-key? if text-on then
?toggle-secure
Modified: ofw/fs/jffs2/jffs2.fth
===================================================================
--- ofw/fs/jffs2/jffs2.fth 2007-09-30 18:03:33 UTC (rev 655)
+++ ofw/fs/jffs2/jffs2.fth 2007-10-01 23:10:06 UTC (rev 656)
@@ -3,6 +3,8 @@
d# 20,000 constant max-inodes
+defer scan-callout ' noop to scan-callout
+
0 value debug-scan? \ True to display progress reports
0 instance value block-buf \ Start address of working buffer
@@ -727,6 +729,7 @@
inodes 'next-inode !
pages/chip 0 do
i page>eblock to the-eblock#
+ i h# ff and 0= if scan-callout then
i no-summary? if
i possible-nodes? if i scan-raw-nodes then
then
More information about the OpenBIOS
mailing list