background image

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.