;@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." "LynxOS" 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) ( GOSUB execute_container_selection "&sParameters" "&sAccess" "&sMachine" "&sArguments" RETURNVALUES &nVariant 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="LynxOS" 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="LynxOS" 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="LynxOS" IF ("&sName"!="") ( &sMachineName="&(sName)" ) IF ("&sMachine"!="") ( &sOptionMachine="/MACHINE &sMachine" ) IF STRing.SCAN(HELP.FILTER(),"rtoslynx",0.)>=0. HELP.FILTER.Delete rtoslynx GOSUB menu_delete "&sMachineName" GOSUB autoload_delete "&sOptionMachine" ) ENDDO extension_32bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( 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 eDY0Yml0LTcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABH Q0MgOS41LjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAB+gAAAAGAAAADQAAAE4AACfSAAAH6AAAAAYAAAAAAAAAAAAAAAAAAAAA AAAAAAABPTZMeW54T1MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAATWFnaWNUb0lkOiBtYWdpYz0lOHgsIGlkPSVkLgAA AABBbHBoYSBCcmVha3BvaW50cyBzZXQgb24gJWQgdGFzayBzdGF0ZSB3b3JkcwAAAAAtLS0gVGhy ZWFkIGlkID0gJWQuLCBuYW1lID0gAAAAAGN1cnJ0cHRyAAAAAGNwdV9kYXRhAAAAAEdldE1hZ2lj OiBtYWdpY2FkZHI9JTh4AHBhcmFtZXRlciAxOiAweCU4eCA9ICVzAG1hZ2ljAAAAbWFnaWNzaXpl AAAAdW5rbm93biB0b3BpYwAAAGx5bnhfcmVsZWFzZQAAAABjdXJycHB0cgAAAABwcm9jdGFiAHN5 c3RlbV9ucHJvYwAAAABucHJvYwAAAHN0X3RhYmxlAAAAAG5zdGFza3MAbWF4X251bV92bXMAcGFn ZV90YWJsZXMAX19wYWdlX3RhYmxlcwAAAHN0cnVjdCBwZW50cnkAAAAucHN0YXRlAC5qb2IAAAAA LmkAAC5wbmFtZQAALnBpZAAAAAAucGdyb3VwAC5wcGlkAAAAc3RydWN0IHN0X2VudHJ5AC50c3Rh dGUALnRpZAAAAAAudG5hbWUAAC5wcHJpbwAALnN0YWNrcAAuc2VtAAAAAC5zdGFjawAALnN0YWNr bGVuAAAALnNpZ25hbHMAAAAALnNpZ25tYXNrAAAALnByb2Nlc3MAAAAALnZtX293bmVyAAAAZHJp dmVycwBzdHJ1Y3QgZHJpdmVyX2VudHJ5AC51c2Vjb3VudAAAAC5kZXZfdHlwZQAAAC5uYW1lAAAA Lm9wZW4AAAAuY2xvc2UAAC5yZWFkAAAALndyaXRlAAAuc2VsZWN0AC5pb2N0bAAALmluc3RhbGwA AAAALnVuaW5zdGFsbAAALm0uc3RhcnQAAAAALm0uc2l6ZQAubS50ZXh0AC50ZXh0AAAALm0uZGF0 YQAuZGF0YQAAAC5tLmJzcwAALmJzcwAAAABwYXJhbWV0ZXJzOiAweCU4eCwgMHglOHgAAAAAdmVy c2lvbgBTb3JyeTogQ291bGRuJ3QgZ2V0IHN5bWJvbCBhZGRyZXNzZXMAAAAAX19FTVhYWF9BVAAA X19FTVhYWF9BUwAAX19FTVhYWF9BTAAAVEFTSy5MT0cyUEhZUwAAAF9fRU1MWU5YX0ZVTkMAAABU QVNLLkxZTlhPUwBUQVNLLlBST0MuU1BBQ0UAVEFTSy5DT05GSUcAVEFTS1NUQVRFAAAAVEFTS1MA AABUQVNLU3RhdGUAAABAKD0pX19SVE9TX0xZTlhfX1RBU0tfVEFTS1MASnVuIDEzIDIwMjQATHlu eE9TAABBUk0A//+OCP//jcD//44I//+N2P//jfj//43o//+N+Dxwcm9jZXNzPgAAAHZtAABUYXNr LlByb2Nlc3MgJXgAVEFTSy5QAAAqAAAAJTRkLiAAAAAlM2QuIAAAACAlNHgAAAAAY3VycmVudCAg IAAAZnJlZSAgICAgIAAAcmVhZHkgICAgIAAAc3RvcHBlZCAgIAAAd2FpdGluZyAgIAAAc3VzcGVu ZGVkIAAAem9tYmllICAgIAAAZXJyb3IoJTJkKSAAbWFnaWMgICAgAAAAcGlkICAAAABwcGlkAAAA AHByaW8AAAAAc3BhY2VpZABzaWduYWxzIAAAAABtYXNrICAgIAAAAABzZW0gICAgICAAAABzdGF0 ZSAgICAAAABuYW1lAAAAAFBST0NFU1MAUHJvY2VzcwBAKD0pX19SVE9TX0xZTlhfX1RBU0tfUAD/ /6ZE//+lgP//peT//6X0//+mBP//phT//6Yk//+mNDx0aHJlYWQ+AAAAAFRhc2suVGhyZWFkICV4 AABUQVNLLlQAACU0ZC4AAAAAJTNkLgAAAAAlNWQuAAAAADoAAAB0aWQgIAAAAHBpZCAAAAAAc3Rr bGVuAABUSFJFQUQAAFRocmVhZAAAQCg9KV9fUlRPU19MWU5YX19UQVNLX1QA//+q9P//qgz//6qU //+qpP//qrT//6rE//+q1P//quQ8ZHJpdmVyPgAAAABUYXNrLkRyaXZlciAleAAAVEFTSy5EAABj aGFyAAAAAGJsb2NrAAAAdW51c2VkAAAoJWQuKQAAACVzAABuZHJpdnMAACVzICAAAAAARGF0YS5M aXN0ICV4AAAAAGZ1bmN0aW9uICAgYWRkcmVzcyAgICBsYWJlbAoAAAAAb3BlbiAgICAgAAAAY2xv c2UgICAgAAAAcmVhZCAgICAgAAAAd3JpdGUgICAgAAAAc2VsZWN0ICAgAAAAaW9jdGwgICAgAAAA aW5zdGFsbCAgAAAAdW5pbnN0YWxsAAAAbWFnaWMgICAAAAAAIGlkIAAAAAB0eXBlIAAAAHVzZSAA AAAAc3RhcnQgICAgAAAAc2l6ZSAgICAgAAAAbmFtZSAAAABTb3JyeTogQ291bGRuJ3QgZmluZCBk cml2ZXIAVEFTSy5EUklWRVIuSU5TVEFMTABfX1JUT1NfTFlOWF9fRlVOQwAAAFRBU0suRFJJVkVS LkJTUwBUQVNLLkRSSVZFUi5EQVRBAAAAAFRBU0suRFJJVkVSLlRFWFQAAAAAVEFTSy5EUklWRVIu U1RBUlQAAABEUklWRVIAAEQAAABEcml2ZXIAAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19EADxrZXk+ AAAAPGJhc2U+AAA8c2l6ZT4AACAgICAgICAgICAgJTh4ICAocGFnZV90YWJsZXMpCgAATU1VLkNJ RCAweCV4OjAgMHgleAAlM2QuICAgICAlOHgAAAAAICAlNHg6eHh4eHh4eHgKACUzZC4gICAlOHgA ACAgJTR4OiUzeHh4eHh4CgAgICAgICAgICAAAAAlM2QuICU4eCAgAAAlNHg6JTV4eHh4AAAgICU4 eAoAAE1NVS5DIDB4JXg6MHgleCsrMEZGRiAleAAAAAAgICAgICAgICAgICU4eCAgKF9fcGFnZV90 YWJsZXMpCgAAAABzcGFjZSBpZCAlZC4gc2Nhbm5lZAAAAAB0YXNrIG1tdSBzY2FubmVkAAAAAHBy b2Nlc3Mgbm90IGZvdW5kAAAAa2V5IG1pc3NpbmcAVklFVwAAAABTQ0FOAAAAAE1NVQBAKD0pX19S VE9TX0xZTlhfX1RBU0tfTU1VX1NDQU4AACAgICAgICAjICAgICAgZW50cnkgICAgICAgaWQ6ZWEg ICAgICAgIHJhAAAAcHJvY2VzcwA8b3B0aW9uPgAAAAA8Y29tbWFuZD4AAABjb21wb25lbnQAAAA8 b24vb2ZmPgAAAABhdXRvbG9hZAAAAABtbXVzY2FuAHkuYWwuY2hlY2sAAHkuYWwudG91Y2ggIiVz IgBTeW1ib2wgbG9hZCBvZiBwcm9jZXNzICVzIHRyaWdnZXJlZC4AAAAAXFwlc1wudGV4dAAAZG9E ZWxQcm9jOiBhcmdzdHJpbmc9JXMgc3BhY2VpZD0lZC4AU3ltYm9scyBvZiBwcm9jZXNzICVzIG5v dCBmb3VuZC4AAAAATU1VLkQgJXg6MC0tMHhmZmZmZmZmZgAAeS5kIFxcJXMAAAAAeS5hbC5jbGVh ciAiJXMiAFByb2Nlc3MgJXMgc3ltYm9scyBkZWxldGVkLgAhIUNvdWxkIG5vdCBnZXQgTHlueE9T IHZlcnNpb24hAEQuTE9BRC5FTEYgJXMgJXg6MCAvY3BwIC9ub2NvZGUgL25vY2xlYXIgAAAARC5M T0FELlhDT0ZGICVzICV4OjAgL2NwcCAvbm9jb2RlIC9ub2NsZWFyIABrZXk6IExPQURDTUR8QXV0 b0xvYWR8TU1VU0NBTgAAAE1NVSBzY2FuIG9wdGlvbiBzZXQuAAAAAGF1dG9sb2FkZXIgc2V0LgBs b2FkIGNvbW1hbmQgc2V0LgAAAHBhcmFtZXRlciBtaXNzaW5nAAAAU29ycnk6IHByb2Nlc3Mgbm90 IGZvdW5kLgAAAE9GRgBEUlYATk9QUk9DRVNTAAAATlAAAE5PRFJJVkVSAAAAAE5EUlYAAAAATk9O RQAAAABMT0FEQ01EAEFVVE9MT0FEAAAAAE1NVVNDQU4AREVMRVRFAABERUwAT1BUSU9OAABPAAAA VEFTSy5ZLk8AAAAAX1JUT1NfTFlOWF9fRlVOQwAAAABTWU1CT0wAAFkAAABzWW1ib2wAAEAoPSlf X1JUT1NfTFlOWF9fVEFTS19ZAP//vaT//72U//+9zP//veD//72k//+99P//vgj//74Y//++LP// vkD//75UQCg9KV9fUlRPU19MWU5YX19UQVNLX1lfTwAAAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19Z X0RFTABAKD0pX19SVE9TX0xZTlhfX1RBU0tfWV9MT0FEAAAAAEQuTE9BRC5YQ09GRiAlcyAleDow IC9jcHAgL25vY29kZSAvbm9jbGVhciAARC5MT0FELkVMRiAlcyAleDowIC9jcHAgL25vY29kZSAv bm9jbGVhciAAAABgLmV4ZWN1c2VyYABgLmN0eF9leGVjdXNlcmAAYGN0eF9leGVjdXNlcmAAAFxc JXNcR2xvYmFsXG1haW4AAAAAXFwlc1wlc1xtYWluAAAAAGIuZCAweCV4AAAAAGIucyAweCV4AAAA AEdvAABiAAAAUHJvY2VzcyB3YXRjaCB2aWV3IG5vdCBvcGVuZWQAAABQbGVhc2Ugc3BlY2lmeSBh IHByb2Nlc3MAAAAATWF4LiBudW1iZXIgb2Ygd2F0Y2hlZCBwcm9jZXNzZXMgcmVhY2hlZAAAAABQ cm9jZXNzIGFscmVhZHkgaW4gd2F0Y2ggbGlzdAAAAGFkZFdhdGNoOiBhZGRlZCAlOHgAYi5zIDB4 JXggAAAAUHJvY2VzcyAlcyBhZGRlZCB0byB3YXRjaCBsaXN0AABQcm9jZXNzICU4eCBhZGRlZCB0 byB3YXRjaCBsaXN0AFRBU0suUHJvY2VzcyAleABUQVNLLlcAACAgLS0AAAAAbm8gcHJvY2VzcwAA IC0tAG5vIHN5bWJvbHMAAGxvYWRlZAAAPz8/AFBsZWFzZSBzcGVjaWZ5IGEgcHJvY2VzcyBuYW1l AAAAUHJvY2VzcyAlOHggcmVtb3ZlZCBmcm9tIHdhdGNoIGxpc3QAUHJvY2VzcyAlcyByZW1vdmVk IGZyb20gd2F0Y2ggbGlzdAAAYi5kIDB4JXggAAAAQnV0dG9uIERJU2FibGVCUAAAAABCdXR0b24g RElTYWJsZQAAQnV0dG9uIEVOYWJsZUJQAEJ1dHRvbiBFTmFibGUAAABwcm9jZXNzICAgIABzdGF0 ZSAgICAgAABlbnRyeSAAAEVOYWJsZQAARElTYWJsZQBFTmFibGVCUAAAAABESVNhYmxlQlAAAABw cm9jZXNzIGV4ZWN1dGlvbiBicmVha3BvaW50IG5vdCBmb3VuZC4AVgAAAEFERABESVNBQkxFAERJ UwBFTkFCTEUAAEVOAABESVNBQkxFQlAAAABESVNCUAAAAEVOQUJMRUJQAAAAAEVOQlAAAAAAV0FU Q0gAAABXAAAAV2F0Y2gAAABAKD0pX19SVE9TX0xZTlhfX1RBU0tfVwD//8DE///CkP//wHT//8CE ///AlP//wKT//8C0QCg9KV9fUlRPU19MWU5YX19UQVNLX1dfRU5CUAAAAABAKD0pX19SVE9TX0xZ TlhfX1RBU0tfV19FTgAAQCg9KV9fUlRPU19MWU5YX19UQVNLX1dfRElTQlAAAABAKD0pX19SVE9T X0xZTlhfX1RBU0tfV19ESVMAQCg9KV9fUlRPU19MWU5YX19UQVNLX1dfREVMAEAoPSlfX1JUT1Nf TFlOWF9fVEFTS19XX0FERABAKD0pX19SVE9TX0xZTlhfX1RBU0tfV19WAAAATVREIEx5bnhPUyBW ZXJzaW9uICVzICAlcyAgCgoAAABtYWdpYyAgICAgICAgICAgICU4eCAgJTh4ICAACmN1cnJlbnQg cHJvY2VzcyAgJTh4ICAlOHggIAAAAABwcm9jZXNzIHRhYmxlICAgICU4eCAgAAAlOHggIAAAAD8g ICAgICAgICAAAG51bSBwcm9jcyAgICAgICAgJTh4ICAlOHggIAAKdGhyZWFkIHRhYmxlICAgICAl OHggICU4eCAgAAAAAG51bSB0aHJlYWRzICAgICAgJTh4ICAAAG51bSB2bXMgICAgICAgICAgJTh4 ICAAAHBhZ2UgdGFibGVzICAgICAgJTh4ICAgICAgICAgICAgAAAAAHBhZ2UgdGFibGVzIDIgICAg JTh4ICAgICAgICAgICAgAAAAAGRyaXZlcnMgICAgICAgICAgJTh4ICAAAHNpemVvZiBkcml2ZXIg ICAgJTh4ICAAACAgICAgICAgICAKAGx5bnhfb3NuYW1lAEx5bnhPUyBuYW1lICAgICAgJTh4ICAg ICAgICAgICAgAAAAAApMeW54T1MgdmVyc2lvbiAgICU4eCAgICAgICglMmQpICAAAFRFU1QAAAAA YXJndW1lbnQgICAgICAgICB2YWx1ZSAgICAgY29udGVudCAgIHN5bWJvbAAuJWQAZ2V0VGFza1Ry YWNlSWQ6IG1hZ2ljPSU4eCwgam9iPSU4eAAAVHJhbnNsYXRpb25MaXN0OiBlbnRyeQAAVHJhbnNs YXRpb25MaXN0OiBwYXJfc2V0dXAgZmFpbGVkAAAAVHJhbnNsYXRpb25MaXN0OiBzeW1ib2wgcGFn ZV90YWJsZXMgbWlzc2luZwBUcmFuc2xhdGlvbkxpc3Q6IGpvYj0lZABUcmFuc2xhdGlvbkxpc3Q6 IHBndGFiKHBhcl9wYWdldGFiKT09JTh4AAAAAFRyYW5zbGF0aW9uTGlzdDogcGd0YWIocGFyX3Bh Z2V0YWIyKT09JTh4AAAAVHJhbnNsYXRpb25MaXN0OiBqb2I9JTh4LCBMMVRCPSU4eAAAVHJhbnNs YXRpb25MaXN0OiBleGl0AAAAc3RydWN0IHN0X2VudHJ5LnJlZ19zdGFja3AAAGdldEFybUNvbnRl eHQ6IGZyYW1lb2Zmc2V0PSU4eCwgZnJhbWU9JTh4AAAAcjAAAHIxAAByMgAAcjMAAHI0AAByNQAA cjYAAHI3AAByOF91c3IAAHI5X3VzcgAAcjEwX3VzcgByMTFfdXNyAHIxMl91c3IAcjEzX3VzcgBy MTRfdXNyAHBjAABjcHNyAAAAAGhhcmR3YXJldGhyZWFkAABpbml0TW9kdWxlTGlzdDogZW50cnkA AABpbml0TW9kdWxlTGlzdDogZXhpdAAAAABnZXRNb2R1bGVJbmZvOiBtYWdpYz0weCU4eCwgdHlw ZT0lZC4AAAAAc3RydWN0IHBlbnRyeS5pAHN0X3QucGFkZHIAAHN0X3QucGxpbWl0AGdldE1vZHVs ZUluZm86IG1hZ2ljICU4eCwgY29kZWFkZHIgJTh4LCBzcGFjZWlkICV4LCBuYW1lICVzAGdldE1v ZHVsZUxpc3Q6IHN1cGVybWFnaWM9JTh4AAAAZ2V0TW9kdWxlTGlzdDogcHJvY2Vzcz0leCwgaV9t b2Q9JWQAZ2V0TW9kdWxlTGlzdDogbGlicmFyaWVzIGZvciBwcm9jZXNzPSV4AGdldE1vZHVsZUxp c3Q6IGRyaXZlcnMuAGdldE1vZHVsZUxpc3Q6IGRyaXZlcj0leCwgaV9tb2Q9JWQAREFUQQAAdmgA AHZ0AAB2fAAAdogAAAAkAAB2XAAAAAMAAAAXAAAAAAAAdjAAAAf4AAB2TAAAAAMAAAAXAAAAAAAA djAAABmAAAB2QAAAAAMAAAAXAAAAAAAAdjAAABVwAAB2IAAAAAMAAAADAAAAAwAAdjAAABUYAAB2 FAAAFHAAAHYIAAAUnAAAdfwAABTwAAB2pAAAdrAAAHa4AAAAAAAAAAIAAAAAAAB11AAAAAAAAAAC AAAAAAAAAAAAAAE4AAACQAAAApwAAAACAAAAAAAAddQAAAAAAAAAAwBaAAAABAD0AAAehAAAAAMA WgAAAAQA9AAAHtQAAHd8AAB3iAAAd5AAAHeYAAB3oAAAd6gAAHe0AAB3wAAAd8wAAHfYAAAAAAAA AAAAAHfgAACDCAAAd+gAAHfwAAAa1AAAAAIAAAAAAAB11AAAAAAAAAADAFoAAAAEAWgAACQkAAAA AwBaAAAABAFoAAAkdAAAd3wAAHhoAAB4cAAAd5gAAHh4AAB3qAAAd7QAAHfAAAB3zAAAd9gAAAAA AAAAAAAAeIAAAHqAAAB4iAAAeJAAACAAAAB6hAAAeowAAHqQAAB6mAAAJfAAAHpwAAAAAwAAAAcA AAAAAAB6JAAAKJgAAHpcAAAAAwAAAAcAAAAAAAB6JAAAKOQAAHpIAAAAAwAAAAcAAAAAAAB6JAAA KTAAAHo4AAAAAwAAAAcAAAAAAAB6JAAAKXwAAHoQAAAAAwAAAAcAAAAAAAB6JAAAKcgAAAADAFAA AAAEAngAAC3sAAAAAgAAAAAAAHXUAAAAAAAAAAMAUAAAAAQCeAAAK8wAAAACAAAAAAAAefQAAAAA AAB5sAAAebwAAHnEAAB5zAAAedQAAHngAAB57AAAAAAAAHvwAAAAAQAAe/gAAAACAAAAAAAAAAAA AAACAAAAAAAAe9AAAAAAAAAAAQA8AAAAAHwkAAA59AAAAAIAAAAAAAB75AAAAAAAAAACAAAAAAAA AAAAADn0AAB8AAAAfAAAAHwAAAB8BAAAL7gAAH7IAAAAAQAAftgAAAACAAB+4AAAAAIAAH7kAAAA BwAAfuwAAAAHAAAAAAAAAAAAAH68AAAAAQAAfsQAAAADAAB2HAAAAAMAAH7QAAAABAAAAAAAAAAA AAB34AAAAAEAAIMIAAAAAQAAeoQAAAAFAAB+jAAAAAUAAHogAAAABgAAfpAAAAAHAAB+nAAAAAcA AH6gAAAACQAAfqwAAAAJAAB+tAAAAAoAAAAAAAAAAAAAfugAAAABAAB+iAAAAAIAAAAAAAAAAAAA AAIAAAAAAAB9/AAAAAAAAAACAAAAAAAAfkQAAAAAAAAAAgAAAAAAAH40AAAAAAAAAAIAAAAAAAB+ WAAAAAAAAAACAAAAAAAAfhwAAAAAAAB/EAAAfxgAAH8cAAB/JAAAOrAAAH7wAAAAAwAAABcAAAAA AAB+/AAAPgAAAAACAAAAAAAAe+QAAAAAAAAAAgAAAAAAAH5sAAAAAAAAAAIAAAAAAAB+WAAAAAAA AAACAAAAAAAAAAAAAD9EAAAAAgAAAAAAAAAAAABAKAAAe/AAAAAAAACC4AAAAAAAAILkAAAAAQAA fuAAAAACAAB+2AAAAAIAAILoAAAAAwAAgvAAAAADAACC9AAAAAQAAIL8AAAABAAAgwAAAAAFAACD DAAAAAUAAIMUAAAABgAAgyAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAAAAE1YAAAAAgAAAAAAAIK4 AAAAAAAAAAIAAAAAAAAAAAAAV9wAAAACAAAAAAAAAAAAAFmAAAAAAgAAAAAAAAAAAABWzAAAAAIA AAAAAAAAAAAAWGAAAAACAAAAAAAAAAAAAFMsAAAAAwooAAAABAXUAABQHAAAAAIAAAAAAAB7oAAA AAAAAIKQAABZ2AAAgpgAAFg0AACCoAAAWVQAAIKsAABXsAAAAAAAAAAAAACDKAAAgzAAAIM0AACD PAAAQywAAIJwAAB3oAAAgnwAAIKIAAAAAAAAAAEAPAAAAACGEAAAWmQAAIYIAACGCAAAe6AAAHug AABaMAAAiCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAh8AAAAAAAAAABAAAh8QAAAAAAAAABAAAh8gA AAAAAAAABAAAh8wAAAAAAAAABAAAh9AAAAAAAAAABAAAh9QAAAAAAAAABAAAh9gAAAAAAAAABAAA h9wAAAAAAAAABAAAh+AAAAAAAAAABAAAh+gAAAAAAAAABAAAh/AAAAAAAAAABAAAh/gAAAAAAAAA BAAAiAAAAAAAAAAABAAAiAgAAAAAAAAABAAAiBAAAAAAAAAABAAAiBgAAAAAAAAABAAAiBwAAAAA AAAABAAAAAAAAAAAAAAAAAAAZ+wAAGYkAAAAAQAAAAEAAAABVDMyRQ== ) HELP.FILTER.Add rtoslynx 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: Menu File for TRACE32 LynxOS Awareness ; @Description: - ; @Keywords: LynxOS menu awareness ; @Author: DIE ; @Copyright: (c) 1989-2024 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: lynx.m 10155 2024-05-28 13:02:40Z rdienstbeck $ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( add menu ( popup "&sHeader" ( default menuitem "Display &Processes" "TASK.&(sInfix)Process" menuitem "Display &Threads" "TASK.&(sInfix)Thread" menuitem "Display &Drivers" "TASK.&(sInfix)Driver" separator popup "&Process Debugging" ( menuitem "[:symbols]&Load Symbols..." ( dialog ( header "TASK.&(sInfix)sYmbol.LOAD" pos 0. 0. 26. 3. box "Process name" pos 1. 1. 16. 1. procl: defedit "" "" pos 18. 1. 7. 1. button "Browse..." ( PRIVATE &file dialog.file "*" ENTRY %line &file dialog.set procl "&file" ) pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &procl &procl=dialog.string(procl) TASK.&(sInfix)sYmbol.LOAD "&procl" dialog.end ) pos 17. 3. 7. 1. button "Cancel" "DIALOG.END" ) ) menuitem "[:symbols]&Delete Symbols..." ( dialog ( header "TASK.&(sInfix)sYmbol.DELete" pos 0. 0. 26. 3. box "Process name" pos 1. 1. 16. 1. procd: defedit "" "" pos 18. 1. 7. 1. button "Browse..." ( PRIVATE &file dialog.file "*" ENTRY %line &file dialog.set procd "&file" ) pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &procd &procd=dialog.string(procd) TASK.&(sInfix)sYmbol.DELete "&procd" dialog.end ) pos 17. 3. 7. 1. button "Cancel" "dialog.end" ) ) popup "&Watch Processes" ( menuitem "[:plus]&Add..." ( dialog ( header "Add Process to Watch" pos 0. 0. 24. 3. box "Process name" pos 1. 1. 22. 1. wproca: defedit "" "" pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &wproca &wproca=dialog.string(wproca) TASK.&(sInfix)Watch.View "&wproca" dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) menuitem "[:remove]&Remove..." ( dialog ( header "Delete Process from Watch" pos 0. 0. 24. 3. box "Process name" pos 1. 1. 22. 1. wprocd: defedit "" "" pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &wprocd &wprocd=dialog.string(wprocd) TASK.&(sInfix)Watch.DELete "&wprocd" dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) ) ) separator menuitem "Debug Driver on install..." ( dialog ( header "Debug Driver on install" pos 0. 0. 24. 3. box "Driver name (without .dldd)" pos 1. 1. 22. 1. ddrv: defhotedit "" ( if dialog.string(ddrv)!="" dialog.enable bok else dialog.disable bok ) pos 2. 3. 8. bok: defbutton "Ok" ( PRIVATE &ddrv &script &ddrv=dialog.string(ddrv) &script=OS.FILE.JOINPATH(TASK.&(sInfix)GETDIR(),"drv_debug.cmm") DO "&script" &ddrv dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) separator popup "S&ymbol Autoloader" ( menuitem "[:symbols]List Components" "sYmbol.AutoLoad.List" menuitem "[:init]Check Now!" "sYmbol.AutoLoad.CHECK" menuitem "[:config]Config..." "sYmbol.AutoLOAD.config" menuitem "[:objects]Components..." ( dialog ( header "TASK.sYmbol.Option AutoLoad" pos 0. 0. 25. proc: checkbox "Process (Processes)" ( if dialog.boolean(proc) TASK.&(sInfix)sYmbol.Option AutoLoad Process else TASK.&(sInfix)sYmbol.Option AutoLoad NoProcess ) ;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" ;) driv: checkbox "DRiVer (Drivers)" ( if dialog.boolean(driv) TASK.&(sInfix)sYmbol.Option AutoLoad DRiVer else TASK.&(sInfix)sYmbol.Option AutoLoad NoDRiVer ) ) dialog.set proc ((task.&(sInfix)y.o(autoload)&0x1)!=0) ;dialog.set lib ((task.&(sInfix)y.o(autoload)&0x2)!=0) ;dialog.set clib ((task.&(sInfix)y.o(autoload)&0x4)!=0) dialog.set driv ((task.&(sInfix)y.o(autoload)&0x8)!=0) ) ) ;separator ;popup "&Stack Coverage" ;( ; menuitem "&List Stacks" ; ( ; TASK.&(sInfix)STacK.PATtern 0xff ; TASK.&(sInfix)STacK ; ) ; menuitem "Add Thread" "TASK.&(sInfix)STacK.ADD" ; menuitem "Remove Thread" "TASK.&(sInfix)STacK.ReMove" ; menuitem "Reset Coverage" ; ( ; PRIVATE &yes ; DIALOG.YESNO "Overwrite unused stack space" "with stack fill pattern?" ; ENTRY &yes ; IF !&yes ; ENDDO ; TASK.&(sInfix)STacK.Init ; ) ;) ) 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 ) Break.Delete /Alpha Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) Break.Delete /Alpha /Beta /Charly Break.SetFunc Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) 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 "[:manual]OS Awareness Manual LynxOS" "HELP __RTOS_LYNX_" ) ) menu "task.&(sInfix)p" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Process &magic ) menuitem "Display process struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct pentry*)(&address) ) separator menuitem "Load Process Symbols" "TASK.&(sInfix)sYmbol.LOAD track.address()" menuitem "Delete Process Symbols" "TASK.&(sInfix)sYmbol.DELete track.address()" menuitem "Add to Watched Processes" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Watch.View &address ) menuitem "Delete from Watched Processes" "TASK.&(sInfix)Watch.DELete track.address()" separator menuitem "Dump process entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)t" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Thread &magic ) menuitem "Display thread struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct st_entry*)(&address) ) separator menuitem "Display Stack Frame" ( PRIVATE &magic &magic=address.offset(track.address()) Var.Frame /Locals /Caller /TASK &magic ) menuitem "Display Registers" ( PRIVATE &magic &magic=address.offset(track.address()) Register /TASK &magic ) menuitem "Switch Context" ( PRIVATE &magic &magic=address.offset(track.address()) Register.TASK &magic ) ;separator ;menuitem "Add to Stack Cov" ;( ; PRIVATE &thread ; &thread=address.offset(track.address()) ; TASK.&(sInfix)STacK.ADD &thread ;) ;menuitem "Rm from Stack Cov" ;( ; PRIVATE &thread ; &thread=address.offset(track.address()) ; TASK.&(sInfix)STacK.ReMove &thread ;) separator menuitem "Dump thread entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)d" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.Driver &magic ) menuitem "Display driver struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct driver_entry*)&address ) menuitem "Dump driver entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)w" ( default menuitem "Display Process" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Process &magic ) menuitem "Delete from List" "TASK.Watch.DELete track.address()" ) ) ) ) PMACRO.UNLOCK RETURN ) autoload_32bit: ;(options) ( PARAMETERS &sOptions sYmbol.AutoLOAD.CHECKEmBeDded &sOptions ( ; -------------------------------------------------------------------------------- ; @Title: Lynx Symbol Autoloader Script ; @Description: ; Symbol Autoloader script, called by TRACE32 if symbols are to be loaded. ; This script is part of the TRACE32 LynxOS Awareness. ; ; @Keywords: LynxOS autoloader awareness ; @Author: DIE ; @Copyright: (C) 1989-2024 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: autoload.cm 10188 2024-06-11 14:59:28Z rdienstbeck $ // define local macros PRIVATE &sLine PRIVATE &sParamName &nParamCodeAddress &nParamDataAddress &nParamSpace &nParamType &nParamMachine PRIVATE &sBasename &sSymbolFilepath &sSymbolFilename &sProgramName // get filename and relocation information // these parameters are passed from TRACE32 when calling this skript ENTRY %LINE &sLine &sParamName=STRing.SCANandExtract("&sLine","NAME=","") &nParamType=STRing.SCANandExtract("&sLine","TYPE=","0.") &nParamCodeAddress="0x"+STRing.SCANandExtract("&sLine","CODEADDRESS=0x","0") &nParamDataAddress="0x"+STRing.SCANandExtract("&sLine","DATAADDRESS=0x","0") &nParamSpace="0x"+STRing.SCANandExtract("&sLine","SPACEID=0x","0") &nParamMachine=STRing.SCANandExtract("&sLine","MACHINE=","") // strip quotes &sParamName=STRing.Replace("&sParamName","""","",0.) &nParamType=&nParamType &nParamCodeAddress=&nParamCodeAddress &nParamDataAddress=&nParamDataAddress &nParamSpace=&nParamSpace IF ("&nParamMachine"!="") &nParamMachine=&nParamMachine //PRINT "autoload: " &sParamName " " &nParamType " " &nParamCodeAddress " " &nParamDataAddress " " &nParamSpace " " &nParamMachine // &sParamName: name of process/file // &nParamType: type of file: 0=kernel, 1=process, 2=library, 3=driver // &nParamCodeAddress: text segment address // &nParamDataAddress: data segment address // &nParamSpace: space id of process // &nParamMachine: machine id of process // no processing for kernel IF (&(nParamType)==0.) ENDDO // check prerequisites IF !SYStem.Option.MMUSPACES() ( PRINT %ERROR "Error: autoloader requires SYStem.Option MMUSPACES ON as a prerequisite" ENDDO ) IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES) ( IF SYStem.Option.MACHINESPACES()&&("&nParamMachine"=="") ( PRINT %ERROR "Error: error in autoloader, please contact support@lauterbach.com" ENDDO ) ) // set space id to zero if not given IF "&nParamSpace"=="" &nParamSpace=0 // get symbol file name and program name &sBasename=STRing.CUT("&sParamName",-STRing.LENgth(OS.FILE.EXTENSION(&sParamName))) IF (&(nParamType)==1.) // processes ( &sProgramName=OS.FILE.NAME("&sParamName") &sSymbolFilename="&sParamName" ) IF ((&nParamType&0xff)==2.) // libraries ( &sProgramName=OS.FILE.NAME("&sBasename") &sSymbolFilename="&sParamName" if &nParamSpace!=0. SPRINTF &sProgramName "%s_%d" "&sProgramName" &nParamSpace ) // delete program if it already exists or other code is already there IF sYmbol.EXIST("\\&sProgramName") ( LOCAL &sProgramNameQuoted &sProgramNameQuoted="`\\&sProgramName`" sYmbol.Delete &sProgramNameQuoted ) GROUP.Delete "&sProgramName" // search file in source search path and open dialog when not there IF OS.FILE.EXTENSION("&sSymbolFilename")=="" ( // try .sym file &sSymbolFilepath=sYmbol.SEARCHFILE("&sSymbolFilename.sym") ) IF !OS.FILE("&sSymbolFilepath") ( // try plain process name &sSymbolFilepath=sYmbol.SEARCHFILE("&sSymbolFilename") ) IF !OS.FILE("&sSymbolFilepath") ( // file not found, ask for it LOCAL &sDialogFile &sSourcePath &sDialogFile=OS.FILE.NAME("&sSymbolFilename") WinPOS ,,,,,, filebox normal "Searching symbols for &sParamName" DIALOG.File "*\&sDialogFile.*" ENTRY %LINE &sSymbolFilepath IF "&sSymbolFilepath"=="" ENDDO &sSourcePath=OS.FILE.PATH("&sSymbolFilepath") sYmbol.SourcePATH.Set &sSourcePath ) // load symbol file IF (&(nParamType)==1.) // process ( PRIVATE &version &sAccess &sRange &version=task.lynxos(version) GOSUB getAccess "&nParamType" "&nParamSpace" "&nParamMachine" RETURNVALUES &sAccess IF (CPUFAMILY()=="POWERPC")&&((&version==31.)||(&version==20.)||(&version==21.)||(&version==22.)) ( ; LynxOS 3.1 or LynxOS-178 2.x on PowerPC Data.LOAD.XCOFF "&sSymbolFilepath" &sAccess /nocode /noclear /name &sProgramName ) ELSE ( ; LynxOS 4.x or LynxOS 5.0 or LynxOS-178 on Arm Data.LOAD.Elf "&sSymbolFilepath" &sAccess /cpp /nocode /noclear /name &sProgramName ) ;IF task.y.o(mmuscan)==1 // scan only if MMU.TABLEWALK not configured ; MMU.TaskPageTable.SCAN &space:0 &sRange="&sAccess"+"--0xffffffff" GROUP.Create "&sProgramName" &sRange /GREEN ) IF ((&nParamType&0xff)==2.) // libraries ( PRIVATE &sAccess GOSUB getAccess "(&nParamType&0xff)" "&nParamSpace" "&nParamMachine" "&nParamCodeAddress" RETURNVALUES &sAccess Data.LOAD.Elf "&sSymbolFilepath" &sAccess /nocode /noclear /name &sProgramName ) ENDDO ; -------------------------------------------------------------------------------- getAccess: ;(type, space, machine, [nOffset]) ( PRIVATE &sAccess PARAMETERS &nType &nSpace &nMachine &nOffset IF "&nOffset"=="" &nOffset=0x0 IF (&nType==(1.||2.)) ( ; Process OR Library IF "&nMachine"!="" ( &sAccess=TASK.MACHINE.ACCESS(&nMachine) IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZU" // running in Secure ELSE IF STRing.ComPare("&sAccess", "N*")||STRing.ComPare("&sAccess", "H*") &sAccess="NU" // running in NonSecure EL1 / NonSecure EL2 with VHE ELSE &sAccess="U" // no Trustzone with iAMP SPRINTF &sAccess "%s:%#x:::" "&sAccess" &nMachine ) ELSE ( IF STATE.MONITOR.RUN() ( &sAccess="U" ) ELSE IF PRACTICE.FUNCtion.AVAILable(TASK.ACCESS.ZONE) ( &sAccess=TASK.ACCESS.ZONE() IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZU" // running in Secure ELSE IF STRing.ComPare("&sAccess", "N*")||STRing.ComPare("&sAccess", "H*") &sAccess="NU" // running in NonSecure EL1 / NonSecure EL2 with VHE ELSE &sAccess="U" ) ELSE ( &sAccess="U" ) &sAccess="&(sAccess):" ) IF (&nType==(2.))&&("&nSpace"=="") SPRINTF &sAccess "%s%#x" "&sAccess" &nOffset ELSE SPRINTF &sAccess "%s%#x::%#x" "&sAccess" &nSpace &nOffset ) ELSE IF (&nType==3.) ( ; Modules IF "&nMachine"!="" ( &sAccess=TASK.MACHINE.ACCESS(&nMachine) IF STRing.ComPare("&sAccess", "ZH*") &sAccess="ZH" // running in Secure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZS" // running in Secure EL2 ELSE IF STRing.ComPare("&sAccess", "*H*")&&(ARMARCHVERSION()>=0x84) &sAccess="NH" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "*H*") &sAccess="H" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "N*") &sAccess="NS" // running in NonSecure EL1 ELSE &sAccess="S" // no Trustzone with iAMP SPRINTF &sAccess "%s:%#x:::" "&sAccess" &nMachine ) ELSE ( IF PRACTICE.FUNCtion.AVAILable(TASK.ACCESS.ZONE) ( &sAccess=TASK.ACCESS.ZONE() IF STRing.ComPare("&sAccess", "ZH*") &sAccess="ZH" // running in Secure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZS" // running in Secure EL2 ELSE IF STRing.ComPare("&sAccess", "*H*")&&(ARMARCHVERSION()>=0x84) &sAccess="NH" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "*H*") &sAccess="H" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "N*") &sAccess="NS" // running in NonSecure EL1 ELSE &sAccess="S" ) ELSE ( &sAccess="S" ) &sAccess="&(sAccess):" ) SPRINTF &sAccess "%s0x0::%#x" "&sAccess" &nOffset ) RETURN "&sAccess" ) ) RETURN ) extension_64bit: ; (options) ( PARAMETERS &sParameters &sOptions EXTension.LOAD &sParameters &sOptions ( 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 QIIBDDxgAAE4Y4EYSAAcgUgAHNE9IAAEgSkGLCwJAABBggDgPGAAAThjgRRIABxhPGAAAThjg9BI ABxVO5wAATv/ADg9IAAEgSk65HwJ4ABAgQEcgT0GMCwJAABBgv9If/77eICfACR/Q9N4SAAc4X9j 23hIABzliT8AACwJAABBgv8wf+P7eEgAHAVIABxVgT0GMCwJAABBgv8oSAAdQSwDAANAgv8kS/// GH8Dw3hIABvdS///KDhgAH5IABwZS///LDxgAAE4Y4EISAAbwUgAHBE9IAAEgSkGLCwJAABBggAU PGAAAThjgRRIABuhS///QDhgAH5IABvdS///6DhgAH5IABvRS///HH7Ds3hIABt9SAAbzT0gAASB KQYsLAkAAEGCADCBPgAwLAn//0GCADCAfgA0SAAbPTiAABCAfgAwSAAbYThgAABIABspS//+4Dhg AH5IABt9S///zH6jq3hIABspS///1IKhABSCwQAYguEAHIMBACCDIQAkg0EAKINhACyDgQAwg6EA NIABAER8CAOmg8EAOIPhADw4IQBAToAAIJQh/8B8CAKmkAEARD0gAASBKTroLAkAAEGCAJg9IAAE gSk6vCwJAABBggCYk+EAPD0gAASBKTrkLAkAAECBAeiSgQAQkqEAFJLBABiS4QAckwEAIJMhACST QQAok2EALJOBADCToQA0k8EAOD9AAAQ7WgeEO1oABH9e03g7oAAAf1nTeD9gAAQ7ezsAPuAAATr3 gXQ/AAABOxiBUD6gAAA6tXzEPsAAADrWfKxIAAB0PGAAAThjgABIABotSAABuD0gAASJKTsALAkA AECC/2A8YAABOGOBMEgAGg1IAAGYfsOzeEgAG0VIAACEf+T7eH6jq3hIABs1SAAAgH9k23h+47t4 SAAZ4Tu9AAE9IAAEgSk65DveADh8CegAQIEA3D0gAASBKTq8LAkAAEGCABCBXgAkfAlQAEGCACSJ OwAALAkAAEGC/8R/ZNt4f8PzeEgAF3UsAwAAQIL/sH/f83iAngA0LAQAAECC/3iBPwAsLAkAAECC /3g9IAAEgok65Dk9AAF8FEgAQIEAMB+UADg5Ov/If5xKFH/D83g74wA4OKAAOH/k+3hIABb5f+P7 eHwf4EBAgv/oPGAABDqU//+SgzrkOIAABDhjOuRIABqBOIACMH8jy3hIABp1PSAABICJOrwsBAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfoAAAABgAAAA0A AABOAAAn0gAAB+gAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT02THlueE9TAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAA AE1hZ2ljVG9JZDogbWFnaWM9JTh4LCBpZD0lZC4AAAAAQWxwaGEgQnJlYWtwb2ludHMgc2V0IG9u ICVkIHRhc2sgc3RhdGUgd29yZHMAAAAALS0tIFRocmVhZCBpZCA9ICVkLiwgbmFtZSA9IAAAAABj dXJydHB0cgAAAABjcHVfZGF0YQAAAABHZXRNYWdpYzogbWFnaWNhZGRyPSU4eABwYXJhbWV0ZXIg MTogMHglOHggPSAlcwBtYWdpYwAAAG1hZ2ljc2l6ZQAAAHVua25vd24gdG9waWMAAABseW54X3Jl bGVhc2UAAAAAY3VycnBwdHIAAAAAcHJvY3RhYgBzeXN0ZW1fbnByb2MAAAAAbnByb2MAAABzdF90 YWJsZQAAAABuc3Rhc2tzAG1heF9udW1fdm1zAHBhZ2VfdGFibGVzAF9fcGFnZV90YWJsZXMAAABz dHJ1Y3QgcGVudHJ5AAAALnBzdGF0ZQAuam9iAAAAAC5pAAAucG5hbWUAAC5waWQAAAAALnBncm91 cAAucHBpZAAAAHN0cnVjdCBzdF9lbnRyeQAudHN0YXRlAC50aWQAAAAALnRuYW1lAAAucHByaW8A AC5zdGFja3AALnNlbQAAAAAuc3RhY2sAAC5zdGFja2xlbgAAAC5zaWduYWxzAAAAAC5zaWdubWFz awAAAC5wcm9jZXNzAAAAAC52bV9vd25lcgAAAGRyaXZlcnMAc3RydWN0IGRyaXZlcl9lbnRyeQAu dXNlY291bnQAAAAuZGV2X3R5cGUAAAAubmFtZQAAAC5vcGVuAAAALmNsb3NlAAAucmVhZAAAAC53 cml0ZQAALnNlbGVjdAAuaW9jdGwAAC5pbnN0YWxsAAAAAC51bmluc3RhbGwAAC5tLnN0YXJ0AAAA AC5tLnNpemUALm0udGV4dAAudGV4dAAAAC5tLmRhdGEALmRhdGEAAAAubS5ic3MAAC5ic3MAAAAA cGFyYW1ldGVyczogMHglOHgsIDB4JTh4AAAAAHZlcnNpb24AU29ycnk6IENvdWxkbid0IGdldCBz eW1ib2wgYWRkcmVzc2VzAAAAAF9fRU1YWFhfQVQAAF9fRU1YWFhfQVMAAF9fRU1YWFhfQUwAAFRB U0suTE9HMlBIWVMAAABfX0VNTFlOWF9GVU5DAAAAVEFTSy5MWU5YT1MAVEFTSy5QUk9DLlNQQUNF AFRBU0suQ09ORklHAFRBU0tTVEFURQAAAFRBU0tTAAAAVEFTS1N0YXRlAAAAQCg9KV9fUlRPU19M WU5YX19UQVNLX1RBU0tTAEp1biAxMyAyMDI0AEx5bnhPUwAAQVJNNjQAAAD//46Q//+OSP//jpD/ /45g//+OgP//jnD//46APHByb2Nlc3M+AAAAdm0AAFRhc2suUHJvY2VzcyAleABUQVNLLlAAACoA AAAlNGQuIAAAACUzZC4gAAAAICU0eAAAAABjdXJyZW50ICAgAABmcmVlICAgICAgAAByZWFkeSAg ICAgAABzdG9wcGVkICAgAAB3YWl0aW5nICAgAABzdXNwZW5kZWQgAAB6b21iaWUgICAgAABlcnJv ciglMmQpIABtYWdpYyAgICAAAABwaWQgIAAAAHBwaWQAAAAAcHJpbwAAAABzcGFjZWlkAHNpZ25h bHMgAAAAAG1hc2sgICAgAAAAAHNlbSAgICAgIAAAAHN0YXRlICAgIAAAAG5hbWUAAAAAUFJPQ0VT UwBQcm9jZXNzAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19QAP//psz//6YI//+mbP//pnz//6aM//+m nP//pqz//6a8PHRocmVhZD4AAAAAVGFzay5UaHJlYWQgJXgAAFRBU0suVAAAJTRkLgAAAAAlM2Qu AAAAACU1ZC4AAAAAOgAAAHRpZCAgAAAAcGlkIAAAAABzdGtsZW4AAFRIUkVBRAAAVGhyZWFkAABA KD0pX19SVE9TX0xZTlhfX1RBU0tfVAD//6t8//+qlP//qxz//6ss//+rPP//q0z//6tc//+rbDxk cml2ZXI+AAAAAFRhc2suRHJpdmVyICV4AABUQVNLLkQAAGNoYXIAAAAAYmxvY2sAAAB1bnVzZWQA ACglZC4pAAAAJXMAAG5kcml2cwAAJXMgIAAAAABEYXRhLkxpc3QgJXgAAAAAZnVuY3Rpb24gICBh ZGRyZXNzICAgIGxhYmVsCgAAAABvcGVuICAgICAAAABjbG9zZSAgICAAAAByZWFkICAgICAAAAB3 cml0ZSAgICAAAABzZWxlY3QgICAAAABpb2N0bCAgICAAAABpbnN0YWxsICAAAAB1bmluc3RhbGwA AABtYWdpYyAgIAAAAAAgaWQgAAAAAHR5cGUgAAAAdXNlIAAAAABzdGFydCAgICAAAABzaXplICAg ICAAAABuYW1lIAAAAFNvcnJ5OiBDb3VsZG4ndCBmaW5kIGRyaXZlcgBUQVNLLkRSSVZFUi5JTlNU QUxMAF9fUlRPU19MWU5YX19GVU5DAAAAVEFTSy5EUklWRVIuQlNTAFRBU0suRFJJVkVSLkRBVEEA AAAAVEFTSy5EUklWRVIuVEVYVAAAAABUQVNLLkRSSVZFUi5TVEFSVAAAAERSSVZFUgAARAAAAERy aXZlcgAAQCg9KV9fUlRPU19MWU5YX19UQVNLX0QAPGtleT4AAAA8YmFzZT4AADxzaXplPgAAICAg ICAgICAgICAlOHggIChwYWdlX3RhYmxlcykKAABNTVUuQ0lEIDB4JXg6MCAweCV4ACUzZC4gICAg ICU4eAAAAAAgICU0eDp4eHh4eHh4eAoAJTNkLiAgICU4eAAAICAlNHg6JTN4eHh4eHgKACAgICAg ICAgIAAAACUzZC4gJTh4ICAAACU0eDolNXh4eHgAACAgJTh4CgAATU1VLkMgMHgleDoweCV4Kysw RkZGICV4AAAAACAgICAgICAgICAgJTh4ICAoX19wYWdlX3RhYmxlcykKAAAAAHNwYWNlIGlkICVk LiBzY2FubmVkAAAAAHRhc2sgbW11IHNjYW5uZWQAAAAAcHJvY2VzcyBub3QgZm91bmQAAABrZXkg bWlzc2luZwBWSUVXAAAAAFNDQU4AAAAATU1VAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19NTVVfU0NB TgAAICAgICAgICMgICAgICBlbnRyeSAgICAgICBpZDplYSAgICAgICAgcmEAAABwcm9jZXNzADxv cHRpb24+AAAAADxjb21tYW5kPgAAAGNvbXBvbmVudAAAADxvbi9vZmY+AAAAAGF1dG9sb2FkAAAA AG1tdXNjYW4AeS5hbC5jaGVjawAAeS5hbC50b3VjaCAiJXMiAFN5bWJvbCBsb2FkIG9mIHByb2Nl c3MgJXMgdHJpZ2dlcmVkLgAAAABcXCVzXC50ZXh0AABkb0RlbFByb2M6IGFyZ3N0cmluZz0lcyBz cGFjZWlkPSVkLgBTeW1ib2xzIG9mIHByb2Nlc3MgJXMgbm90IGZvdW5kLgAAAABNTVUuRCAleDow LS0weGZmZmZmZmZmAAB5LmQgXFwlcwAAAAB5LmFsLmNsZWFyICIlcyIAUHJvY2VzcyAlcyBzeW1i b2xzIGRlbGV0ZWQuACEhQ291bGQgbm90IGdldCBMeW54T1MgdmVyc2lvbiEARC5MT0FELkVMRiAl cyAleDowIC9jcHAgL25vY29kZSAvbm9jbGVhciAAAABELkxPQUQuWENPRkYgJXMgJXg6MCAvY3Bw IC9ub2NvZGUgL25vY2xlYXIgAGtleTogTE9BRENNRHxBdXRvTG9hZHxNTVVTQ0FOAAAATU1VIHNj YW4gb3B0aW9uIHNldC4AAAAAYXV0b2xvYWRlciBzZXQuAGxvYWQgY29tbWFuZCBzZXQuAAAAcGFy YW1ldGVyIG1pc3NpbmcAAABTb3JyeTogcHJvY2VzcyBub3QgZm91bmQuAAAAT0ZGAERSVgBOT1BS T0NFU1MAAABOUAAATk9EUklWRVIAAAAATkRSVgAAAABOT05FAAAAAExPQURDTUQAQVVUT0xPQUQA AAAATU1VU0NBTgBERUxFVEUAAERFTABPUFRJT04AAE8AAABUQVNLLlkuTwAAAABfUlRPU19MWU5Y X19GVU5DAAAAAFNZTUJPTAAAWQAAAHNZbWJvbAAAQCg9KV9fUlRPU19MWU5YX19UQVNLX1kA//++ LP//vhz//75U//++aP//viz//758//++kP//vqD//760//++yP//vtxAKD0pX19SVE9TX0xZTlhf X1RBU0tfWV9PAAAAQCg9KV9fUlRPU19MWU5YX19UQVNLX1lfREVMAEAoPSlfX1JUT1NfTFlOWF9f VEFTS19ZX0xPQUQAAAAARC5MT0FELlhDT0ZGICVzICV4OjAgL2NwcCAvbm9jb2RlIC9ub2NsZWFy IABELkxPQUQuRUxGICVzICV4OjAgL2NwcCAvbm9jb2RlIC9ub2NsZWFyIAAAAGAuZXhlY3VzZXJg AGAuY3R4X2V4ZWN1c2VyYABgY3R4X2V4ZWN1c2VyYAAAXFwlc1xHbG9iYWxcbWFpbgAAAABcXCVz XCVzXG1haW4AAAAAYi5kIDB4JXgAAAAAYi5zIDB4JXgAAAAAR28AAGIAAABQcm9jZXNzIHdhdGNo IHZpZXcgbm90IG9wZW5lZAAAAFBsZWFzZSBzcGVjaWZ5IGEgcHJvY2VzcwAAAABNYXguIG51bWJl ciBvZiB3YXRjaGVkIHByb2Nlc3NlcyByZWFjaGVkAAAAAFByb2Nlc3MgYWxyZWFkeSBpbiB3YXRj aCBsaXN0AAAAYWRkV2F0Y2g6IGFkZGVkICU4eABiLnMgMHgleCAAAABQcm9jZXNzICVzIGFkZGVk IHRvIHdhdGNoIGxpc3QAAFByb2Nlc3MgJTh4IGFkZGVkIHRvIHdhdGNoIGxpc3QAVEFTSy5Qcm9j ZXNzICV4AFRBU0suVwAAICAtLQAAAABubyBwcm9jZXNzAAAgLS0Abm8gc3ltYm9scwAAbG9hZGVk AAA/Pz8AUGxlYXNlIHNwZWNpZnkgYSBwcm9jZXNzIG5hbWUAAABQcm9jZXNzICU4eCByZW1vdmVk IGZyb20gd2F0Y2ggbGlzdABQcm9jZXNzICVzIHJlbW92ZWQgZnJvbSB3YXRjaCBsaXN0AABiLmQg MHgleCAAAABCdXR0b24gRElTYWJsZUJQAAAAAEJ1dHRvbiBESVNhYmxlAABCdXR0b24gRU5hYmxl QlAAQnV0dG9uIEVOYWJsZQAAAHByb2Nlc3MgICAgAHN0YXRlICAgICAAAGVudHJ5IAAARU5hYmxl AABESVNhYmxlAEVOYWJsZUJQAAAAAERJU2FibGVCUAAAAHByb2Nlc3MgZXhlY3V0aW9uIGJyZWFr cG9pbnQgbm90IGZvdW5kLgBWAAAAQUREAERJU0FCTEUARElTAEVOQUJMRQAARU4AAERJU0FCTEVC UAAAAERJU0JQAAAARU5BQkxFQlAAAAAARU5CUAAAAABXQVRDSAAAAFcAAABXYXRjaAAAAEAoPSlf X1JUT1NfTFlOWF9fVEFTS19XAP//wUz//8MY///A/P//wQz//8Ec///BLP//wTxAKD0pX19SVE9T X0xZTlhfX1RBU0tfV19FTkJQAAAAAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19XX0VOAABAKD0pX19S VE9TX0xZTlhfX1RBU0tfV19ESVNCUAAAAEAoPSlfX1JUT1NfTFlOWF9fVEFTS19XX0RJUwBAKD0p X19SVE9TX0xZTlhfX1RBU0tfV19ERUwAQCg9KV9fUlRPU19MWU5YX19UQVNLX1dfQUREAEAoPSlf X1JUT1NfTFlOWF9fVEFTS19XX1YAAABNVEQgTHlueE9TIFZlcnNpb24gJXMgICVzICAKCgAAAG1h Z2ljICAgICAgICAgICAgJTh4ICAlOHggIAAKY3VycmVudCBwcm9jZXNzICAlOHggICU4eCAgAAAA AHByb2Nlc3MgdGFibGUgICAgJTh4ICAAACU4eCAgAAAAPyAgICAgICAgIAAAbnVtIHByb2NzICAg ICAgICAlOHggICU4eCAgAAp0aHJlYWQgdGFibGUgICAgICU4eCAgJTh4ICAAAAAAbnVtIHRocmVh ZHMgICAgICAlOHggIAAAbnVtIHZtcyAgICAgICAgICAlOHggIAAAcGFnZSB0YWJsZXMgICAgICAl OHggICAgICAgICAgICAAAAAAcGFnZSB0YWJsZXMgMiAgICAlOHggICAgICAgICAgICAAAAAAZHJp dmVycyAgICAgICAgICAlOHggIAAAc2l6ZW9mIGRyaXZlciAgICAlOHggIAAAICAgICAgICAgIAoA bHlueF9vc25hbWUATHlueE9TIG5hbWUgICAgICAlOHggICAgICAgICAgICAAAAAACkx5bnhPUyB2 ZXJzaW9uICAgJTh4ICAgICAgKCUyZCkgIAAAVEVTVAAAAABhcmd1bWVudCAgICAgICAgIHZhbHVl ICAgICBjb250ZW50ICAgc3ltYm9sAC4lZABnZXRUYXNrVHJhY2VJZDogbWFnaWM9JTh4LCBqb2I9 JTh4AABUcmFuc2xhdGlvbkxpc3Q6IGVudHJ5AABUcmFuc2xhdGlvbkxpc3Q6IHBhcl9zZXR1cCBm YWlsZWQAAABUcmFuc2xhdGlvbkxpc3Q6IHN5bWJvbCBwYWdlX3RhYmxlcyBtaXNzaW5nAFRyYW5z bGF0aW9uTGlzdDogam9iPSVkAFRyYW5zbGF0aW9uTGlzdDogcGd0YWIocGFyX3BhZ2V0YWIpPT0l OHgAAAAAVHJhbnNsYXRpb25MaXN0OiBwZ3RhYihwYXJfcGFnZXRhYjIpPT0lOHgAAABUcmFuc2xh dGlvbkxpc3Q6IGpvYj0lOHgsIEwxVEI9JTh4AABUcmFuc2xhdGlvbkxpc3Q6IGV4aXQAAABoYXJk d2FyZXRocmVhZAAAaW5pdE1vZHVsZUxpc3Q6IGVudHJ5AAAAaW5pdE1vZHVsZUxpc3Q6IGV4aXQA AAAAZ2V0TW9kdWxlSW5mbzogbWFnaWM9MHglOHgsIHR5cGU9JWQuAAAAAHN0cnVjdCBwZW50cnku aQBzdF90LnBhZGRyAABzdF90LnBsaW1pdABnZXRNb2R1bGVJbmZvOiBtYWdpYyAlOHgsIGNvZGVh ZGRyICU4eCwgc3BhY2VpZCAleCwgbmFtZSAlcwBnZXRNb2R1bGVMaXN0OiBzdXBlcm1hZ2ljPSU4 eAAAAGdldE1vZHVsZUxpc3Q6IHByb2Nlc3M9JXgsIGlfbW9kPSVkAGdldE1vZHVsZUxpc3Q6IGxp YnJhcmllcyBmb3IgcHJvY2Vzcz0leABnZXRNb2R1bGVMaXN0OiBkcml2ZXJzLgBnZXRNb2R1bGVM aXN0OiBkcml2ZXI9JXgsIGlfbW9kPSVkAERBVEEAAHXcAAB16AAAdfAAAHX8AAAAJAAAddAAAAAD AAAAFwAAAAAAAHWkAAAH+AAAdcAAAAADAAAAFwAAAAAAAHWkAAAZgAAAdbQAAAADAAAAFwAAAAAA AHWkAAAVcAAAdZQAAAADAAAAAwAAAAMAAHWkAAAVGAAAdYgAABRwAAB1fAAAFJwAAHVwAAAU8AAA dhgAAHYkAAB2LAAAAAAAAAACAAAAAAAAdUgAAAAAAAAAAgAAAAAAAAAAAAABOAAAAkAAAAKcAAAA AgAAAAAAAHVIAAAAAAAAAAMAWgAAAAQA9AAAHoQAAAADAFoAAAAEAPQAAB7UAAB29AAAdwAAAHcI AAB3EAAAdxgAAHcgAAB3LAAAdzgAAHdEAAB3UAAAAAAAAAAAAAB3WAAAgoAAAHdgAAB3aAAAGtQA AAACAAAAAAAAdUgAAAAAAAAAAwBaAAAABAFoAAAkJAAAAAMAWgAAAAQBaAAAJHQAAHb0AAB34AAA d+gAAHcQAAB38AAAdyAAAHcsAAB3OAAAd0QAAHdQAAAAAAAAAAAAAHf4AAB5+AAAeAAAAHgIAAAg AAAAefwAAHoEAAB6CAAAehAAACXwAAB56AAAAAMAAAAHAAAAAAAAeZwAACiYAAB51AAAAAMAAAAH AAAAAAAAeZwAACjkAAB5wAAAAAMAAAAHAAAAAAAAeZwAACkwAAB5sAAAAAMAAAAHAAAAAAAAeZwA ACl8AAB5iAAAAAMAAAAHAAAAAAAAeZwAACnIAAAAAwBQAAAABAJ4AAAt7AAAAAIAAAAAAAB1SAAA AAAAAAADAFAAAAAEAngAACvMAAAAAgAAAAAAAHlsAAAAAAAAeSgAAHk0AAB5PAAAeUQAAHlMAAB5 WAAAeWQAAAAAAAB7aAAAAAEAAHtwAAAAAgAAAAAAAAAAAAAAAgAAAAAAAHtIAAAAAAAAAAEAPAAA AAB7nAAAOfQAAAACAAAAAAAAe1wAAAAAAAAAAgAAAAAAAAAAAAA59AAAe3gAAHt4AAB7eAAAe3wA AC+4AAB+QAAAAAEAAH5QAAAAAgAAflgAAAACAAB+XAAAAAcAAH5kAAAABwAAAAAAAAAAAAB+NAAA AAEAAH48AAAAAwAAdZAAAAADAAB+SAAAAAQAAAAAAAAAAAAAd1gAAAABAACCgAAAAAEAAHn8AAAA BQAAfgQAAAAFAAB5mAAAAAYAAH4IAAAABwAAfhQAAAAHAAB+GAAAAAkAAH4kAAAACQAAfiwAAAAK AAAAAAAAAAAAAH5gAAAAAQAAfgAAAAACAAAAAAAAAAAAAAACAAAAAAAAfXQAAAAAAAAAAgAAAAAA AH28AAAAAAAAAAIAAAAAAAB9rAAAAAAAAAACAAAAAAAAfdAAAAAAAAAAAgAAAAAAAH2UAAAAAAAA fogAAH6QAAB+lAAAfpwAADqwAAB+aAAAAAMAAAAXAAAAAAAAfnQAAD4AAAAAAgAAAAAAAHtcAAAA AAAAAAIAAAAAAAB95AAAAAAAAAACAAAAAAAAfdAAAAAAAAAAAgAAAAAAAAAAAAA/RAAAAAIAAAAA AAAAAAAAQCgAAHtoAAAAAAAAglgAAAAAAACCXAAAAAEAAH5YAAAAAgAAflAAAAACAACCYAAAAAMA AIJoAAAAAwAAgmwAAAAEAACCdAAAAAQAAIJ4AAAABQAAgoQAAAAFAACCjAAAAAYAAIKYAAAABgAA AAAAAAAAAAAAAgAAAAAAAAAAAABNWAAAAAIAAAAAAACCMAAAAAAAAAACAAAAAAAAAAAAAFfcAAAA AgAAAAAAAAAAAABZgAAAAAIAAAAAAAAAAAAAVswAAAACAAAAAAAAAAAAAFhgAAAAAgAAAAAAAAAA AABTLAAAAAMKKAAAAAQF1AAAUBwAAAACAAAAAAAAexgAAAAAAACCCAAAWdgAAIIQAABYNAAAghgA AFlUAACCJAAAV7AAAAAAAAAAAAAAgqAAAIKoAACCrAAAgrQAAEMsAACB6AAAdxgAAIH0AACCAAAA AAAAAAABADwAAAAAhYgAAFpkAACFgAAAhYAAAHsYAAB7GAAAWjAAAIbwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAGdgAABlmAAAAAEAAAABAAAAAVQzMkU= ) HELP.FILTER.Add rtoslynx 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: Menu File for TRACE32 LynxOS Awareness ; @Description: - ; @Keywords: LynxOS menu awareness ; @Author: DIE ; @Copyright: (c) 1989-2024 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: lynx.m 10155 2024-05-28 13:02:40Z rdienstbeck $ NAME "TASK.&sMenuName" IF !MENU.EXIST("TASK.&sMenuName") ( add menu ( popup "&sHeader" ( default menuitem "Display &Processes" "TASK.&(sInfix)Process" menuitem "Display &Threads" "TASK.&(sInfix)Thread" menuitem "Display &Drivers" "TASK.&(sInfix)Driver" separator popup "&Process Debugging" ( menuitem "[:symbols]&Load Symbols..." ( dialog ( header "TASK.&(sInfix)sYmbol.LOAD" pos 0. 0. 26. 3. box "Process name" pos 1. 1. 16. 1. procl: defedit "" "" pos 18. 1. 7. 1. button "Browse..." ( PRIVATE &file dialog.file "*" ENTRY %line &file dialog.set procl "&file" ) pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &procl &procl=dialog.string(procl) TASK.&(sInfix)sYmbol.LOAD "&procl" dialog.end ) pos 17. 3. 7. 1. button "Cancel" "DIALOG.END" ) ) menuitem "[:symbols]&Delete Symbols..." ( dialog ( header "TASK.&(sInfix)sYmbol.DELete" pos 0. 0. 26. 3. box "Process name" pos 1. 1. 16. 1. procd: defedit "" "" pos 18. 1. 7. 1. button "Browse..." ( PRIVATE &file dialog.file "*" ENTRY %line &file dialog.set procd "&file" ) pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &procd &procd=dialog.string(procd) TASK.&(sInfix)sYmbol.DELete "&procd" dialog.end ) pos 17. 3. 7. 1. button "Cancel" "dialog.end" ) ) popup "&Watch Processes" ( menuitem "[:plus]&Add..." ( dialog ( header "Add Process to Watch" pos 0. 0. 24. 3. box "Process name" pos 1. 1. 22. 1. wproca: defedit "" "" pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &wproca &wproca=dialog.string(wproca) TASK.&(sInfix)Watch.View "&wproca" dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) menuitem "[:remove]&Remove..." ( dialog ( header "Delete Process from Watch" pos 0. 0. 24. 3. box "Process name" pos 1. 1. 22. 1. wprocd: defedit "" "" pos 2. 3. 7. 1. defbutton "Ok" ( PRIVATE &wprocd &wprocd=dialog.string(wprocd) TASK.&(sInfix)Watch.DELete "&wprocd" dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) ) ) separator menuitem "Debug Driver on install..." ( dialog ( header "Debug Driver on install" pos 0. 0. 24. 3. box "Driver name (without .dldd)" pos 1. 1. 22. 1. ddrv: defhotedit "" ( if dialog.string(ddrv)!="" dialog.enable bok else dialog.disable bok ) pos 2. 3. 8. bok: defbutton "Ok" ( PRIVATE &ddrv &script &ddrv=dialog.string(ddrv) &script=OS.FILE.JOINPATH(TASK.&(sInfix)GETDIR(),"drv_debug.cmm") DO "&script" &ddrv dialog.end ) pos 15. 3. 7. 1. button "Cancel" "dialog.end" ) ) separator popup "S&ymbol Autoloader" ( menuitem "[:symbols]List Components" "sYmbol.AutoLoad.List" menuitem "[:init]Check Now!" "sYmbol.AutoLoad.CHECK" menuitem "[:config]Config..." "sYmbol.AutoLOAD.config" menuitem "[:objects]Components..." ( dialog ( header "TASK.sYmbol.Option AutoLoad" pos 0. 0. 25. proc: checkbox "Process (Processes)" ( if dialog.boolean(proc) TASK.&(sInfix)sYmbol.Option AutoLoad Process else TASK.&(sInfix)sYmbol.Option AutoLoad NoProcess ) ;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" ;) driv: checkbox "DRiVer (Drivers)" ( if dialog.boolean(driv) TASK.&(sInfix)sYmbol.Option AutoLoad DRiVer else TASK.&(sInfix)sYmbol.Option AutoLoad NoDRiVer ) ) dialog.set proc ((task.&(sInfix)y.o(autoload)&0x1)!=0) ;dialog.set lib ((task.&(sInfix)y.o(autoload)&0x2)!=0) ;dialog.set clib ((task.&(sInfix)y.o(autoload)&0x4)!=0) dialog.set driv ((task.&(sInfix)y.o(autoload)&0x8)!=0) ) ) ;separator ;popup "&Stack Coverage" ;( ; menuitem "&List Stacks" ; ( ; TASK.&(sInfix)STacK.PATtern 0xff ; TASK.&(sInfix)STacK ; ) ; menuitem "Add Thread" "TASK.&(sInfix)STacK.ADD" ; menuitem "Remove Thread" "TASK.&(sInfix)STacK.ReMove" ; menuitem "Reset Coverage" ; ( ; PRIVATE &yes ; DIALOG.YESNO "Overwrite unused stack space" "with stack fill pattern?" ; ENTRY &yes ; IF !&yes ; ENDDO ; TASK.&(sInfix)STacK.Init ; ) ;) ) 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 ) Break.Delete /Alpha Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) Break.Delete /Alpha /Beta /Charly Break.SetFunc Break.Set task.config(magic)++(task.config(magicsize)-1) /Alpha ) 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 ) 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 "[:manual]OS Awareness Manual LynxOS" "HELP __RTOS_LYNX_" ) ) menu "task.&(sInfix)p" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Process &magic ) menuitem "Display process struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct pentry*)(&address) ) separator menuitem "Load Process Symbols" "TASK.&(sInfix)sYmbol.LOAD track.address()" menuitem "Delete Process Symbols" "TASK.&(sInfix)sYmbol.DELete track.address()" menuitem "Add to Watched Processes" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Watch.View &address ) menuitem "Delete from Watched Processes" "TASK.&(sInfix)Watch.DELete track.address()" separator menuitem "Dump process entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)t" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Thread &magic ) menuitem "Display thread struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct st_entry*)(&address) ) separator menuitem "Display Stack Frame" ( PRIVATE &magic &magic=address.offset(track.address()) Var.Frame /Locals /Caller /TASK &magic ) menuitem "Display Registers" ( PRIVATE &magic &magic=address.offset(track.address()) Register /TASK &magic ) menuitem "Switch Context" ( PRIVATE &magic &magic=address.offset(track.address()) Register.TASK &magic ) ;separator ;menuitem "Add to Stack Cov" ;( ; PRIVATE &thread ; &thread=address.offset(track.address()) ; TASK.&(sInfix)STacK.ADD &thread ;) ;menuitem "Rm from Stack Cov" ;( ; PRIVATE &thread ; &thread=address.offset(track.address()) ; TASK.&(sInfix)STacK.ReMove &thread ;) separator menuitem "Dump thread entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)d" ( default menuitem "Display detailed" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.Driver &magic ) menuitem "Display driver struct" ( PRIVATE &address &address=track.address() Var.View %Open %String (struct driver_entry*)&address ) menuitem "Dump driver entry" ( PRIVATE &address &address=track.address() Data.dump &address /Long /DIALOG ) ) menu "task.&(sInfix)w" ( default menuitem "Display Process" ( PRIVATE &magic &magic=address.offset(track.address()) TASK.&(sInfix)Process &magic ) menuitem "Delete from List" "TASK.Watch.DELete track.address()" ) ) ) ) PMACRO.UNLOCK RETURN ) autoload_64bit: ;(options) ( PARAMETERS &sOptions sYmbol.AutoLOAD.CHECKEmBeDded &sOptions ( ; -------------------------------------------------------------------------------- ; @Title: Lynx Symbol Autoloader Script ; @Description: ; Symbol Autoloader script, called by TRACE32 if symbols are to be loaded. ; This script is part of the TRACE32 LynxOS Awareness. ; ; @Keywords: LynxOS autoloader awareness ; @Author: DIE ; @Copyright: (C) 1989-2024 Lauterbach GmbH, licensed for use with TRACE32(R) only ; -------------------------------------------------------------------------------- ; $Id: autoload.cm 10188 2024-06-11 14:59:28Z rdienstbeck $ // define local macros PRIVATE &sLine PRIVATE &sParamName &nParamCodeAddress &nParamDataAddress &nParamSpace &nParamType &nParamMachine PRIVATE &sBasename &sSymbolFilepath &sSymbolFilename &sProgramName // get filename and relocation information // these parameters are passed from TRACE32 when calling this skript ENTRY %LINE &sLine &sParamName=STRing.SCANandExtract("&sLine","NAME=","") &nParamType=STRing.SCANandExtract("&sLine","TYPE=","0.") &nParamCodeAddress="0x"+STRing.SCANandExtract("&sLine","CODEADDRESS=0x","0") &nParamDataAddress="0x"+STRing.SCANandExtract("&sLine","DATAADDRESS=0x","0") &nParamSpace="0x"+STRing.SCANandExtract("&sLine","SPACEID=0x","0") &nParamMachine=STRing.SCANandExtract("&sLine","MACHINE=","") // strip quotes &sParamName=STRing.Replace("&sParamName","""","",0.) &nParamType=&nParamType &nParamCodeAddress=&nParamCodeAddress &nParamDataAddress=&nParamDataAddress &nParamSpace=&nParamSpace IF ("&nParamMachine"!="") &nParamMachine=&nParamMachine //PRINT "autoload: " &sParamName " " &nParamType " " &nParamCodeAddress " " &nParamDataAddress " " &nParamSpace " " &nParamMachine // &sParamName: name of process/file // &nParamType: type of file: 0=kernel, 1=process, 2=library, 3=driver // &nParamCodeAddress: text segment address // &nParamDataAddress: data segment address // &nParamSpace: space id of process // &nParamMachine: machine id of process // no processing for kernel IF (&(nParamType)==0.) ENDDO // check prerequisites IF !SYStem.Option.MMUSPACES() ( PRINT %ERROR "Error: autoloader requires SYStem.Option MMUSPACES ON as a prerequisite" ENDDO ) IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES) ( IF SYStem.Option.MACHINESPACES()&&("&nParamMachine"=="") ( PRINT %ERROR "Error: error in autoloader, please contact support@lauterbach.com" ENDDO ) ) // set space id to zero if not given IF "&nParamSpace"=="" &nParamSpace=0 // get symbol file name and program name &sBasename=STRing.CUT("&sParamName",-STRing.LENgth(OS.FILE.EXTENSION(&sParamName))) IF (&(nParamType)==1.) // processes ( &sProgramName=OS.FILE.NAME("&sParamName") &sSymbolFilename="&sParamName" ) IF ((&nParamType&0xff)==2.) // libraries ( &sProgramName=OS.FILE.NAME("&sBasename") &sSymbolFilename="&sParamName" if &nParamSpace!=0. SPRINTF &sProgramName "%s_%d" "&sProgramName" &nParamSpace ) // delete program if it already exists or other code is already there IF sYmbol.EXIST("\\&sProgramName") ( LOCAL &sProgramNameQuoted &sProgramNameQuoted="`\\&sProgramName`" sYmbol.Delete &sProgramNameQuoted ) GROUP.Delete "&sProgramName" // search file in source search path and open dialog when not there IF OS.FILE.EXTENSION("&sSymbolFilename")=="" ( // try .sym file &sSymbolFilepath=sYmbol.SEARCHFILE("&sSymbolFilename.sym") ) IF !OS.FILE("&sSymbolFilepath") ( // try plain process name &sSymbolFilepath=sYmbol.SEARCHFILE("&sSymbolFilename") ) IF !OS.FILE("&sSymbolFilepath") ( // file not found, ask for it LOCAL &sDialogFile &sSourcePath &sDialogFile=OS.FILE.NAME("&sSymbolFilename") WinPOS ,,,,,, filebox normal "Searching symbols for &sParamName" DIALOG.File "*\&sDialogFile.*" ENTRY %LINE &sSymbolFilepath IF "&sSymbolFilepath"=="" ENDDO &sSourcePath=OS.FILE.PATH("&sSymbolFilepath") sYmbol.SourcePATH.Set &sSourcePath ) // load symbol file IF (&(nParamType)==1.) // process ( PRIVATE &version &sAccess &sRange &version=task.lynxos(version) GOSUB getAccess "&nParamType" "&nParamSpace" "&nParamMachine" RETURNVALUES &sAccess IF (CPUFAMILY()=="POWERPC")&&((&version==31.)||(&version==20.)||(&version==21.)||(&version==22.)) ( ; LynxOS 3.1 or LynxOS-178 2.x on PowerPC Data.LOAD.XCOFF "&sSymbolFilepath" &sAccess /nocode /noclear /name &sProgramName ) ELSE ( ; LynxOS 4.x or LynxOS 5.0 or LynxOS-178 on Arm Data.LOAD.Elf "&sSymbolFilepath" &sAccess /cpp /nocode /noclear /name &sProgramName ) ;IF task.y.o(mmuscan)==1 // scan only if MMU.TABLEWALK not configured ; MMU.TaskPageTable.SCAN &space:0 &sRange="&sAccess"+"--0xffffffff" GROUP.Create "&sProgramName" &sRange /GREEN ) IF ((&nParamType&0xff)==2.) // libraries ( PRIVATE &sAccess GOSUB getAccess "(&nParamType&0xff)" "&nParamSpace" "&nParamMachine" "&nParamCodeAddress" RETURNVALUES &sAccess Data.LOAD.Elf "&sSymbolFilepath" &sAccess /nocode /noclear /name &sProgramName ) ENDDO ; -------------------------------------------------------------------------------- getAccess: ;(type, space, machine, [nOffset]) ( PRIVATE &sAccess PARAMETERS &nType &nSpace &nMachine &nOffset IF "&nOffset"=="" &nOffset=0x0 IF (&nType==(1.||2.)) ( ; Process OR Library IF "&nMachine"!="" ( &sAccess=TASK.MACHINE.ACCESS(&nMachine) IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZU" // running in Secure ELSE IF STRing.ComPare("&sAccess", "N*")||STRing.ComPare("&sAccess", "H*") &sAccess="NU" // running in NonSecure EL1 / NonSecure EL2 with VHE ELSE &sAccess="U" // no Trustzone with iAMP SPRINTF &sAccess "%s:%#x:::" "&sAccess" &nMachine ) ELSE ( IF STATE.MONITOR.RUN() ( &sAccess="U" ) ELSE IF PRACTICE.FUNCtion.AVAILable(TASK.ACCESS.ZONE) ( &sAccess=TASK.ACCESS.ZONE() IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZU" // running in Secure ELSE IF STRing.ComPare("&sAccess", "N*")||STRing.ComPare("&sAccess", "H*") &sAccess="NU" // running in NonSecure EL1 / NonSecure EL2 with VHE ELSE &sAccess="U" ) ELSE ( &sAccess="U" ) &sAccess="&(sAccess):" ) IF (&nType==(2.))&&("&nSpace"=="") SPRINTF &sAccess "%s%#x" "&sAccess" &nOffset ELSE SPRINTF &sAccess "%s%#x::%#x" "&sAccess" &nSpace &nOffset ) ELSE IF (&nType==3.) ( ; Modules IF "&nMachine"!="" ( &sAccess=TASK.MACHINE.ACCESS(&nMachine) IF STRing.ComPare("&sAccess", "ZH*") &sAccess="ZH" // running in Secure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZS" // running in Secure EL2 ELSE IF STRing.ComPare("&sAccess", "*H*")&&(ARMARCHVERSION()>=0x84) &sAccess="NH" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "*H*") &sAccess="H" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "N*") &sAccess="NS" // running in NonSecure EL1 ELSE &sAccess="S" // no Trustzone with iAMP SPRINTF &sAccess "%s:%#x:::" "&sAccess" &nMachine ) ELSE ( IF PRACTICE.FUNCtion.AVAILable(TASK.ACCESS.ZONE) ( &sAccess=TASK.ACCESS.ZONE() IF STRing.ComPare("&sAccess", "ZH*") &sAccess="ZH" // running in Secure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "Z*") &sAccess="ZS" // running in Secure EL2 ELSE IF STRing.ComPare("&sAccess", "*H*")&&(ARMARCHVERSION()>=0x84) &sAccess="NH" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "*H*") &sAccess="H" // running in NonSecure EL2 with VHE ELSE IF STRing.ComPare("&sAccess", "N*") &sAccess="NS" // running in NonSecure EL1 ELSE &sAccess="S" ) ELSE ( &sAccess="S" ) &sAccess="&(sAccess):" ) SPRINTF &sAccess "%s0x0::%#x" "&sAccess" &nOffset ) RETURN "&sAccess" ) ) RETURN ) execute_container_selection: ( PARAMETERS &sParameters &sAccess &sMachine &sArguments PRIVATE &ptrsize IF !Var.EXIST(caddr_t)&&!sYmbol.EXIST(currtptr)&&!sYmbol.EXIST(proctab) ( PRINT %WARNING "LynxOS: kernel symbol types not found, detect address width from CPU selection" RETURN "0." ) IF Var.EXIST(caddr_t) &ptrsize=Var.SIZEOF(caddr_t) ELSE IF sYmbol.EXIST(currtptr) &ptrsize=sYmbol.SIZEOF(currtptr) ELSE &ptrsize=sYmbol.SIZEOF(proctab) IF &ptrsize==4. ( PRINT "LynxOS: detected 32bit address size" RETURN "32." ) ELSE IF &ptrsize==8. ( PRINT "LynxOS: detected 64bit address size" RETURN "64." ) ELSE ( PRINT %WARNING "QNX: unknown kernel symbol type size, detect address width from CPU selection" RETURN "0." ) RETURN "-1." ) 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 IF PRACTICE.FUNCtion.AVAILable(SYStem.Option.MACHINESPACES) ( IF !SYStem.Option.MACHINESPACES() &sOptionMachine="" ) ELSE ( &sOptionMachine="" ) sYmbol.AutoLOAD.CHECKCoMmanD "DO autoload.cmm " &sOptionMachine RETURN )