; -------------------------------------------------------------------------------- ; @Title: Lithos specific menu ; @Description: - ; @Author: DIE ; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id$ NAME "TASK.LITHOS" IF !MENU.EXIST("TASK.LITHOS") ( ADD MENU ( POPUP "LithOS" ( DEFAULT MENUITEM "Display &Processes" "TASK.Process" separator popup "&Stack Coverage" ( menuitem "&List Stacks" "TASK.STacK.view" menuitem "Add Task" "TASK.STacK.ADD" menuitem "Remove Task" "TASK.STacK.ReMove" menuitem "Reset Coverage" ( if icd()||simulator() ( PRIVATE &yes dialog.yesno "Overwrite unused stack space" "with stack fill pattern?" entry &yes if !&yes enddo ) TASK.STacK.Init ) ) ) ) MENU "task.process" ( DEFAULT MENUITEM "Display detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.Process &nAddress ) //MENUITEM "Display process struct" //( // PRIVATE &address &struct // &address=TRACK.ADDRESS() // &struct=TASK.STRUCT(proc) // Var.View %Open %String (&struct*)(&address) //) SEPARATOR MENUITEM "Display Stack Frame" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) Frame /Locals /Caller /TASK &nAddress ) MENUITEM "Display Registers" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) Register.view /TASK &nAddress ) menuitem "Switch Context" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) Register.TASK &nAddress ) separator menuitem "Add to Stack Cov" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.STacK.ADD &nAddress ) menuitem "Rm from Stack Cov" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.STacK.RM &nAddress ) SEPARATOR MENUITEM "Dump process entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS()-8 Data.dump &pAddress /DIALOG ) ) )