Files
2025-10-14 09:52:32 +09:00

679 lines
31 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." "LynxSecure"
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="LynxSecure"
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.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" ""
GOSUB autoload_64bit ""
)
)
ELSE IF (&bExtLoad)
(
PRIVATE &sMachineName &sInfix &sOptionName &sOptionMachine
&sInfix=""
&sMachineName="LynxSecure"
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.)
(
GOSUB extension_64bit "&sParameters" "&sOptionAccess &sOptionAccessMisc &sOptionName &sOptionMachine"
IF !STRing.Compare("&sArguments","*MENU=NONE*")
GOSUB menu_64bit "&sMachineName" "&sInfix"
GOSUB autoload_64bit "&sOptionMachine"
)
)
ELSE IF (&bCleanup)
(
PRIVATE &sMachineName &sOptionMachine
&sMachineName="LynxSecure"
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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
bHNfZ2xvYmFsX2RhdGFfdAAAAAAuY3B1X3RhYmxlAAAuc3ViamVjdHNfbnVtAAAALnN1YmplY3Rf
dGFibGUAAHN1YmplY3RfZ2xvYmFsX3QAAAAALnN1YmplY3RfdHlwZQAAAC5pbnNuX3NldAAAAC5z
dWJqZWN0X2lkAC5ybwAudmNwdQAAAC5udW1fdmNwdXMAAC5zdGF0ZQAAbHNfcm9fcGFnZV90AAAA
AC5uYW1lAAAAY3B1X3QAAAB2Y3B1X3QAAC5fdmNwdQAALnZjcHVfc3ViamVjdAAAAC52Y3B1X2lk
AAAAAHZjcHVfdmNwdV90AC5tY3R4AAAAdmNwdV9tY3R4X3QALnJlZ3MAAAAuc3IALnNyLlZUVEJS
X0VMMgAAAGdldEN1cnJlbnRHdWVzdElkKCkAZ2V0Q3VycmVudEd1ZXN0SWQoKSA9ICVkLgAAAGdl
dEN1cnJlbnRWY3B1SWQoKQAAZ2V0Q3VycmVudFZjcHVJZCgpID0gJWQuAAAAAGdldE1hY2hpbmVM
aXN0KCkAAAAAZ2V0TWFjaGluZUxpc3QoKSwgbnVtc3ViamVjdHM9JWQuAAAAZ2V0TWFjaGluZUlk
KCk6ICU4eABnZXRNYWNoaW5lSWQoKSA9ICVkLgAAAABnZXRNYWNoaW5lTmFtZSgpOiAlOHgAAABn
ZXRNYWNoaW5lTmFtZSgpID0gJXMAAABnZXRNYWNoaW5lVnR0YigpOiAlOHgAAABnZXRNYWNoaW5l
VnR0YigpID0lOHgAAABnZXRWY3B1Q29udGV4dDogbWFnaWM9JTh4LCB2Y3B1aWQ9JWQAAAAAaGNy
AHNjdGxfbnMAdGNyX25zAAB0dGJyMF9ucwAAAAB0dGJyMV9ucwAAAABzdWJqZWN0AEVYVGVuc2lv
bi5TdWJqZWN0ICV4AAAAAEVYVC5TVUJKRUNUACVkLgBub3QgaW5pdGlhbGl6ZWQAcnVubmluZwBz
dG9wcGVkAHN1c3BlbmRlZAAAAHVua293biAoJWQpAGZ2IABwdiAANjQgADMyIABHbG9iYWwgZGF0
YSBub3QgZm91bmQhIFN5bWJvbHMgbG9hZGVkPwoAbWFnaWMgICAgICAgAAAAAGlkICAAAAAAbWlk
IAAAAABuYW1lICAgIAAAAABzdGF0ZSAgICAgAAB0eXBlICAAACN2Y3B1cwAAdnR0YiAgICAgICAg
AAAAAFNvcnJ5OiBzdWJqZWN0IG5vdCBmb3VuZC4AAABTAAAAU3ViamVjdABfTFlOWE9TSFZfX0VY
VF9TAAAAAE1URCBWZXJzaW9uICAlcyAgJXMgICUyZC4lMmQuJTRkIChCdWlsZCAlcykKCgAAAGds
b2JhbCBkYXRhICAgICAgICAgJTh4ICAAAABpbnZhbGlkIQAAAABURVNUAAAAAGFyZ3VtZW50ICAg
ICAgICAgICAgdmFsdWUgICAgIGNvbnRlbnQgICBzeW1ib2wAAEx5bnhTZWN1cmUAAEFSTQBEQVRB
AAAXZIA8AD8AAAAAAAAXaDDFGD0AAAAAAAAXcICANSAAAAAAAAAXeAAAAAAAAAAAAAAXhAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAXtAAAGKQAABioAAAYsAAACLgAAAADAFoAAAAEAIwAAA9sAAAAAw9a
AAAABACMAAAOlAAAAAIAAAAAAAAYiAAAAAAAABgwAAAYQAAAGEgAABhQAAAYXAAAGGgAABhwAAAY
eAAAAAAAAAABAFAAAAAAGSQAAA/oAAAZHAAAGRwAABiEAAAYhAAAD7QAABiEAAAZVAAAGWAAAAAA
VDMyRQ==
)
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: LynxSecure specific menu
; @Description: -
; @Keywords: lynxsecure menu awareness
; @Author: DIE
; @Copyright: (c) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: lynxsecure.m 7861 2022-07-29 13:45:42Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
add
menu
(
popup "&LynxSecure"
(
default
menuitem "Display &Subjects" "EXTension.&(sInfix)Subject"
SEPARATOR
MENUITEM "Display Task Tree" "TASK.List.TREE"
MENUITEM "Display Core Activity" "CORE.List"
)
;popup "&Help"
;(
; menuitem "LynxSecure Hypervisor Awareness Manual" "HELP __RTOS_lynxsecure_"
;)
)
add
menu "ext.&(sInfix)subject"
(
default
menuitem "Display detailed"
(
PRIVATE &address
&address=address.offset(track.address())
EXTension.&(sInfix)Subject &address
)
menuitem "Display subject struct"
(
PRIVATE &address
&address=track.address()
Var.View %Open %String (subject_global_t*)(&address)
)
menuitem "List intermediate page table"
(
PRIVATE &address
&address=address.offset(track.address())
&address=ext.subject.vttb(&address)
MMU.List IntermedPageTable 0x0 A:&address
)
menuitem "Dump subject entry"
(
PRIVATE &address
&address=track.address()
Data.dump &address /Long /dialog
)
)
add
menu "ext.&(sInfix)vcpu"
(
default
menuitem "Display detailed"
(
PRIVATE &address
&address=address.offset(track.address())
EXTension.&(sInfix)VCPU &address
)
menuitem "Display vcpu struct"
(
PRIVATE &address
&address=track.address()
Var.View %Open (vcpu_t*)(&address)
)
menuitem "Dump vcpu entry"
(
PRIVATE &address
&address=track.address()
Data.dump &address /l /dialog
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_32bit: ;(options)
(
PARAMETERS &sOptions
RETURN
)
extension_64bit: ; (options)
(
PARAMETERS &sParameters &sOptions
EXTension.LOAD &sParameters &sOptions
(
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
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGJhdW1laXN0ZXIAAAAAAABlZGstbGludXg2NGJp
dC03AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0NDIDku
NS4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAfoAAAABgAAAA0AAABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ATvzTHlueFNlY3VyZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAIAAAAGxzX2dsb2JhbF9kYXRhAABsc19nbG9iYWxfZGF0YV90AAAA
AC5jcHVfdGFibGUAAC5zdWJqZWN0c19udW0AAAAuc3ViamVjdF90YWJsZQAAc3ViamVjdF9nbG9i
YWxfdAAAAAAuc3ViamVjdF90eXBlAAAALmluc25fc2V0AAAALnN1YmplY3RfaWQALnJvAC52Y3B1
AAAALm51bV92Y3B1cwAALnN0YXRlAABsc19yb19wYWdlX3QAAAAALm5hbWUAAABjcHVfdAAAAHZj
cHVfdAAALl92Y3B1AAAudmNwdV9zdWJqZWN0AAAALnZjcHVfaWQAAAAAdmNwdV92Y3B1X3QALm1j
dHgAAAB2Y3B1X21jdHhfdAAucmVncwAAAC5zcgAuc3IuVlRUQlJfRUwyAAAAZ2V0Q3VycmVudEd1
ZXN0SWQoKQBnZXRDdXJyZW50R3Vlc3RJZCgpID0gJWQuAAAAZ2V0Q3VycmVudFZjcHVJZCgpAABn
ZXRDdXJyZW50VmNwdUlkKCkgPSAlZC4AAAAAZ2V0TWFjaGluZUxpc3QoKQAAAABnZXRNYWNoaW5l
TGlzdCgpLCBudW1zdWJqZWN0cz0lZC4AAABnZXRNYWNoaW5lSWQoKTogJTE2eAAAAABnZXRNYWNo
aW5lSWQoKSA9ICVkLgAAAABnZXRNYWNoaW5lTmFtZSgpOiAlMTZ4AABnZXRNYWNoaW5lTmFtZSgp
ID0gJXMAAABnZXRNYWNoaW5lVnR0YigpOiAlMTZ4AABnZXRNYWNoaW5lVnR0YigpID0lMTZ4AABn
ZXRBcm02NFZjcHVDb250ZXh0OiBtYWdpYz0lMTZ4LCB2Y3B1PSUxNngAAGdldEFybTY0VmNwdUNv
bnRleHQ6ICZwYz0lMTZ4AAAAZ2V0QXJtNjRWY3B1Q29udGV4dDogKnBjPSUxNngAAABnZXRWY3B1
Q29udGV4dDogbWFnaWM9JTE2eCwgdmNwdWlkPSVkAAAAeDAAAHgxAAB4MgAAeDMAAHg0AAB4NQAA
eDYAAHg3AAB4OAAAeDkAAHgxMAB4MTEAeDEyAHgxMwB4MTQAeDE1AHgxNgB4MTcAeDE4AHgxOQB4
MjAAeDIxAHgyMgB4MjMAeDI0AHgyNQB4MjYAeDI3AHgyOAB4MjkAeDMwAHNwX2VsMQAAZWxyX2Vs
MQBzcHNyX2VsMQAAAABoY3IAdnR0YnIAAABzY3Rscl9lbDEAAABtYWlyX2VsMQAAAABhbWFpcl9l
bDEAAAB0Y3JfZWwxAHR0YnIwX2VsMQAAAHR0YnIxX2VsMQAAAHZiYXJfZWwxAAAAAHNwX2VsMAAA
cGMAAGNwc3IAAAAAc2N0bF9ucwB0Y3JfbnMAAHR0YnIwX25zAAAAAHR0YnIxX25zAAAAAHN1Ympl
Y3QARVhUZW5zaW9uLlN1YmplY3QgJXgAAAAARVhULlNVQkpFQ1QAJWQuAG5vdCBpbml0aWFsaXpl
ZABydW5uaW5nAHN0b3BwZWQAc3VzcGVuZGVkAAAAdW5rb3duICglZCkAZnYgAHB2IAA2NCAAMzIg
AEdsb2JhbCBkYXRhIG5vdCBmb3VuZCEgU3ltYm9scyBsb2FkZWQ/CgBtYWdpYyAgICAgICAgICAg
IAAAAGlkICAAAAAAbWlkIAAAAABuYW1lICAgIAAAAABzdGF0ZSAgICAgAAB0eXBlICAAACN2Y3B1
cwAAdnR0YiAgICAgICAgICAgICAAAABTb3JyeTogc3ViamVjdCBub3QgZm91bmQuAAAAUwAAAFN1
YmplY3QAX0xZTlhPU0hWX19FWFRfUwAAAABNVEQgVmVyc2lvbiAgJXMgICVzICAlMmQuJTJkLiU0
ZCAoQnVpbGQgJXMpCgoAAABnbG9iYWwgZGF0YSAgICAgICAgICUxNnggIAAAaW52YWxpZCEAAAAA
VEVTVAAAAABhcmd1bWVudCAgICAgICAgICAgIHZhbHVlICAgICAgICAgICAgIGNvbnRlbnQgICAg
ICAgICAgIHN5bWJvbAAATHlueFNlY3VyZQAAQVJNNjQAREFUQQAAHOAAAAAAAAAAAAAAAAAAAAAI
AAAAAAAAHOQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHOgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHOwA
AAAAAAAAAAAAAAAAAAAIAAAAAAAAHPAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHPQAAAAAAAAAAAAA
AAAAAAAIAAAAAAAAHPgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHPwAAAAAAAAAAAAAAAAAAAAIAAAA
AAAAHQAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHQQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHQgAAAAA
AAAAAAAAAAAAAAAIAAAAAAAAHQwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHRAAAAAAAAAAAAAAAAAA
AAAIAAAAAAAAHRQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHRgAAAAAAAAAAAAAAAAAAAAIAAAAAAAA
HRwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHSAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHSQAAAAAAAAA
AAAAAAAAAAAIAAAAAAAAHSgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHSwAAAAAAAAAAAAAAAAAAAAI
AAAAAAAAHTAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHTQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHTgA
AAAAAAAAAAAAAAAAAAAIAAAAAAAAHTwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHUAAAAAAAAAAAAAA
AAAAAAAIAAAAAAAAHUQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHUgAAAAAAAAAAAAAAAAAAAAIAAAA
AAAAHUwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHVAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHVQAAAAA
AAAAAAAAAAAAAAAIAAAAAAAAHVgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHVwAAAAAAAAAAAAAAAAA
AAAIAAAAAAAAHWQAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHWwAAAAAAAAAAAAAAAAAAAAIAAAAAAAA
HXgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHXwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHYQAAAAAAAAA
AAAAAAAAAAAIAAAAAAAAHZAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHZwAAAAAAAAAAAAAAAAAAAAI
AAAAAAAAHagAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHbAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHbwA
AAAAAAAAAAAAAAAAAAAIAAAAAAAAHcgAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHdQAAAAAAAAAAAAA
AAAAAAAIAAAAAAAAHdwAAAAAAAAAAAAAAAAAAAAIAAAAAAAAHeAAAAAAAAAAAAAAAAAAAAAIAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHXgAAAAAAAAAAIA8AD8AAAAAAAAAAAAAHegAAAAA
AAAAADDFGD0AAAAAAAAAAAAAHfAAAAAAAAAAAICANSAAAAAAAAAAAAAAHfgAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
HjQAAB8sAAAfMAAAHzgAAAwMAAAAAwBaAAAABAU8AAAUNAAAAAMPWgAAAAQFPAAAEyQAAAACAAAA
AAAAHxAAAAAAAAAesAAAHsQAAB7MAAAe1AAAHuAAAB7sAAAe9AAAHvwAAAAAAAAAAQBQAAAAAB+s
AAAUuAAAH6QAAB+kAAAe3AAAHtwAABSEAAAe3AAAH+wAAB/4AAAAAFQzMkU=
)
RETURN
)
menu_64bit: ;(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: LynxSecure specific menu
; @Description: -
; @Keywords: lynxsecure menu awareness
; @Author: DIE
; @Copyright: (c) 1989-2021 Lauterbach GmbH, licensed for use with TRACE32(R) only
; --------------------------------------------------------------------------------
; $Id: lynxsecure.m 7861 2022-07-29 13:45:42Z amerkle $
NAME "TASK.&sMenuName"
IF !MENU.EXIST("TASK.&sMenuName")
(
add
menu
(
popup "&LynxSecure"
(
default
menuitem "Display &Subjects" "EXTension.&(sInfix)Subject"
SEPARATOR
MENUITEM "Display Task Tree" "TASK.List.TREE"
MENUITEM "Display Core Activity" "CORE.List"
)
;popup "&Help"
;(
; menuitem "LynxSecure Hypervisor Awareness Manual" "HELP __RTOS_lynxsecure_"
;)
)
add
menu "ext.&(sInfix)subject"
(
default
menuitem "Display detailed"
(
PRIVATE &address
&address=address.offset(track.address())
EXTension.&(sInfix)Subject &address
)
menuitem "Display subject struct"
(
PRIVATE &address
&address=track.address()
Var.View %Open %String (subject_global_t*)(&address)
)
menuitem "List intermediate page table"
(
PRIVATE &address
&address=address.offset(track.address())
&address=ext.subject.vttb(&address)
MMU.List IntermedPageTable 0x0 A:&address
)
menuitem "Dump subject entry"
(
PRIVATE &address
&address=track.address()
Data.dump &address /Long /dialog
)
)
add
menu "ext.&(sInfix)vcpu"
(
default
menuitem "Display detailed"
(
PRIVATE &address
&address=address.offset(track.address())
EXTension.&(sInfix)VCPU &address
)
menuitem "Display vcpu struct"
(
PRIVATE &address
&address=track.address()
Var.View %Open (vcpu_t*)(&address)
)
menuitem "Dump vcpu entry"
(
PRIVATE &address
&address=track.address()
Data.dump &address /l /dialog
)
)
)
)
)
PMACRO.UNLOCK
RETURN
)
autoload_64bit: ;(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
)