diff options
Diffstat (limited to 'src/helper')
-rw-r--r-- | src/helper/startup.tcl | 41 |
1 files changed, 40 insertions, 1 deletions
diff --git a/src/helper/startup.tcl b/src/helper/startup.tcl index 0ac1ebd7..794654c6 100644 --- a/src/helper/startup.tcl +++ b/src/helper/startup.tcl @@ -315,4 +315,43 @@ proc telnet_async {state} { } else { return -code error "Illegal option $state" } -}
\ No newline at end of file +} + + +add_help_text cpu "<name> - prints out target options and a comment on CPU which matches name" + +# A list of names of CPU and options required +set ocd_cpu_list { + { + name IXP42x + options {xscale -variant IXP42x} + comment {IXP42x cpu} + } + { + name arm7 + options {arm7tdmi -variant arm7tdmi} + comment {vanilla ARM7} + } +} + +# Invoked from Tcl code +proc ocd_cpu {args} { + set name $args + set result "" + global ocd_cpu_list + foreach a [lsort $ocd_cpu_list] { + if {[string length $args]==0||[string first [string toupper $name] [string toupper "$a(name)$a(options)$a(comment)"]]!=-1} { + lappend result $a + } + } + return $result +} + +proc cpu {args} { + # 0123456789012345678901234567890123456789012345678901234567890123456789 + puts "CPU Options Comment" + foreach a [lsort [ocd_cpu $args]] { + puts [format "%-20s%-40s%s" $a(name) $a(options) $a(comment)] + } +} + |