File:  [Qemu by Fabrice Bellard] / qemu / roms / openbios / forth / admin / selftest.fs
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 19:19:39 2018 UTC (8 years, 1 month ago) by root
Branches: qemu, MAIN
CVS tags: qemu1101, qemu1001, HEAD
qemu 1.0.1

\ tag: self-test
\ 
\ this code implements IEEE 1275-1994 ch. 7.4.8
\ 
\ Copyright (C) 2003 Stefan Reinauer
\ 
\ See the file "COPYING" for further information about
\ the copyright and warranty status of this work.
\ 

\ 
\ 7.4.8    Self-test
\ 

: $test ( devname-addr devname-len -- )
  2dup ." Testing device " type ." : "
  find-dev if
    s" self-test" rot find-method if
      execute
    else 
      ." no self-test method."
    then
  else
    ." no such device."
  then
  cr
;

: test    ( "device-specifier<cr>"-- )
  linefeed parse cr $test
  ;
  
: test-sub-devs
  >dn.child @
  begin dup while
    dup get-package-path $test
    dup recurse
    >dn.peer @
  repeat
  drop
;
  
: test-all    ( "{device-specifier}<cr>" -- )
  active-package
  cr " /" find-device
  linefeed parse find-device
  ?active-package test-sub-devs
  active-package!
  ;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.