Skip to content

Commit 0be310f

Browse files
committed
add Exception Causes (EXCCAUSE) docu
1 parent a4adfab commit 0be310f

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

doc/exception_causes.md

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
Exception Causes (EXCCAUSE)
2+
===========================================
3+
4+
| EXC-CAUSE Code | Cause Name | Cause Description | Required Option | EXC-VADDR Loaded |
5+
|:--------------:|:---------------------------|:------------------------------------------------------------------------------------------------------------|:-------------------------|:----------------:|
6+
| 0 | IllegalInstructionCause | Illegal instruction | Exception | No |
7+
| 1 | SyscallCause | SYSCALL instruction | Exception | No |
8+
| 2 | InstructionFetchErrorCause | Processor internal physical address or data error during instruction fetch | Exception | Yes |
9+
| 3 | LoadStoreErrorCause | Processor internal physical address or data error during load or store | Exception | Yes |
10+
| 4 | Level1InterruptCause | Level-1 interrupt as indicated by set level-1 bits in the INTERRUPT register | Interrupt | No |
11+
| 5 | AllocaCause | MOVSP instruction, if caller’s registers are not in the register file | Windowed Register | No |
12+
| 6 | IntegerDivideByZeroCause | QUOS, QUOU, REMS, or REMU divisor operand is zero | 32-bit Integer Divide | No |
13+
| 7 | Reserved for Tensilica | | | |
14+
| 8 | PrivilegedCause | Attempt to execute a privileged operation when CRING ? 0 | MMU | No |
15+
| 9 | LoadStoreAlignmentCause | Load or store to an unaligned address | Unaligned Exception | Yes |
16+
| 10..11 | Reserved for Tensilica | | | |
17+
| 12 | InstrPIFDataErrorCause | PIF data error during instruction fetch | Processor Interface | Yes |
18+
| 13 | LoadStorePIFDataErrorCause | Synchronous PIF data error during LoadStore access | Processor Interface | Yes |
19+
| 14 | InstrPIFAddrErrorCause | PIF address error during instruction fetch | Processor Interface | Yes |
20+
| 15 | LoadStorePIFAddrErrorCause | Synchronous PIF address error during LoadStore access | Processor Interface | Yes |
21+
| 16 | InstTLBMissCause | Error during Instruction TLB refill | MMU | Yes |
22+
| 17 | InstTLBMultiHitCause | Multiple instruction TLB entries matched | MMU | Yes |
23+
| 18 | InstFetchPrivilegeCause | An instruction fetch referenced a virtual address at a ring level less than CRING | MMU | Yes |
24+
| 19 | Reserved for Tensilica | | | |
25+
| 20 | InstFetchProhibitedCause | An instruction fetch referenced a page mapped with an attribute that does not permit instruction fetch | Region Protection or MMU | Yes |
26+
| 21..23 | Reserved for Tensilica | | | |
27+
| 24 | LoadStoreTLBMissCause | Error during TLB refill for a load or store | MMU | Yes |
28+
| 25 | LoadStoreTLBMultiHitCause | Multiple TLB entries matched for a load or store | MMU | Yes |
29+
| 26 | LoadStorePrivilegeCause | A load or store referenced a virtual address at a ring level less than CRING | MMU | Yes |
30+
| 27 | Reserved for Tensilica | | | |
31+
| 28 | LoadProhibitedCause | A load referenced a page mapped with an attribute that does not permit loads | Region Protection or MMU | Yes |
32+
| 29 | StoreProhibitedCause | A store referenced a page mapped with an attribute that does not permit stores | Region Protection or MMU | Yes |
33+
| 30..31 | Reserved for Tensilica | | | |
34+
| 32..39 | CoprocessornDisabled | Coprocessor n instruction when cpn disabled. n varies 0..7 as the cause varies 32..39 | Coprocessor | No |
35+
| 40..63 | Reserved | | | |
36+
37+
38+
Infos from Xtensa Instruction Set Architecture (ISA) Reference Manual

0 commit comments

Comments
 (0)