[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"

+  )

+)

+

+