Files
Gen4_R-Car_Trace32/2_Trunk/demo/arm/kernel/lithos/lithos.t32
2025-10-14 09:52:32 +09:00

381 lines
15 KiB
Plaintext

;@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
)