160 lines
6.5 KiB
Plaintext
160 lines
6.5 KiB
Plaintext
#ident "arcs/ide/builtins: $Revision: 1.26 $"
|
|
#
|
|
#
|
|
# builtins - ide builtin functions
|
|
#
|
|
# First column is the symbol, ide command, or diagnostic name
|
|
#
|
|
# Second column is the entry's type:
|
|
#
|
|
# + native ide supports two types of symbols:
|
|
# INT: integer constant
|
|
# STR: string
|
|
#
|
|
# + and two types of commands, determined by the arglist format of the
|
|
# invoked command:
|
|
# SCMD: ide commands whose args are 'sym_t *' argv format.
|
|
# CMD: ide commands whose args are 'char *' argv format
|
|
#
|
|
# + ide supports physically-numbered processor 'sets' as part of its
|
|
# MP enhancements; all of the set routines use 'char * argv' arglists,
|
|
# and therefore are typed with the "_CMD" suffix.
|
|
# SET_CMD: ide 'set' commands (all use 'char *' argv format)
|
|
#
|
|
# + the diagnostic routines may also choose arglists of either variety,
|
|
# although the special execution facilities are available only to
|
|
# those using 'char *' format.
|
|
# DIAG_CMD: diagnostics with 'char *' argv format arguments.
|
|
# DIAG_SCMD: diagnostics with 'sym_t * argv format arguments
|
|
#
|
|
# + Finally, routines provided to debug ide (and therefore are of little
|
|
# interest to diagnostic writers or script-level users)
|
|
# DEBUG_CMD: internal commands for debugging ide (char * argv args)
|
|
# DEBUG_SCMD: internal commands for debugging ide (sym_t * argv args)
|
|
#
|
|
#
|
|
# Third column is the value of the symbol:
|
|
# type INT: value is the integer
|
|
# type STR: value is the quoted string
|
|
# types SCMD, CMD, SET_CMD, DIAG_CMD, DIAG_SCMD, DEBUG_CMD, DEBUG_SCMD:
|
|
# value is function name
|
|
#
|
|
# Fourth column (optional) is displayed by ide 'help' and 'usage' primitives.
|
|
#
|
|
# Columns must be separated by exactly one TAB!
|
|
#
|
|
# string symbols used by IDE interpreter
|
|
PS1 STR "## IDE(v*)-> "
|
|
PS2 STR "more>> "
|
|
#
|
|
#
|
|
# integer symbols used by interpreter
|
|
#
|
|
# Reportlevels: 0==NO_REPORT, 1==SUM, 2==ERR, 3==INFO, 4==VRB, 5==DBG
|
|
report INT 0x2L Indicates the message-verbosity level during bootup
|
|
slave_timeout INT 3600L Default timeout for slaves in seconds
|
|
#
|
|
# The following binary symbols determine the default VALUES for
|
|
# the IDE execution environment. Their names must not be changed
|
|
# without also updating IDE .c files. ENABLED == 1, DISABLED == 0.
|
|
error_logging INT 1L IDE logs errors detected by diagnostics
|
|
icached_exec INT 0 Diags DON'T execute with instructions cached
|
|
quick_mode INT 1L Diags execute abbreviated tests
|
|
continue_on_err INT 0 Diagnostic tests abort upon error
|
|
#
|
|
# errlog, runcached, qmode, and c_on_error are the ide COMMANDS to query
|
|
# or change the current setting of the errorlogging, icached execution,
|
|
# quickmode, and continue_on_err execution-environment variables.
|
|
errlog CMD do_errlog errlog [ \"on\"|\"off\" ] noproto
|
|
runcached CMD do_runcached runcached [ \"on\"|\"off\" ] noproto
|
|
qmode CMD do_qmode qmode [ \"on\"|\"off\" ] noproto
|
|
c_on_error CMD c_on_error c_on_error [ \"on\"|\"off\" ] noproto
|
|
xenv CMD do_em_all xenv noproto
|
|
#
|
|
clear_log CMD _doclearlog clear all pass/fail info in IDE's diagnostic result log
|
|
dump_log CMD _dodumplog display IDE's diagnostic result log
|
|
#
|
|
printregs CMD _do_printregs printregs
|
|
#
|
|
# ide builtin routines
|
|
boot CMD boot boot [-f FILE] [-n] [ARGS]
|
|
# dump command implemented ide_cmds.c
|
|
dump CMD _do_dump dump [-(b|h|w)] [-(o|d|u|x|c|B)] ADDR1:ADDR2|ADDR#COUNT
|
|
echo SCMD _doprint echo [\"STRING\"|VAL ...]
|
|
exit SCMD _doexit exit [VAL]
|
|
fill CMD _do_fill fill [-(b|h|w)] [-v VAL] ADDR1:ADDR2|ADDR#COUNT
|
|
g CMD get g [-(b|h|w)] ADDRESS
|
|
help CMD _dohelp type help for help usage
|
|
hinv CMD hinv inventory hinv [-v]
|
|
ls CMD ls filelist ls
|
|
p CMD put put p [-(b|h|w)] ADDRESS VALUE
|
|
printenv CMD printenv_cmd printenv [ENV_VAR_LIST]
|
|
printf SCMD _doprintf printf \"FORMAT\" [ARG1 ARG2...]
|
|
quit SCMD _doexit
|
|
# read SCMD _doread read [VAR ...]
|
|
read SCMD _doread
|
|
setenv CMD setenv_cmd setenv ENV_VAR STRING
|
|
source CMD _dosource source SOURCE_PATH
|
|
spin CMD spin spin [[-c COUNT] [-v VAL] [-(r|w)[+](b|h|w) ADDR]]*
|
|
unsetenv CMD unsetenv_cmd unsetenv ENV_VAR
|
|
version CMD version version noproto
|
|
wait CMD wait Wait for <CR> to continue (usage: wait [\"message\"])
|
|
symbols CMD _dosymbols symbols [ -l | -k KEY | -t {cmds|udefs|diags|vars|globals|ints|strs|sets|setops|debug|all} ]
|
|
#
|
|
# delay script-execution for specified usecs, msecs, or seconds
|
|
ide_delay CMD _dodelay ide_delay { -u USECS|-m MSECS|-s SECS } noproto
|
|
#
|
|
#
|
|
#
|
|
# IDE supports cpu SETS for sequential execution of diagnostic routines
|
|
# across multiple cpus
|
|
#
|
|
# create_set, display_set, add_cpu, and del_cpu provide basic
|
|
# set-manipulation support.
|
|
create_set SET_CMD create_set create_set -s SET[,SET,...] [-(a|e|c COPYSET)]
|
|
copy_set SET_CMD copy_set copy_set -s SRCSET,DESTSET1[,DESTSET2...]
|
|
display_set SET_CMD display_set display_set -s SET[,SET,...]
|
|
add_cpu SET_CMD _add_cpu add_cpu -s SET[,SET,...] -v VID1[,VID2,...]
|
|
del_cpu SET_CMD _del_cpu del_cpu -s SET[,SET,...] -v VID1[,VID2,...]
|
|
#
|
|
#
|
|
# IDE provides 9 traditional set operations:
|
|
#
|
|
# union, difference, intersection: require three sets, first two are the
|
|
# source sets, the third is the destination for the operation's result.
|
|
set_union SET_CMD set_union set_union -s SET,SET,RESULTSET
|
|
set_differ SET_CMD set_differ set_differ -s SET,SET,RESULTSET
|
|
set_inter SET_CMD set_inter set_inter -s SET,SET,RESULTSET
|
|
|
|
# set_equal, set_inequal, set_inclusion, cpu_in, set_empty, and set_exists
|
|
# return 1 (TRUE) or 0 (FALSE) if no syntax errors were detected
|
|
set_equal SET_CMD set_equality set_equal -s SET,SET
|
|
set_inequal SET_CMD set_inequality set_inequal -s SET,SET
|
|
# set_inclusion: is SUBSET a proper subset of SUPERSET
|
|
set_inclusion SET_CMD set_inclusion set_inclusion -s SUBSET,SUPERSET
|
|
# cpu_in: is (virtually numbered) cpu VID a member of SET
|
|
cpu_in SET_CMD cpu_in cpu_in -s SET -v VID
|
|
set_empty SET_CMD set_empty set_empty -s SET
|
|
set_exists SET_CMD set_exists set_exists -s SET
|
|
#
|
|
#
|
|
exec CMD do_exec exec -f FN1[,FN2..] { [-v VID1[,VID2..]]|[-s SET1[,SET2..]] } [-a ARG0[,ARG1..]]
|
|
#
|
|
# routines for debugging ide
|
|
test_symcmd DEBUG_SCMD test_symcmd test_symcmd [ARG1,...] [...]
|
|
test_charcmd DEBUG_CMD test_charcmd test_charcmd [ARG1,...] [...]
|
|
stat DEBUG_SCMD showmstats showmstats noproto
|
|
#
|
|
pro_set DEBUG_SCMD _dopro_set pro_set SETSTRING
|
|
pro_setstr DEBUG_SCMD _dopro_setstr pro_setstr SETNAME
|
|
# sync (temp hack): synchronizes global symbols with their runtime counterparts
|
|
gsync DEBUG_CMD _sync sync
|
|
enable_fp DEBUG_CMD _enable_fp enable_fp
|
|
msg_test DEBUG_CMD _do_msgtest msgtest
|
|
fp_dump DEBUG_CMD _do_fp_dump fp_dump
|
|
dump_pda DEBUG_CMD _do_dump_pda dump_pda [VID]
|
|
dump_sym DEBUG_CMD _do_dumpsym dumpsym SYMBOLNAME
|
|
dump_hashtab DEBUG_CMD _do_dumphtab
|
|
do_panic DEBUG_CMD _do_panic
|
|
reset DEBUG_CMD cpu_hardreset noproto
|