Table of contents
SIGEVENT
Purpose: Drive fault_info bus with exception/event data
Operation: fault_info = src1[7:0]; result = src2
Flags: 0
Likely:
SIGEVENT(vector, condition)
- Signal exception or event conditionally
- vector = exception number (from UOP.120)
- condition = error code or conditional result
- Exception fires if condition is non-zero/valid
Usage with UOP.120
UOP.120 probably prepares resulting variable for exception
TMP6 = UOP.120 (CONST.16.006 , CONST.16.006 ) EOM.Fl2 SIGEVENT (TMP6 , CONST.16.001 , U4.00000001 /* U4:0000 0000 0000 0000 0000 0000 0000 0001 */)
| Name | Vector nr. | Type | Mnemonic | Error code? |
| Division Error | 0 (0x0) | Fault | #DE | No |
| Debug | 1 (0x1) | Fault/Trap | #DB | No |
| Non-maskable Interrupt | 2 (0x2) | Interrupt | - | No |
| Breakpoint | 3 (0x3) | Trap | #BP | No |
| Overflow | 4 (0x4) | Trap | #OF | No |
| Bound Range Exceeded | 5 (0x5) | Fault | #BR | No |
| Invalid Opcode | 6 (0x6) | Fault | #UD | No |
| Device Not Available | 7 (0x7) | Fault | #NM | No |
| Double Fault | 8 (0x8) | Abort | #DF | Yes (Zero) |
| Coprocessor Segment Overrun | 9 (0x9) | Fault | - | No |
| Invalid TSS | 10 (0xA) | Fault | #TS | Yes |
| Segment Not Present | 11 (0xB) | Fault | #NP | Yes |
| Stack-Segment Fault | 12 (0xC) | Fault | #SS | Yes |
| General Protection Fault | 13 (0xD) | Fault | #GP | Yes |
| Page Fault | 14 (0xE) | Fault | #PF | Yes |
| Reserved | 15 (0xF) | - | - | No |
| x87 Floating-Point Exception | 16 (0x10) | Fault | #MF | No |
| Alignment Check | 17 (0x11) | Fault | #AC | Yes |
| Machine Check | 18 (0x12) | Abort | #MC | No |
| SIMD Floating-Point Exception | 19 (0x13) | Fault | #XM/#XF | No |
| Virtualization Exception | 20 (0x14) | Fault | #VE | No |
| Control Protection Exception | 21 (0x15) | Fault | #CP | Yes |
| Reserved | 22-27 (0x16-0x1B) | - | - | No |
| Hypervisor Injection Exception | 28 (0x1C) | Fault | #HV | No |
| VMM Communication Exception | 29 (0x1D) | Fault | #VC | Yes |
| Security Exception | 30 (0x1E) | Fault | #SX | Yes |
| Reserved | 31 (0x1F) | - | - | No |
| Triple Fault | - | - | - | No |
| FPU Error Interrupt | IRQ 13 | Interrupt | #FERR | No |
(CPUID 652 is similar)
BOM_Fl3 SIGEVENT (R36 , CONST_16_081 , UP3_01) EIP_30 = SIGEVENT (R34 , CONST_16_05C , U2_28) EIP_30 = SIGEVENT (TMP2 , CONST_16_05C , U2_28) EIP_30 = SIGEVENT (TMP3 , CONST_16_05C , U2_20) EIP_30 = SIGEVENT (TMP3 , CONST_16_05C , U2_28) EIP_30 = SIGEVENT (TMPA , CONST_16_05C , U2_28) EOM_Fl2 SIGEVENT (R36 , CONST_16_081 ) EOM TMPB = SIGEVENT (TMPA , TMPB , U2_08) _Fl2_Fl3 REG_4C = SIGEVENT (CONST_00_100 , TMP3 , UP3_01) _Fl2_Fl3 SIGEVENT (TMP1 , CONST_16_0E7 ) _Fl2_Fl3 SIGEVENT (TMP3 , CONST_16_0E7 ) _Fl2 SIGEVENT (CONST_16_07A , CONST_16_07A , U2_28) _Fl2 SIGEVENT (TMP0 , CONST_16_001 , UP3_01) _Fl2 SIGEVENT (TMP0 , CONST_16_041 , UP3_09) _Fl2 SIGEVENT (TMP6 , CONST_16_001 ) _Fl2 SIGEVENT (TMP7 , CONST_16_0C1 , U2_20) REG_4C = SIGEVENT (CONST_00_100 , TMP3 ) REG_5C = SIGEVENT (CONST_00_100 , TMP5 ) SIGEVENT (CONST_16_005 , CONST_16_005 ) SIGEVENT (CONST_16_009 , CONST_16_009 ) SIGEVENT (CONST_16_062 , CONST_16_062 , U2_08) SIGEVENT (CONST_16_07A , CONST_16_07A , U2_08) SIGEVENT (CONST_16_0AB , CONST_16_0AB , U2_08) SIGEVENT (CONST_16_0CC , CONST_16_0CC , U2_28) SIGEVENT (CONST_16_0CC , CONST_16_0CC , U2_28, U3_40) SIGEVENT (R36 , CONST_16_001 , U2_20) SIGEVENT (TMP0 , TMP1 ) SIGEVENT (TMP0 , TMP2 ) SIGEVENT (TMP0 , TMP2 , U2_08) SIGEVENT (TMP3 , CONST_16_001 ) SIGEVENT (TMP3 , CONST_16_0E7 ) SIGEVENT (TMP3 , CONST_16_0E7 , UP3_01) SIGEVENT (TMP3 , CONST_16_0E7 , UP3_05) SIGEVENT (TMP4 , TMP3 ) SIGEVENT (TMP4 , TMP5 ) SIGEVENT (TMP5 , TMP4 ) SIGEVENT (TMP5 , TMP7 ) SIGEVENT (TMP6 , TMP7 ) SIGEVENT (TMPA , TMPB ) SIGEVENT (TMPA , TMPB , U2_08) SIGEVENT (TMPB , TMPA )
- Patent US5574942
- wiki.osdev.org/Exceptions↗
The author is not affiliated with, endorsed by, or sponsored by Intel Corporation or its affiliates. All trademarks, including but not limited to Intel, Pentium, and any other registered or unregistered marks mentioned herein, are the property of their respective owners. Their use in this context is solely for descriptive and informational purposes and constitutes nominative fair use under applicable trademark laws.