[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/scripts/trace32/zx297520v3/linux.men b/ap/build/scripts/trace32/zx297520v3/linux.men
new file mode 100755
index 0000000..002b9db
--- /dev/null
+++ b/ap/build/scripts/trace32/zx297520v3/linux.men
@@ -0,0 +1,901 @@
+; Linux specific menu
+
+add
+menu
+(
+ popup "&Linux"
+ (
+ default
+ menuitem "Display &Processes" "TASK.Process"
+ menuitem "Display &ps-like" "TASK.PS"
+ menuitem "Display &Tasks" "TASK.DTask"
+ menuitem "Display &Modules" "TASK.MODule"
+ popup "Display &File System"
+ (
+ menuitem "Display FS Types" "TASK.FS.Types"
+ menuitem "Display Mount Points" "TASK.FS.Mount"
+ menuitem "Display Mounted Devices" "TASK.FS.MountDevs"
+ menuitem "Display /proc" "TASK.FS.PROC"
+ menuitem "Display /sys" "TASK.FS.SYS"
+ )
+ separator
+ popup "&Process Debugging"
+ (
+ menuitem "&Load Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.LOAD"
+ pos 0. 0. 30. 3.
+ box "Process name"
+ pos 1. 1. 20. 1.
+procl: defedit "" ""
+ pos 22. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*"
+ entry %line &file
+ dialog.set procl "&file"
+ )
+ pos 6. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &procl &cwd
+ &procl=dialog.string(procl)
+ TASK.sYmbol.LOAD "&procl"
+ dialog.end
+ )
+ pos 17. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "&Delete Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.DELete"
+ pos 0. 0. 30. 3.
+ box "Process name"
+ pos 1. 1. 20. 1.
+procd: defedit "" ""
+ pos 22. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*"
+ entry %line &file
+ dialog.set procd "&file"
+ )
+ pos 6. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &procd
+ &procd=dialog.string(procd)
+ TASK.sYmbol.DELete "&procd"
+ dialog.end
+ )
+ pos 17. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "Debug Process on main..."
+ (
+
+ &cpufamily=string.lwr(cpufamily())
+ do ~~/demo/&cpufamily/kernel/linux/app_debug /dialog
+
+ )
+ addhere
+ popup "&Watch Processes"
+ (
+ menuitem "&Add..."
+ (
+ dialog
+ (
+ header "TASK.Watch.Add"
+ pos 0. 0. 24. 3.
+ box "Process name"
+ pos 1. 1. 22. 1.
+wproca: defedit "" ""
+ pos 2. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &wproca
+ &wproca=dialog.string(wproca)
+ TASK.Watch.View "&wproca"
+ dialog.end
+ )
+ pos 15. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "&Remove..."
+ (
+ dialog
+ (
+ header "TASK.Watch.DELete"
+ pos 0. 0. 24. 3.
+ box "Process name"
+ pos 1. 1. 22. 1.
+wprocd: defedit "" ""
+ pos 2. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &wprocd
+ &wprocd=dialog.string(wprocd)
+ TASK.Watch.DELete "&wprocd"
+ dialog.end
+ )
+ pos 15. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ )
+ separator
+ menuitem "Scan Process MMU Pages..."
+ (
+ dialog
+ (
+ header "MMU.SCAN TaskPageTable"
+ pos 0. 0. 24. 3.
+ box "Process name"
+ pos 1. 1. 22. 1.
+wproca: defedit "" ""
+ pos 2. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &wproca
+ &wproca=dialog.string(wproca)
+ MMU.SCAN TaskPageTable "&wproca"
+ dialog.end
+ )
+ pos 15. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "Scan All MMU Tables" "MMU.SCAN.ALL"
+ ;separator
+ ;menuitem "Help Process Debugging" "HELP __RTOS_LINUX__S_User_Processes"
+ )
+ popup "&Module Debugging"
+ (
+ menuitem "&Load Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.LOADMod"
+ pos 0. 0. 30. 3.
+ box "Module name"
+ pos 1. 1. 20. 1.
+modl: defedit "" ""
+ pos 22. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*.ko"
+ entry %line &file
+ dialog.set modl "&file"
+ )
+ pos 6. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &modl
+ &modl=dialog.string(modl)
+ TASK.sYmbol.LOADMod "&modl"
+ dialog.end
+ )
+ pos 17. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "&Delete Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.DELeteMod"
+ pos 0. 0. 30. 3.
+ box "Module name"
+ pos 1. 1. 20. 1.
+modd: defedit "" ""
+ pos 22. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*.ko"
+ entry %line &file
+ dialog.set modd "&file"
+ )
+ pos 6. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &modd
+ &modd=dialog.string(modd)
+ TASK.sYmbol.DELeteMod "&modd"
+ dialog.end
+ )
+ pos 17. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "Debug Module on init..."
+ (
+
+ &cpufamily=string.lwr(cpufamily())
+ do ~~/demo/&cpufamily/kernel/linux/mod_debug /dialog
+
+ )
+ separator
+ menuitem "Scan All MMU Tables" "MMU.SCAN.ALL"
+ )
+ popup "&Library Debugging"
+ (
+ menuitem "&Load Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.LOADLib"
+ pos 0. 0. 30. 3.
+ box "Process name"
+ pos 1. 1. 28. 1.
+libpl: defedit "" ""
+ pos 0. 3. 30. 3.
+ box "Library name"
+ pos 1. 4. 20. 1.
+libll: defedit "" ""
+ pos 22. 4. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*.so*"
+ entry %line &file
+ dialog.set libll "&file"
+ )
+ pos 6. 6. 7. 1.
+ defbutton "Ok"
+ (
+ local &libpl &libll
+ &libpl=dialog.string(libpl)
+ &libll=dialog.string(libll)
+ TASK.sYmbol.LOADLib "&libpl" "&libll"
+ dialog.end
+ )
+ pos 17. 6. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "&Delete Symbols..."
+ (
+ dialog
+ (
+ header "TASK.sYmbol.DELeteLib"
+ pos 0. 0. 30. 3.
+ box "Process name"
+ pos 1. 1. 28. 1.
+libpd: defedit "" ""
+ pos 0. 3. 30. 3.
+ box "Library name"
+ pos 1. 4. 20. 1.
+libld: defedit "" ""
+ pos 22. 4. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*.so*"
+ entry %line &file
+ dialog.set libld "&file"
+ )
+ pos 6. 6. 7. 1.
+ defbutton "Ok"
+ (
+ local &libpd &libld
+ &libpd=dialog.string(libpd)
+ &libld=dialog.string(libld)
+ TASK.sYmbol.DELeteLib "&libpd" "&libld"
+ dialog.end
+ )
+ pos 17. 6. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ separator
+ menuitem "Scan Process MMU Pages..."
+ (
+ dialog
+ (
+ header "MMU.SCAN TaskPageTable"
+ pos 0. 0. 24. 3.
+ box "Process name"
+ pos 1. 1. 22. 1.
+wproca: defedit "" ""
+ pos 2. 3. 7. 1.
+ defbutton "Ok"
+ (
+ local &wproca
+ &wproca=dialog.string(wproca)
+ MMU.SCAN TaskPageTable "&wproca"
+ dialog.end
+ )
+ pos 15. 3. 7. 1.
+ button "Cancel" "dialog.end"
+ )
+ )
+ menuitem "Scan All MMU Tables" "MMU.SCAN.ALL"
+ )
+ separator
+ popup "Symbol &Autoloader"
+ (
+ menuitem "List Components" "sYmbol.AutoLoad.List"
+ menuitem "Check Now!" "sYmbol.AutoLoad.CHECK"
+ menuitem "Set Components Checked"
+ (
+ dialog
+ (
+ header "TASK.sYmbol.Option AutoLoad"
+ pos 0. 0. 25.
+ proc: checkbox "Process (Processes)"
+ (
+ if dialog.boolean(proc)
+ TASK.sYmbol.Option AutoLoad Process
+ else
+ TASK.sYmbol.Option AutoLoad NoProcess
+ )
+ mod: checkbox "Module (Modules)"
+ (
+ if dialog.boolean(mod)
+ TASK.sYmbol.Option AutoLoad Module
+ else
+ TASK.sYmbol.Option AutoLoad NoModule
+ )
+ lib: checkbox "Library (All Libraries)"
+ (
+ if dialog.boolean(lib)
+ TASK.sYmbol.Option AutoLoad Library
+ else
+ TASK.sYmbol.Option AutoLoad NoLibrary
+ dialog.set clib "FALSE"
+ )
+ clib: checkbox "CurrLib (Libraries of Current Process)"
+ (
+ if dialog.boolean(clib)
+ TASK.sYmbol.Option AutoLoad CurrLib
+ else
+ TASK.sYmbol.Option AutoLoad NoLibrary
+ dialog.set lib "FALSE"
+ )
+ )
+ dialog.set proc ((task.y.o(autoload)&0x1)!=0)
+ dialog.set mod ((task.y.o(autoload)&0x4)!=0)
+ dialog.set lib ((task.y.o(autoload)&0x2)!=0)
+ dialog.set clib ((task.y.o(autoload)&0x8)!=0)
+ )
+ separator
+ menuitem "Set Loader Script"
+ (
+ dialog
+ (
+ header "sYmbol.AutoLoad.CHECKLINUX"
+ pos 0. 0. 40. 3.
+ box "autoload batch script"
+ pos 1. 1. 30. 1
+cmmfile: edit "autoload.cmm" ""
+ pos 32. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.file "*.cmm"
+ entry %line &file
+ dialog.set cmmfile "&file"
+ )
+ pos 1. 3. 16. 1.
+checkon: checkbox "automatic check" ""
+ pos 4. 4.5 8.
+ defbutton "Ok"
+ (
+ local &log &cmm
+ &cmm=dialog.string(cmmfile)
+ sYmbol.AutoLoad.CHECKLINUX "do &cmm "
+ sYmbol.AutoLoad.CHECK ; trigger check manually
+ if dialog.boolean(checkon)
+ sYmbol.AutoLoad.CHECK ON ; automatic check enabled
+ else
+ sYmbol.AutoLoad.CHECK OFF ; automatic check disabled
+ dialog.end
+ )
+ pos 16. 4.5 8.
+ button "Cancel" "dialog.end"
+ pos 28. 4.5 8.
+ button "Help" "HELP __RTOS_LINUX_S_Y_ALOAD"
+ )
+ )
+ menuitem "Set Target Root Path"
+ (
+ dialog
+ (
+ header "TASK.sYmbol.Option ROOTPATH"
+ pos 0. 0. 40. 3.
+ box "target root path on host"
+ pos 1. 1. 30. 1
+rootdir: edit "" ""
+ pos 32. 1. 7. 1.
+ button "Browse..."
+ (
+ dialog.dir "*"
+ entry %line &dir
+ dialog.set rootdir "&dir"
+ )
+ pos 4. 3.5 8.
+ defbutton "Ok"
+ (
+ local &dir
+ &dir=dialog.string(rootdir)
+ TASK.sYmbol.Option ROOTPATH "&dir"
+ dialog.end
+ )
+ pos 16. 3.5 8.
+ button "Cancel" "dialog.end"
+ pos 28. 3.5 8.
+ button "Help" "HELP __RTOS_LINUX__TASK_Y_O_ROOTPATH"
+ )
+ )
+ separator
+ menuitem "Symbol Autoloader Help" "HELP __RTOS_LINUX_S_Y_ALOAD"
+ )
+ separator
+ menuitem "&Linux Terminal"
+ (
+ if !window.name(term)
+ (
+ winpos ,,,,,, term
+ TERM
+ )
+ else
+ wintop term
+ )
+ menuitem "Configure Terminal..."
+ (
+ if window.name(term)
+ dialog.ok "Please close terminal window first!"
+ else
+ (
+ dialog
+ (
+ header "TERM.Protocol"
+ pos 0. 0. 9.
+ tp.be: choosebox "BufferE"
+ (
+ dialog.disable tp.com.dev
+ dialog.disable tp.com.bd
+ dialog.enable tp.be.out
+ dialog.enable tp.be.in
+ )
+ pos 10. 0. 5.
+ text "out:"
+ pos 15. 0. 6.
+ tp.be.out: edit "T32OUTBUF" ""
+ pos 23. 0. 6.
+ text "in:"
+ pos 29. 0. 6.
+ tp.be.in: edit "T32INBUF" ""
+ pos 0. 1. 9.
+ tp.dcc: choosebox "DCC"
+ (
+ dialog.disable tp.com.dev
+ dialog.disable tp.com.bd
+ dialog.disable tp.be.out
+ dialog.disable tp.be.in
+ )
+ pos 0. 2. 9.
+ tp.com: choosebox "COM"
+ (
+ dialog.disable tp.be.out
+ dialog.disable tp.be.in
+ dialog.enable tp.com.dev
+ dialog.enable tp.com.bd
+ )
+ pos 10. 2. 5.
+ text "device:"
+ pos 15. 2. 6.
+ tp.com.dev: edit "COM1" ""
+ pos 23. 2. 6.
+ text "baudrate:"
+ pos 29. 2. 6.
+ tp.com.bd: edit "115200." ""
+ pos 9. 3.5 7.
+ defbutton "Ok"
+ (
+ &tpbeout=dialog.string(tp.be.out)
+ &tpbein=dialog.string(tp.be.in)
+ &tpcomdev=dialog.string(tp.com.dev)
+ &tpcombd=dialog.string(tp.com.bd)
+ if dialog.boolean(tp.be)
+ TERM.METHOD BufferE &tpbeout &tpbein
+ else if dialog.boolean(tp.dcc)
+ TERM.METHOD DCC
+ else if dialog.boolean(tp.com)
+ TERM.METHOD COM &tpcomdev &tpcombd 8 NONE 1STOP NONE
+ dialog.end
+ )
+ pos 19. 3.5 7.
+ button "Cancel" "dialog.end"
+ )
+ dialog.disable tp.be.out
+ dialog.disable tp.be.in
+ dialog.disable tp.com.dev
+ dialog.disable tp.com.bd
+ if cpufamily()!="ARM"
+ dialog.disable tp.dcc
+ )
+ )
+ ;separator
+ ;popup "&Stack Coverage"
+ ;(
+ ; menuitem "&List Stacks"
+ ; (
+ ; if icd()||simulator()
+ ; TASK.STacK.PATtern 0
+ ; TASK.STacK
+ ; )
+ ; menuitem "Add Task" "TASK.STacK.ADD"
+ ; menuitem "Remove Task" "TASK.STacK.ReMove"
+ ; enable ice()||fire()
+ ; menuitem "&Reset Coverage" "TASK.STacK.RESet"
+ ;)
+ separator
+ menuitem "Help Linux Awareness" "HELP __RTOS_LINUX_S_"
+ )
+ popup "Trace"
+ (
+ popup "List"
+ (
+ separator
+ menuitem "&Task Switches" "Trace.List List.TASK"
+ menuitem "&Default and Tasks" "Trace.List List.TASK DEFault"
+ )
+ )
+ popup "Perf"
+ (
+ separator
+ popup "&Task Runtime"
+ (
+ menuitem "&Prepare"
+ (
+ if t.method.analyzer()
+ (
+ Analyzer.AutoInit on
+ )
+ if (ice()||fire())&&!a.mode.flow()
+ (
+ Analyzer.ReProgram
+ (
+ Sample.Enable if AlphaBreak&&Write
+ )
+ Break.Delete /Alpha
+ Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
+ )
+ if a.mode.flow()
+ (
+ Break.Delete /TraceEnable
+ Break.Set task.config(magic) /TraceEnable
+ )
+ )
+ menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASK"
+ menuitem "[:achart]Show as &Timing" "Trace.CHART.TASK"
+ menuitem "[:achart]Tracking with Trace &List"
+ (
+ Trace.List List.TASK DEFault /Track
+ Trace.CHART.TASK /Track
+ )
+ )
+ popup "Task &Function Runtime"
+ (
+ menuitem "&Prepare"
+ (
+ if t.method.analyzer()
+ (
+ Analyzer.AutoInit on
+ Analyzer.STATistic.PreFetch on
+ )
+
+ if (ice()||fire())&&!a.mode.flow()
+ (
+ if a.config.hac()
+ (
+ Analyzer.ReProgram
+ (
+ Sample.Enable if AlphaBreak
+ Sample.Enable if BetaBreak
+ Mark.A if AlphaBreak
+ Mark.B if BetaBreak
+ )
+ )
+ else
+ (
+ Analyzer.ReProgram
+ (
+ Sample.Enable if AlphaBreak||BetaBreak
+ Mark.A if AlphaBreak
+ Mark.B if BetaBreak
+ )
+ )
+ Break.Delete /Alpha /Beta /Charly
+ Break.SetFunc
+ Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
+ )
+ if a.mode.flow()
+ (
+ Break.Delete /TraceData
+ Break.Set task.config(magic) /TraceData
+ )
+ )
+ menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKFUNC"
+ menuitem "[:perf]Show as &Tree" "Trace.STATistic.TASKTREE"
+ menuitem "[:perf]Show &Detailed Tree" "Trace.STATistic.TASKTREE ALL"
+ menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKFUNC"
+ menuitem "[:alist]Show N&esting" "Trace.List List.TASK FUNC TI.FUNC"
+ )
+ popup "Task &Status"
+ (
+ menuitem "&Prepare"
+ (
+ if t.method.analyzer()
+ (
+ Analyzer.AutoInit on
+ )
+ if (ice()||fire())&&!a.mode.flow()
+ (
+ Analyzer.ReProgram
+ (
+ Sample.Enable if AlphaBreak&&Write
+ )
+ Break.Delete /Alpha
+ Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha
+ TASK.TASKState
+ )
+ )
+ menuitem "[:perf]Show &Numerical" "Trace.STATistic.TASKSTATE"
+ menuitem "[:achart]Show as &Timing" "Trace.CHART.TASKSTATE"
+ menuitem "[:achart]Tracking with Trace &List"
+ (
+ Trace.List List.TASK DEFault /Track
+ Trace.CHART.TASKSTATE /Track
+ )
+ )
+ )
+ popup "&Help"
+ (
+ menuitem "Linux Awareness Manual" "HELP __RTOS_LINUX_S_"
+ )
+)
+
+
+menu "task.dt"
+(
+ default
+ menuitem "Display detailed"
+ (
+ &address=address.offset(track.address())
+ TASK.DTask &address
+ )
+ menuitem "Display task struct"
+ (
+ &address=task.proc.tcb(address.offset(track.address()))
+ Var.View %m %s (struct task_struct)*&address
+ )
+ separator
+ menuitem "Display Stack Frame" "Var.Frame /Locals /Caller /Task track.address()"
+ menuitem "Display Registers" "Register /Task track.address()"
+ menuitem "Switch Context" "Register.TASK track.address()"
+ separator
+ menuitem "Load Process Symbols" "TASK.sYmbol.LOAD track.address()"
+ menuitem "Delete Process Symbols" "TASK.sYmbol.DELete track.address()"
+ menuitem "Add Libraries to Symbol Autoloader"
+ (
+ TASK.sYmbol.Option AutoLoad ProcLib track.address()
+ sYmbol.AutoLOAD.CHECK
+ )
+ menuitem "Add to Watched Processes"
+ (
+ &address=address.offset(track.address())
+ TASK.Watch.View &address
+ )
+ menuitem "Delete from Watched Processes" "TASK.Watch.DELete track.address()"
+ ;separator
+ ;menuitem "Add to Stack Cov" "TASK.STK.ADD address.offset(track.address())"
+ ;menuitem "Rm from Stack Cov" "TASK.STK.RM address.offset(track.address())"
+ separator
+ menuitem "Scan MMU Pages"
+ (
+ &address=address.offset(track.address())
+ MMU.SCAN TaskPageTable &address
+ )
+ separator
+ menuitem "Dump task entry"
+ (
+ &address=task.proc.tcb(address.offset(track.address()))
+ Data.dump &address /l /dialog
+ )
+ separator
+ menuitem "Kill task"
+ (
+ local &rkmagic &rktname
+ &rkmagic=task.proc.tcb(address.offset(track.address()))
+ &rktname=task.proc.name(&rkmagic)
+ dialog.yesno "Really kill task &rktname?"
+ entry &yn
+ if &yn
+ (
+ var.set ((struct task_struct)*&rkmagic).pending.signal.sig[0]=0x100
+ print "Signal SIGKILL sent to task &rktname"
+ )
+ )
+ separator
+ enable t.method.analyzer()
+ menuitem "Trace this task"
+ (
+ local &magic
+ if run()
+ break
+ &magic=address.offset(track.address())
+ &sid=task.proc.magic2sid(&magic)
+ if etm.contextcomp()>0
+ (
+ TrOnchip.ContextID ON
+ Break.Set &sid:0--0xffffffff /Program /TraceEnable /TASK &magic
+ )
+ else
+ (
+ Break.Set task.config(magic) /Write /Data &magic /TraceON
+ Break.Set task.config(magic) /Write /Data !&magic /TraceOFF
+ )
+ )
+)
+
+
+menu "task.mod"
+(
+ default
+ ;menuitem "Display detailed"
+ ;(
+ ; &address=address.offset(track.address())
+ ; TASK.MODule &address
+ ;)
+ menuitem "Display module struct"
+ (
+ &address=task.mod.mcb(address.offset(track.address()))
+ Var.View %m %s (struct module)*&address
+ )
+ separator
+ menuitem "Load Module Symbols" "TASK.sYmbol.LOADMod track.address()"
+ menuitem "Delete Module Symbols" "TASK.sYmbol.DELeteMod track.address()"
+ separator
+ menuitem "Dump module entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.fs.t"
+(
+ default
+ menuitem "Display detailed"
+ (
+ &address=address.offset(track.address())
+ TASK.FS.Types &address
+ )
+ menuitem "Display type struct"
+ (
+ &address=address.offset(track.address())
+ Var.View %m %s (struct file_system_type)*&address
+ )
+ separator
+ menuitem "Dump type entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.fs.md"
+(
+ default
+ menuitem "Display detailed"
+ (
+ &address=address.offset(track.address())
+ TASK.FS.MountDevs &address
+ )
+ menuitem "Display superblock struct"
+ (
+ &address=address.offset(track.address())
+ Var.View %m %s (struct super_block)*&address
+ )
+ separator
+ menuitem "Dump superblock entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.fs.proc"
+(
+ ;default
+ ;menuitem "Display detailed"
+ ;(
+ ; &address=address.offset(track.address())
+ ; TASK.FS.PROC &address
+ ;)
+ menuitem "Display proc struct"
+ (
+ &address=address.offset(track.address())
+ Var.View %m %s (struct proc_dir_entry)*&address
+ )
+ separator
+ menuitem "Dump proc dir entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.fs.m"
+(
+ default
+ ;menuitem "Display detailed"
+ ;(
+ ; &address=address.offset(track.address())
+ ; TASK.FS.Mount &address
+ ;)
+ menuitem "Display mount struct"
+ (
+ &address=address.offset(track.address())
+ Var.View %o %h %s (struct vfsmount)*&address
+ )
+ separator
+ menuitem "Dump mount entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.lib"
+(
+ default
+ ;menuitem "Display detailed"
+ ;(
+ ; &address=address.offset(track.address())
+ ; TASK.DTask &address
+ ;)
+ menuitem "Display Library struct"
+ (
+ &address=address.offset(track.address())
+ Var.View %m %s (struct vm_area_struct)*&address
+ )
+ separator
+ menuitem "Load Library Symbols" "TASK.sYmbol.LOADLib track.string() track.address()"
+ menuitem "Delete Library Symbols" "TASK.sYmbol.DELeteLib track.string() track.address()"
+ separator
+ menuitem "Dump Library entry"
+ (
+ &address=address.offset(track.address())
+ Data.dump &address /l /dialog
+ )
+)
+
+
+menu "task.w"
+(
+ default
+ menuitem "Display Process"
+ (
+ &address=address.offset(track.address())
+ TASK.DTask &address
+ )
+ menuitem "Delete from List"
+ (
+ &name=track.string()
+ TASK.Watch.DELete "&name"
+ )
+)
+
+