1612a5337SJames Clark[
2612a5337SJames Clark    {
3*44739490SJames Clark        "ArchStdEvent": "EXC_TAKEN",
4*44739490SJames Clark        "PublicDescription": "Counts any taken architecturally visible exceptions such as IRQ, FIQ, SError, and other synchronous exceptions. Exceptions are counted whether or not they are taken locally."
5612a5337SJames Clark    },
6612a5337SJames Clark    {
7*44739490SJames Clark        "ArchStdEvent": "EXC_RETURN",
8*44739490SJames Clark        "PublicDescription": "Counts any architecturally executed exception return instructions. Eg: AArch64: ERET"
9612a5337SJames Clark    },
10612a5337SJames Clark    {
11*44739490SJames Clark        "ArchStdEvent": "EXC_UNDEF",
12*44739490SJames Clark        "PublicDescription": "Counts the number of synchronous exceptions which are taken locally that are due to attempting to execute an instruction that is UNDEFINED. Attempting to execute instruction bit patterns that have not been allocated. Attempting to execute instructions when they are disabled. Attempting to execute instructions at an inappropriate Exception level. Attempting to execute an instruction when the value of PSTATE.IL is 1."
13612a5337SJames Clark    },
14612a5337SJames Clark    {
15*44739490SJames Clark        "ArchStdEvent": "EXC_SVC",
16*44739490SJames Clark        "PublicDescription": "Counts SVC exceptions taken locally."
17612a5337SJames Clark    },
18612a5337SJames Clark    {
19*44739490SJames Clark        "ArchStdEvent": "EXC_PABORT",
20*44739490SJames Clark        "PublicDescription": "Counts synchronous exceptions that are taken locally and caused by Instruction Aborts."
21612a5337SJames Clark    },
22612a5337SJames Clark    {
23*44739490SJames Clark        "ArchStdEvent": "EXC_DABORT",
24*44739490SJames Clark        "PublicDescription": "Counts exceptions that are taken locally and are caused by data aborts or SErrors. Conditions that could cause those exceptions are attempting to read or write memory where the MMU generates a fault, attempting to read or write memory with a misaligned address, interrupts from the nSEI inputs and internally generated SErrors."
25612a5337SJames Clark    },
26612a5337SJames Clark    {
27*44739490SJames Clark        "ArchStdEvent": "EXC_IRQ",
28*44739490SJames Clark        "PublicDescription": "Counts IRQ exceptions including the virtual IRQs that are taken locally."
29612a5337SJames Clark    },
30612a5337SJames Clark    {
31*44739490SJames Clark        "ArchStdEvent": "EXC_FIQ",
32*44739490SJames Clark        "PublicDescription": "Counts FIQ exceptions including the virtual FIQs that are taken locally."
33612a5337SJames Clark    },
34612a5337SJames Clark    {
35*44739490SJames Clark        "ArchStdEvent": "EXC_SMC",
36*44739490SJames Clark        "PublicDescription": "Counts SMC exceptions take to EL3."
37612a5337SJames Clark    },
38612a5337SJames Clark    {
39*44739490SJames Clark        "ArchStdEvent": "EXC_HVC",
40*44739490SJames Clark        "PublicDescription": "Counts HVC exceptions taken to EL2."
41612a5337SJames Clark    },
42612a5337SJames Clark    {
43*44739490SJames Clark        "ArchStdEvent": "EXC_TRAP_PABORT",
44*44739490SJames Clark        "PublicDescription": "Counts exceptions which are traps not taken locally and are caused by Instruction Aborts. For example, attempting to execute an instruction with a misaligned PC."
45612a5337SJames Clark    },
46612a5337SJames Clark    {
47*44739490SJames Clark        "ArchStdEvent": "EXC_TRAP_DABORT",
48*44739490SJames Clark        "PublicDescription": "Counts exceptions which are traps not taken locally and are caused by Data Aborts or SError interrupts. Conditions that could cause those exceptions are:\n\n1. Attempting to read or write memory where the MMU generates a fault,\n2. Attempting to read or write memory with a misaligned address,\n3. Interrupts from the SEI input.\n4. internally generated SErrors."
49612a5337SJames Clark    },
50612a5337SJames Clark    {
51*44739490SJames Clark        "ArchStdEvent": "EXC_TRAP_OTHER",
52*44739490SJames Clark        "PublicDescription": "Counts the number of synchronous trap exceptions which are not taken locally and are not SVC, SMC, HVC, data aborts, Instruction Aborts, or interrupts."
53612a5337SJames Clark    },
54612a5337SJames Clark    {
55*44739490SJames Clark        "ArchStdEvent": "EXC_TRAP_IRQ",
56*44739490SJames Clark        "PublicDescription": "Counts IRQ exceptions including the virtual IRQs that are not taken locally."
57612a5337SJames Clark    },
58612a5337SJames Clark    {
59*44739490SJames Clark        "ArchStdEvent": "EXC_TRAP_FIQ",
60*44739490SJames Clark        "PublicDescription": "Counts FIQs which are not taken locally but taken from EL0, EL1,\n or EL2 to EL3 (which would be the normal behavior for FIQs when not executing\n in EL3)."
61612a5337SJames Clark    }
62612a5337SJames Clark]
63