Intel 64 and IA-32 Architectures Software Developers Manual Volume 3A, System Programming Guide, Part 1

5-44 Vol. 3A
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 excep-
tion inside the faulting TSS context is not recommended because the processor state
may not be consistent.
Stack segment selector index The stack segment selector RPL != CPL.
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