Intel architecture ia-32 User Manual

Page of 636
Vol. 3A 5-41
INTERRUPT AND EXCEPTION HANDLING
This exception can generated either in the context of the original task or in the context of the
new task (see Section 6.3, “Task Switching”). Until the processor has completely verified the
presence of the new TSS, the exception is generated in the context of the original task. Once the
existence of the new TSS is verified, the task switch is considered complete. Any invalid-TSS
conditions detected after this point are handled in the context of the new task. (A task switch is
considered complete when the task register is loaded with the segment selector for the new TSS
and, if the switch is due to a procedure call or interrupt, the previous task link field of the new
TSS references the old TSS.)
The invalid-TSS handler must be a task called using a task gate. Handling this exception inside
the faulting TSS context is not recommended because the processor state may not be consistent. 
Code segment selector index
The code segment selector exceeds descriptor table limit.
Code segment selector index
The code segment selector is NULL.
Code segment selector index
The code segment descriptor is not a code segment type.
Code segment selector index
The nonconforming code segment DPL != CPL.
Code segment selector index
The conforming code segment DPL is greater than CPL.
Data segment selector index
The data segment selector exceeds the descriptor table limit.
Data segment selector index
The data segment descriptor is not a readable code or data type.
Data segment selector index 
The data segment descriptor is a nonconforming code type and RPL > 
DPL.
Data segment selector index
The data segment descriptor is a nonconforming code type and CPL > 
DPL.
TSS segment selector index
The TSS segment selector is NULL for LTR.
TSS segment selector index
The TSS segment selector has the TI bit set for LTR.
TSS segment selector index
The TSS segment descriptor/upper descriptor is beyond the GDT 
segment limit.
TSS segment selector index
The TSS segment descriptor is not an available TSS type.
TSS segment selector index
The TSS segment descriptor is an available 286 TSS type in IA-32e 
mode.
TSS segment selector index
The TSS segment upper descriptor is not the correct type.
TSS segment selector index
The TSS segment descriptor contains a non-canonical base.
TSS segment selector index
There is a limit violation in attempting to load SS selector or ESP from a 
TSS on a call or exception which changes privilege levels in legacy 
mode.
TSS segment selector index
There is a limit violation or canonical fault in attempting to load RSP or 
IST from a TSS on a call or exception which changes privilege levels in 
IA-32e mode.
Table 5-6.  Invalid TSS Conditions  (Contd.)
Error Code Index
Invalid Condition