Author: quozl
Date: Wed Jun 13 07:05:13 2012
New Revision: 3007
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3007
Log:
OLPC - security, add visual response to escape key when in secure mode, without consuming keystroke, to improve usability for service and support (since it is otherwise difficult to tell if a laptop is secured, or the keyboard is broken). #11609
Modified:
cpu/x86/pc/olpc/security.fth
Modified: cpu/x86/pc/olpc/security.fth
==============================================================================
--- cpu/x86/pc/olpc/security.fth Sat Jun 9 09:58:12 2012 (r3006)
+++ cpu/x86/pc/olpc/security.fth Wed Jun 13 07:05:13 2012 (r3007)
@@ -1304,6 +1304,12 @@
alternate? if " \boot-alt" else " \boot" then pn-buf place
+ key? if
+ pending-char c@ h# 1b = if
+ visible red-letters ." Secured, continuing" cancel cr
+ then
+ then
+
all-devices$ load-from-list if exit then \ Returns only if no images found
" Boot failed" .security-failure
Author: wmb
Date: Sat Jun 9 09:58:12 2012
New Revision: 3006
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3006
Log:
OFW core - execute-device-method was using device-end, which sets the search order to a fixed value, inside of the wrapping code that modifies the search order reversibly. That's probably a holdover from some ancient behavior. Fixes OLPC trac #11926.
Modified:
ofw/core/ofwcore.fth
Modified: ofw/core/ofwcore.fth
==============================================================================
--- ofw/core/ofwcore.fth Sat Jun 9 05:53:59 2012 (r3005)
+++ ofw/core/ofwcore.fth Sat Jun 9 09:58:12 2012 (r3006)
@@ -2489,7 +2489,6 @@
else ( ??? )
close-chain true ( ??? true )
then ( false | ??? true )
- device-end ( false | ??? true )
r> push-device )package ( false | ??? true )
;
Author: quozl
Date: Thu Jun 7 08:05:24 2012
New Revision: 3004
URL: http://tracker.coreboot.org/trac/openfirmware/changeset/3004
Log:
OLPC - probe all ports of the EHC during a test, regardless of whether they are in use. Remove fisheye test from default testing, because it is not used in manufacturing, and had been incorrectly used in the field to verify a port is working. No change to manufacturing tests. #11845.
Modified:
dev/usb2/hcd/ehci/probe.fth
Modified: dev/usb2/hcd/ehci/probe.fth
==============================================================================
--- dev/usb2/hcd/ehci/probe.fth Thu Jun 7 02:04:14 2012 (r3003)
+++ dev/usb2/hcd/ehci/probe.fth Thu Jun 7 08:05:24 2012 (r3004)
@@ -60,6 +60,7 @@
then ( #testable-ports )
;
+\ Port owned by usb 1.1 controller (2000) or device is present (1)
: port-connected? ( port# -- flag ) portsc@ h# 2001 and ;
: wait-connect ( port# -- error? )
begin ( port# )
@@ -153,29 +154,60 @@
open-count 0= if free-dma-buf unmap-regs then
;
-: selftest ( -- error? )
- ehci-reg dup 0= if map-regs then
+: .occupied ( port -- ) ." USB 2.0 port " u. ." in use" cr ;
+: regs{ ( -- prev ) ehci-reg dup 0= if map-regs then ;
+: }regs ( prev -- ) 0= if unmap-regs then ;
+: fisheye ( -- )
+ regs{
#testable-ports 0 ?do
- i port-connected? if \ Port owned by usb 1.1 controller (2000) or device is present (1)
- ." USB 2.0 port " i u. ." in use" cr
+ i port-connected? if
+ i .occupied
else
- diagnostic-mode? if
- ." Please connect a device to USB port " i u. cr
- i wait-connect if true unloop exit then
- else
- ." Fisheye pattern out to USB 2.0 port " i u. cr
- i test-port-begin
- d# 2,000 ms
- i test-port-end
- 0 i portsc! i reset-port i power-port
- then
+ ." Fisheye pattern out to USB 2.0 port " i u. cr
+ i test-port-begin
+ d# 2,000 ms
+ i test-port-end
+ 0 i portsc! i reset-port i power-port
+ then
+ loop
+ }regs
+;
+
+: thorough ( -- error? )
+ #testable-ports 0 ?do
+ i port-connected? if
+ i .occupied
+ else
+ ." Please connect a device to USB port " i u. cr
+ i wait-connect if true unloop exit then
+ then
+ loop
+ false
+;
+
+: sagacity ( -- error? )
+ #testable-ports 0 ?do
+ ." USB port " i u. ." ... "
+ i port-connected? if
+ i wait-connect if true unloop exit then
+ else
+ ." Empty" cr
then
loop
- 0= if unmap-regs then
false
;
+: selftest ( -- error? )
+ regs{ ( prev )
+ diagnostic-mode? if
+ thorough
+ else
+ sagacity
+ then ( prev error? )
+ swap }regs ( error? )
+;
+
headers
\ LICENSE_BEGIN