#ifndefXTENSA_DEBUG_MODULE_H#defineXTENSA_DEBUG_MODULE_H#include<xtensa/config/core-isa.h>/*ERI registers / OCD offsets and field definitions*//* ... */#defineERI_DEBUG_OFFSET0x100000#defineERI_TRAX_OFFSET(ERI_DEBUG_OFFSET+0)#defineERI_PERFMON_OFFSET(ERI_DEBUG_OFFSET+0x1000)#defineERI_OCDREG_OFFSET(ERI_DEBUG_OFFSET+0x2000)#defineERI_MISCDBG_OFFSET(ERI_DEBUG_OFFSET+0x3000)#defineERI_CORESIGHT_OFFSET(ERI_DEBUG_OFFSET+0x3F00)#defineERI_TRAX_TRAXID(ERI_TRAX_OFFSET+0x00)#defineERI_TRAX_TRAXCTRL(ERI_TRAX_OFFSET+0x04)#defineERI_TRAX_TRAXSTAT(ERI_TRAX_OFFSET+0x08)#defineERI_TRAX_TRAXDATA(ERI_TRAX_OFFSET+0x0C)#defineERI_TRAX_TRAXADDR(ERI_TRAX_OFFSET+0x10)#defineERI_TRAX_TRIGGERPC(ERI_TRAX_OFFSET+0x14)#defineERI_TRAX_PCMATCHCTRL(ERI_TRAX_OFFSET+0x18)#defineERI_TRAX_DELAYCNT(ERI_TRAX_OFFSET+0x1C)#defineERI_TRAX_MEMADDRSTART(ERI_TRAX_OFFSET+0x20)#defineERI_TRAX_MEMADDREND(ERI_TRAX_OFFSET+0x24)#defineTRAXCTRL_TREN(1<<0)//Trace enable. Tracing starts on 0->1#defineTRAXCTRL_TRSTP(1<<1)//Trace Stop. Make 1 to stop trace.#defineTRAXCTRL_PCMEN(1<<2)//PC match enable#defineTRAXCTRL_PTIEN(1<<4)//Processor-trigger enable#defineTRAXCTRL_CTIEN(1<<5)//Cross-trigger enable#defineTRAXCTRL_TMEN(1<<7)//Tracemem Enable. Always set.#defineTRAXCTRL_CNTU(1<<9)//Post-stop-trigger countdown units; selects when DelayCount-- happens.//0 - every 32-bit word written to tracemem, 1 - every cpu instruction#defineTRAXCTRL_TSEN(1<<11)//Undocumented/deprecated?#defineTRAXCTRL_SMPER_SHIFT12//Send sync every 2^(9-smper) messages. 7=reserved, 0=no sync msg#defineTRAXCTRL_SMPER_MASK0x7//Synchronization message period#defineTRAXCTRL_PTOWT(1<<16)//Processor Trigger Out (OCD halt) enabled when stop triggered#defineTRAXCTRL_PTOWS(1<<17)//Processor Trigger Out (OCD halt) enabled when trace stop completes#defineTRAXCTRL_CTOWT(1<<20)//Cross-trigger Out enabled when stop triggered#defineTRAXCTRL_CTOWS(1<<21)//Cross-trigger Out enabled when trace stop completes#defineTRAXCTRL_ITCTO(1<<22)//Integration mode: cross-trigger output#defineTRAXCTRL_ITCTIA(1<<23)//Integration mode: cross-trigger ack#defineTRAXCTRL_ITATV(1<<24)//replaces ATID when in integration mode: ATVALID output#defineTRAXCTRL_ATID_MASK0x7F//ARB source ID#defineTRAXCTRL_ATID_SHIFT24#defineTRAXCTRL_ATEN(1<<31)//ATB interface enable#defineTRAXSTAT_TRACT(1<<0)//Trace active flag.#defineTRAXSTAT_TRIG(1<<1)//Trace stop trigger. Clears on TREN 1->0#defineTRAXSTAT_PCMTG(1<<2)//Stop trigger caused by PC match. Clears on TREN 1->0#defineTRAXSTAT_PJTR(1<<3)//JTAG transaction result. 1=err in preceding jtag transaction.#defineTRAXSTAT_PTITG(1<<4)//Stop trigger caused by Processor Trigger Input. Clears on TREN 1->0#defineTRAXSTAT_CTITG(1<<5)//Stop trigger caused by Cross-Trigger Input. Clears on TREN 1->0#defineTRAXSTAT_MEMSZ_SHIFT8//Traceram size inducator. Usable trace ram is 2^MEMSZ bytes.#defineTRAXSTAT_MEMSZ_MASK0x1F#defineTRAXSTAT_PTO(1<<16)//Processor Trigger Output: current value#defineTRAXSTAT_CTO(1<<17)//Cross-Trigger Output: current value#defineTRAXSTAT_ITCTOA(1<<22)//Cross-Trigger Out Ack: current value#defineTRAXSTAT_ITCTI(1<<23)//Cross-Trigger Input: current value#defineTRAXSTAT_ITATR(1<<24)//ATREADY Input: current value#defineTRAXADDR_TADDR_SHIFT0//Trax memory address, in 32-bit words.#defineTRAXADDR_TADDR_MASK0x1FFFFF//Actually is only as big as the trace buffer size max addr.#defineTRAXADDR_TWRAP_SHIFT21//Amount of times TADDR has overflown#defineTRAXADDR_TWRAP_MASK0x3FF#defineTRAXADDR_TWSAT(1<<31)//1 if TWRAP has overflown, clear by disabling tren.#definePCMATCHCTRL_PCML_SHIFT0//Amount of lower bits to ignore in pc trigger register#definePCMATCHCTRL_PCML_MASK0x1F#definePCMATCHCTRL_PCMS(1<<31)//PC Match Sense, 0 - match when procs PC is in-range, 1 - match when//out-of-range// Global control/status for all performance counters#defineERI_PERFMON_PGM(ERI_PERFMON_OFFSET+0x0000)//PC at the cycle of the event that caused PerfMonInt assertion#defineERI_PERFMON_INTPC(ERI_PERFMON_OFFSET+0x0010)// Maximum amount of counter (depends on chip)#defineERI_PERFMON_MAXXCHAL_NUM_PERF_COUNTERS// Performance counter value#defineERI_PERFMON_PM0(ERI_PERFMON_OFFSET+0x0080)// Performance counter control register#defineERI_PERFMON_PMCTRL0(ERI_PERFMON_OFFSET+0x0100)// Performance counter status register#defineERI_PERFMON_PMSTAT0(ERI_PERFMON_OFFSET+0x0180)#definePMCTRL_INTEN(1<<0)// Enables assertion of PerfMonInt output when overflow happens#definePMCTRL_KRNLCNT(1<<3)// Enables counting when CINTLEVEL* >// TRACELEVEL (i.e. If this bit is set, this counter// counts only when CINTLEVEL >TRACELEVEL;// if this bit is cleared, this counter counts only when// CINTLEVEL ≤ TRACELEVEL)#definePMCTRL_KRNLCNT_SHIFT3#definePMCTRL_TRACELEVEL_SHIFT4// Compares this value to CINTLEVEL* when deciding whether to count#definePMCTRL_TRACELEVEL_MASK0xf#definePMCTRL_SELECT_SHIFT8// Selects input to be counted by the counter#definePMCTRL_SELECT_MASK0x1f#definePMCTRL_MASK_SHIFT16// Selects input subsets to be counted (counter will// increment only once even if more than one condition// corresponding to a mask bit occurs)#definePMCTRL_MASK_MASK0xffff#definePMSTAT_OVFL(1<<0)// Counter Overflow. Sticky bit set when a counter rolls over// from 0xffffffff to 0x0.#definePMSTAT_INTSTART(1<<4)// This counter’s overflow caused PerfMonInt to be asserted.#definePGM_PMEN(1<<0)// Overall enable for all performance counting75 defines/* ... */#endif
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.