Vol. 3A 6-31
INTERRUPT AND EXCEPTION HANDLING
Interrupt 10—Invalid TSS Exception (#TS)
Exception Class
Fault.
Description
Indicates that there was an error related to a TSS. Such an error might be detected during a task switch or during
the execution of instructions that use information from a TSS. Table 6-6 shows the conditions that cause an invalid
TSS exception to be generated.
Table 6-6. Invalid TSS Conditions
Error Code Index
Invalid Condition
TSS segment selector index
The TSS segment limit is less than 67H for 32-bit TSS or less than 2CH for 16-bit TSS.
TSS segment selector index
During an IRET task switch, the TI flag in the TSS segment selector indicates the LDT.
TSS segment selector index
During an IRET task switch, the TSS segment selector exceeds descriptor table limit.
TSS segment selector index
During an IRET task switch, the busy flag in the TSS descriptor indicates an inactive task.
TSS segment selector index
During an IRET task switch, an attempt to load the backlink limit faults.
TSS segment selector index
During an IRET task switch, the backlink is a NULL selector.
TSS segment selector index
During an IRET task switch, the backlink points to a descriptor which is not a busy TSS.
TSS segment selector index
The new TSS descriptor is beyond the GDT limit.
TSS segment selector index
The new TSS descriptor is not writable.
TSS segment selector index
Stores to the old TSS encounter a fault condition.
TSS segment selector index
The old TSS descriptor is not writable for a jump or IRET task switch.
TSS segment selector index
The new TSS backlink is not writable for a call or exception task switch.
TSS segment selector index
The new TSS selector is null on an attempt to lock the new TSS.
TSS segment selector index
The new TSS selector has the TI bit set on an attempt to lock the new TSS.
TSS segment selector index
The new TSS descriptor is not an available TSS descriptor on an attempt to lock the new
TSS.
LDT segment selector index
LDT or LDT not present.
Stack segment selector index
The stack segment selector exceeds descriptor table limit.
Stack segment selector index
The stack segment selector is NULL.
Stack segment selector index
The stack segment descriptor is a non-data segment.
Stack segment selector index
The stack segment is not writable.
Stack segment selector index
The stack segment DPL ≠ CPL.
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.