;@Extension.Container.Version.1 ;-- DO NOT CHANGE THE LINE ABOVE -- IF (VERSION.BUILD.BASE()<138311.) ( PRINTF %ERROR "%s: Software too old, please contact support@lauterbach.com." "LithOS" ENDDO ) PMACRO.EXPLICIT PRIVATE &sParamline &sPpf &sCmd &sParameters &sAccess &sAccessSpaces &sAccessMachine &sOptionAccess &sOptionAccessMisc &sName &sMachine &sArguments &nVariant PRIVATE &bTaskConfig &bExtLoad &bCleanup ENTRY &sCmd %LINE &sParamline &sParameters=STRing.SCANAndExtract("&sParamline","PARAMETERS=","") &sAccess=STRing.SCANAndExtract("&sParamline","ACCESS=","") &sAccessSpaces=STRing.SCANAndExtract("&sParamline","ACCESSSPACES=","") &sAccessMachine=STRing.SCANAndExtract("&sParamline","ACCESSMACHINE=","") &sName=STRing.SCANAndExtract("&sParamline","NAME=","") &sMachine=STRing.SCANAndExtract("&sParamline","MACHINE=","") &sArguments=STRing.SCANAndExtract("&sParamline","ARGUMENTS=","") &sParameters=STRing.Replace("&sParameters","""","",0.) IF ("&sArguments"!="") &sArguments=&sArguments IF ("&sAccess"!="") &sOptionAccess="/ACCESS &sAccess" IF ("&sAccessSpaces"!="") &sOptionAccessMisc="/ACCESSSPACES &sAccessSpaces" IF ("&sAccessMachine"!="") &sOptionAccessMisc="&(sOptionAccessMisc) /ACCESSMACHINE &sAccessMachine" &sName=STRing.Replace("&sName","""","",0.) &bTaskConfig=STRing.SCAN("task.config,ext.config",STRing.LoWeR("&sCmd"),0.)>=0. &bExtLoad=STRing.SCAN("ext.load",STRing.LoWeR("&sCmd"),0.)>=0. &bCleanup=STRing.SCAN("task.res,ext.res,ext.delete",STRing.LoWeR("&sCmd"),0.)>=0. &sPpf=OS.PresentPracticeFile() IF (&bTaskConfig||&bExtLoad) ( IF ("&nVariant"!="32.")&&("&nVariant"!="64.") ( IF CPUIS64BIT() &nVariant="64." ELSE &nVariant="32." ) IF STRing.ComPare("&sArguments","*32BIT*") &nVariant="32." ELSE IF STRing.ComPare("&sArguments","*64BIT*") &nVariant="64." ) IF (&bTaskConfig) ( PRIVATE &sMachineName &sMachineName="LithOS" TASK.RESet IF (&nVariant==32.) ( GOSUB extension_32bit "&sParameters" "&sOptionAccess" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_32bit "&sMachineName" "" GOSUB autoload_32bit "" ) ELSE IF (&nVariant==64.) ( PRINTF %ERROR "%s: No support for %ubit, please contact support@lauterbach.com." "LithOS" &nVariant ) ) ELSE IF (&bExtLoad) ( PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine &sInfix="" &sMachineName="LithOS" IF ("&sName"!="") ( &sInfix=STRing.UPpeR("&(sName).") &sMachineName="&(sName)" &sOptionName="/NAME &sMachineName" ) ELSE IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES) ( IF SYStem.Option.MACHINESPACES() &sInfix=TASK.TRANSPOSE.INFIX(OS.FILE.BASENAME("&sPpf",".**"))+"." ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) IF (&nVariant==32.) ( GOSUB extension_32bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine" IF !STRing.Compare("&sArguments","*MENU=NONE*") GOSUB menu_32bit "&sMachineName" "&sInfix" GOSUB autoload_32bit "&sOptionMachine" ) ELSE IF (&nVariant==64.) ( PRINTF %ERROR "%s: No support for %ubit, please contact support@lauterbach.com." "LithOS" &nVariant ) ) ELSE IF (&bCleanup) ( PRIVATE &sMachineName &sOptionMachine &sMachineName="LithOS" IF ("&sName"!="") ( &sMachineName="&(sName)" ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) GOSUB menu_delete "&sMachineName" GOSUB autoload_delete "&sOptionMachine" ) ENDDO extension_32bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHQ0MgOS41LjAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB+gAAAAGAAAA DQAAAE4AACfSAAAH6AAAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAABO+dMaXRoT1MAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAg AAAAc2NoZWQAAABhcGV4Tm9Qcm9jZXNzZXMAcHJvY2Vzc1Bvb2wAcHJvY2Vzc1BhcmFtUG9vbAAA AABQUk9DRVNTX0FUVFJJQlVURV9UWVBFAAAuUEVSSU9EAC5OQU1FAAAAKGRlZmF1bHQpAAAAKGlk bGUpAAAoZXJyb3JoYW5kbGVyKQAAcjEzX3VuZAByMTNfc3ZjAHIxM19hYnQAcjEzX2lycQByMTNf ZmlxAHIwAAByMQAAcjIAAHIzAAByNAAAcjUAAHI2AAByNwAAcjhfdXNyAAByOV91c3IAAHIxMF91 c3IAcjExX3VzcgByMTJfdXNyAHIxNF91c3IAcGMAAHIxM191c3IAY3BzcgAAAABoYXJkd2FyZXRo cmVhZAAAVEFTSy5Qcm9jZXNzICV4AFRBU0suUFJPQ0VTUwAAAAAlOHgALQAAACUyZC4AAAAAY3Vy cmVudCAAAAAAZG9ybWFudAB3YWl0aW5nAHJlYWR5AAAAcnVubmluZwB1bmtub3duACVkLgAlZHMA JWRtcwAAAAAlZHVzAAAAAExpc3QgJWEAICAAAAoAAABtYWdpYyAgICAAAABuYW1lICAgICAgICAA AAAAaWQgAHN0YXRlICAgAAAAAHByaW8gAAAAcGVyaW9kIABlbnRyeSAAAFBST0NFU1MAUAAAAFBy b2Nlc3MAJTh4ICAAAAAlQGNNVEQgVmVyc2lvbiAgJXMgICVzICAlMDJ1LiUwMnUuJTA0dSAoQnVp bGQgJXMpCgoAbWFnaWMgICAgICAgICAgIAAAAABzY2hlZCAgICAgICAgICAgAAAAAG5yIHByb2Nl c3NlcyAgICAAAAAAcHJvY2Vzc2VzIHBvb2wgIAAAAABwYXJhbSBwb29sICAgICAgAAAAAFRFU1QA AAAAYXJndW1lbnQgICAgICAgIHZhbHVlICAgICBjb250ZW50ICAgc3ltYm9sAABMaXRoT1MAAEFS TQBEQVRBAAATCAAAAAAAAAAEAAATEAAAAAAAAAAEAAATGAAAAAAAAAAEAAATIAAAAAAAAAAEAAAT KAAAAAAAAAAEAAATMAAAAAAAAAAEAAATNAAAAAAAAAAEAAATOAAAAAAAAAAEAAATPAAAAAAAAAAE AAATQAAAAAAAAAAEAAATRAAAAAAAAAAEAAATSAAAAAAAAAAEAAATTAAAAAAAAAAEAAATUAAAAAAA AAAEAAATWAAAAAAAAAAEAAATYAAAAAAAAAAEAAATaAAAAAAAAAAEAAATcAAAAAAAAAAEAAATeAAA AAAAAAAEAAATgAAAAAAAAAAEAAAThAAAAAAAAAAAAAATjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwBQAAAABAFQAAAHMAAAFHQAABR8AAAUgAAAFNQAAAb8 AAAUMAAAFDwAABRMAAAUUAAAFFwAABRkAAAUbAAAAAAAAAABADwAAAAAFTAAAAxUAAAVKAAAFSgA ABTUAAAU1AAAC3gAABTUAAAVXAAAFWQAAAAAVDMyRQ== ) RETURN ) menu_32bit: ;(header, infix) ( PMACRO.LOCK ( PRIVATE &sHeader &sInfix &sMenuName PARAMETERS &sHeader &sInfix &sMenuName=TASK.TRANSPOSE.INFIX("&sHeader") IF MENU.EXIST("TASK.&(sMenuName)") MENU.Delete.NAME TASK.&(sMenuName) IF MENU.EXIST("EXT.&(sMenuName)") MENU.Delete.NAME EXT.&(sMenuName) MENU.ReProgram (&+ ; -------------------------------------------------------------------------------- ; @Title: Lithos specific menu ; @Description: - ; @Author: DIE ; @Copyright: (c) 1989-2022 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id$ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( ADD MENU ( POPUP "&sHeader" ( DEFAULT MENUITEM "Display &Processes" "TASK.&(sInfix)Process" separator popup "&Stack Coverage" ( menuitem "&List Stacks" "TASK.&(sInfix)STacK.view" menuitem "Add Task" "TASK.&(sInfix)STacK.ADD" menuitem "Remove Task" "TASK.&(sInfix)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.&(sInfix)STacK.Init ) ) ) ) MENU "task.&(sInfix)process" ( DEFAULT MENUITEM "Display detailed" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.&(sInfix)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.&(sInfix)STacK.ADD &nAddress ) menuitem "Rm from Stack Cov" ( PRIVATE &nAddress &nAddress=ADDRESS.OFFSET(TRACK.ADDRESS()) TASK.&(sInfix)STacK.RM &nAddress ) SEPARATOR MENUITEM "Dump process entry" ( PRIVATE &pAddress &pAddress=TRACK.ADDRESS()-8 Data.dump &pAddress /DIALOG ) ) ) ) ) PMACRO.UNLOCK RETURN ) autoload_32bit: ;(options) ( PARAMETERS &sOptions RETURN ) menu_delete: ;(header) ( PRIVATE &sHeader &sMenuName PARAMETERS &sHeader &sMenuName=TASK.TRANSPOSE.INFIX("&sHeader") IF MENU.EXIST("TASK.&(sMenuName)") MENU.Delete.NAME TASK.&(sMenuName) IF MENU.EXIST("EXT.&(sMenuName)") MENU.Delete.NAME EXT.&(sMenuName) RETURN ) autoload_delete: ;(options) ( PARAMETERS &sOptionMachine RETURN )