% Librarian A09-30r{<{5 OCLA<{1 OCLA; The SDA command OCLA controls the Alpha EV7 On-Chip Logic = Analyzer (OCLA), which collects Program Counter (PC) traces % in a portion of the Alpha EV7 cache.A When you use the ANALYZE/CRASH command to analyze a crash dump, + only the following commands are available: - OCLA SHOW STATUS - OCLA SHOW TRACE 2 DISABLEC Disables the OCLA and returns the EV7 cache set reserved for OCLA  use to the system. Format: OCLA DISABLE [/CPU=n]  3 /CPU=n5 Specifies the CPU on which OCLA should be disabled. F If /CPU is not specified, all active CPUs on the system are disabled.2 DUMPF Copies the data collected in the EV7 cache to system memory for later; analysis. See the SHOW TRACE command for more information.F When a system fails, data collected in the EV7 cache is automatically5 saved in the system dump file for each enabled OCLA. Format: OCLA DUMP [/CPU=n] 3 /CPU=n7 Specifies the CPU on which the OCLA should be dumped. D If /CPU is not specified, all active CPUs on the system are dumped. Example:  SDA> OCLA DUMP/CPU=7( OCLA PC trace dump performed for CPU 07G This command dumps the OCLA cache into system memory for CPU number 7. 2 ENABLE Enables the EV7 OCLA.% Format: OCLA ENABLE [/CPU=n][/RESET] 3 /CPU=n4 Specifies the CPU on which OCLA should be enabled. E If /CPU is not specified, all active CPUs on the system are enabled. 3 /RESET C Initializ es the OCLA to known values. Under certain circumstances ? the OCLA might not be initialized properly when the system is A powered on. For more information, see the SHOW REGISTER command.2 LOADB Loads the OCLA PC trace execlet into system memory. This command . must be performed prior to any other command. Format: OCLA LOAD2 SET Manipulates OCLA-related data. 3 REGISTER Modifies OCLA registers.4 MISC+ Changes the OCLA 1 miscellaneous register.% Forma t: OCLA SET REGISTER MISC/RESET 5 /RESET? Sets the register to known values. This qualifier is required. 4 OCLA1_CTL% Changes the OCLA 1 control register.* Format: OCLA SET REGISTER OCLA1_CTL/RESET 5 /RESET, Sets the control register to known values.  This qualifier is required. 4 PC_CTL( Changes the OCLA 1 PC control register.' Format: OCLA SET REGISTER PC_CTL/RESET 5 /RESET, Sets the control register to known values.  This qualifier is require d.4 SMASK) Changes the OCLA 1 select mask register.& Format: OCLA SET REGISTER SMASK/RESET 5 /RESET? Sets the register to known values. This qualifier is required. 4 SMATCH* Changes the OCLA 1 select match register.' Format: OCLA SET REGISTER SMATCH/RESET 5 /RESET? Sets the register to known values. This qualifier is required.4 TMASK* Changes the OCLA 1 trigger mask register.& Format: OCLA SET REGISTER TMASK/RESET 5 /RESET? Sets the register to known values. This qualifier is required. 4 TMATCH+ Changes the OCLA 1 trigger match register.& Format: OCLA SET REGISTER TMASK/RESET 5 /RESET? Sets the register to known values. This qualifier is required.2 SHOW2 Displays and formats information related to OCLA. 3 STATUS, Displays the status of OCLAs on the system." Format: OCLA SHOW STATUS [/CPU=n] 4 /CPU=n0 Specifies the CPU for which to display status. < If /CPU is not specified, the status of all active CPUs on  the system is displayed. 4 Example SDA> OCLA SHOW STATUS EV7 OCLA status ---------------, CPU 00 is enabled, no entries, no dump done, CPU 01 is enabled, no entries, no dump done, CPU 02 is enabled, no entries, no dump done, CPU 03 is enabled, no entries, no dump done, CPU 04 is enabled, no entries, no dump done, CPU 05 is enabled, no entries, no dump done, CPU 06 is enabled, no entries, no dump done5 CPU 07 is enabled, running, no entries, no dump done 3 REGISTER> Shows detailed information about the OCLA control registers. < This command is useful for determining whether the OCLA is  in the correct state. $ Format: OCLA SHOW REGISTER [/CPU=n] 4 /CPU=n2 Specifies the CPU for which to display registers.B If /CPU is not specified, all active CPUs on the system are used. 4 ExampleA The following command displays all OCLA-related registers on theE EV7 CPU. This particular CPU was enabled with the /RESET qualifier, % so the values have default settings. SDA> OCLA SHOW REGISTER/CPU=7# OCLA EV7 CPU Registers for CPU: 07# ----------------------------------3 ZBOX control register for CPU 07: 00000000ffffffff3 CBOX control register for CPU 07: 07c000001024a8073 OCLA 1 MISC register for CPU 07: 0000000000000000# OCLA 1 TMATCH: 40000002ffffffff# OCLA 1 SMATCH: 0000000000000000# OCLA 1 PC_TMATCH: 0000000000000000# OCLA 1 PC_SMATCH: 0000000000000000# OCLA 1 TMASK: 400000000 0000000# OCLA 1 SMASK: 0000000000000000# OCLA 1 PC_TMASK: 0000000000000000# OCLA 1 PC_SMASK: 00000000000000005 OCLA 1 control register for CPU 07: c000210000002a9cN Enab Run RDRST ITRIG IFULL TAG_EN TS_EN PDAT_EN SFILT TMODE IRQF IRQT TIHANGN 1 1 0 0 0 0 0 0 00 00 0 0 06 TAG_SRC EXT_SRC TS_FORCE EIO WRAP SREL AMATCH AADDR6 000 004 0 0 1 0 00000 02a9c8 OCLA 1 PC Control register for CPU 07: 000000000000003f/ STGSEL TRGSEL OUTSEL CDEPTH CMASK CAMEN+ 03 03 03 00 00000 03 TRACE? Formats the PC data stored in system memory by a DUMP command.< Format: OCLA SHOW TRACE [/CPU=n][/LAST=n][/NOPAL][/REVERSE]/ [/SUMMARY][/SYMBOLIZE] 4 /CPU=n= Specifies the CPU for which the PC data should be formatted.A If /CPU is not specified, data for all active CPUs on the system is formatted. 4 /LAST=n Displays the last n PC values. 4 /NOPAL@ Indicates that PAL code instructions should not be included in the output. 4 /REVERSE? Displays PC values in reverse order. That is, the first value ? displayed is the last PC instruction executed prior to a dump  or a system failure. 4 /SUMMARY% Displays only the last 42 PC values. 4 /SYMBOLIZEF Attempts to symbolize the PC value. (If a value cannot be symbolized, no symbol is displayed.) 4 Example9 The following command displays a summary of the last PC = instructions executed by CPU 7 and symbolizes the PC values.B In this example, lines of PAL code are identified by ",PAL Code".# SDA> OCLA SHOW TRACE/CPU=7/SUM/SYM% OCLA PC trace information for CPU 07% ------------------------------------ CPU 07 has 16384 valid entries 42 PC values displayed 0000002c00030358 ,PAL Code 0000002c0003035c ,PAL Code# ffffffff81244c94 OCLA$DEBUG+00C94# ffffffff81244c98 OCLA$DEBUG+00C98# ffffffff81244c9c OCLA$DEBUG+00C9C# ffffffff81244ca0 OCLA$DEBUG+00CA0# ffffffff81244ca4 OCLA$DEBUG+00CA4# ffffffff81244ca8 OCLA$DEBUG+00CA8# ffffffff81244cac OCLA$DEBUG+00CAC# ffffffff81244cb0 OCLA$DEBUG+00CB0# ffffffff81244cd0 OCLA$DEBUG+00CD0# ffffffff81244cd4 OCLA$DEBUG+00CD4# ffffffff81244cd8 OCLA$DEBUG+00CD8# ffffffff81244cdc OCLA$DEBUG+00CDC# ffffffff81244ce0 OCLA$DEBUG+00CE0# ffffffff81244ce4 OCLA$DEBUG+00CE4# ffffffff81244ce8 OCLA$DEBUG+00CE8 ...2 START= Starts the OCLA. This command causes each executed PC to be  collected in the EV7 cache. Format: OCLA START [/CPU=n] 3 /CPU=n4 Specifies the CPU on which OCLA should be started. E If /CPU is not specified, all active CPUs on the system are started.2 STOPE Stops the OCLA. The data collected in the EV7 cache can be retrieved by using the DUMP command. Format: OCLA STOP [/CPU=n] 3 /CPU=n8 Specifies the CPU on which the OCLA should be stopped. E If /CPU is not specified, all active CPUs on the system are stopped. 2 UNLOAD6 Unloads the OCLA PC trace execlet from system memory. Format: OCLA UNLOAD 2 Examples@ These examples demonstrate how the OCLA SDA Extension typically is used.3 Interactive_UseA The OCLA SDA Extension can be used to inspect a running system. 9 To do this, the EV7 acquisition memory needs to be read.C The following commands copy the EV7 acquisition cache memory into : system memory and display the collected values for CPU 0. SDA> OCLA DUMP# OCLA PC trace performed for 8 CPUs& SDA> OCLA SHOW TRACE/SUM/SYMBOL/CPU=0% OCLA PC trace information for CPU 00% ------------------------------------ CPU 00 has 16384 valid entries$ The overhead per allocation is 1208 42 PC values displayed, ffffffff8012d3ac SCH$CALC_CPU_LOAD_C+0030C, ffffffff8012d3b0 SCH$CALC_CPU_LOAD_C+00310, ffffffff8012d3b4 SCH$CALC_CPU_LOAD_C+00314, ffffffff8012d3b8 SCH$CALC_CPU_LOAD_C+00318, ffffffff8012d3bc SCH$CALC_CPU_LOAD_C+0031C, ffffffff8012d3c0 SCH$CALC_CPU_LOAD_C+00320, ffffffff8012d4d8 SCH$CALC_CPU_LOAD_C+00438 ...3 Starting_OCLA9 This example shows how to start the OCLAs on the system.@ The following commands load the OCLA Execlet, enable the OCLAs @ on each CPU in the system, and start each OCLA. At this point, ; the EV7 OCLAs are collecting data for each PC instruction + executed by the active CPUs in the system.B In the unlikely event of a system failure, PC values recorded by ? the OCLAs are stored in the system dump file and can later be 3 retrieved by using the System Dump Analyzer (SDA). SDA> OCLA LOAD$ OCLA$PCTRACE load status = 00000001 SDA> OCLA ENABLE/RESET# OCLA PC tracing enabled for 8 CPUs SDA> OCLA START# OCLA PC tracing started for 8 CPUs3 Stopping_OCLA4 This example shows how to stop OCLAs on the system.C The following commands stop all running OCLAS, disable and free up= system memory associated with each OCLA, and unload the OCLA execlet from system memory.> If a STOP/CPU command is executed, the OCLA is automatically = disabled, and the cache set used by the OCLA is released to the EV7 CPU.D If a CPU is started by the START/CPU command, normal OCLA commands + must be used to enable and start the OCLA. SDA> OCLA STOP# OCLA PC tracing stopped for 8 CPUs SDA> OCLA DISABLE% OCLA PC tracing disabled for 8 CPUs  SDA> OCLA UNLOAD& OCLA$PCTRACE unload status = 00000001ww