Fig.7-1 80386 32-Bit Task State Segment

Figure 7-1. 80386 32-Bit Task State Segment 31 23 15 7 0 +---------------+---------------+---------------+---------------+ | I/O MAP BASE | 0 0 0 0 0 0 0 0 0 0 0 0 0 |T|64 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| LDT |60 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| GS |5C |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| FS |58 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| DS |54 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| SS |50 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| CS |4C |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| ES |48 |---------------+---------------+---------------+---------------| | EDI |44 |---------------+---------------+---------------+---------------| | ESI |40 |---------------+---------------+---------------+---------------| | EBP |3C |---------------+---------------+---------------+---------------| | ESP |38 |---------------+---------------+---------------+---------------| | EBX |34 |---------------+---------------+---------------+---------------| | EDX |30 |---------------+---------------+---------------+---------------| | ECX |2C |---------------+---------------+---------------+---------------| | EAX |28 |---------------+---------------+---------------+---------------| | EFLAGS |24 |---------------+---------------+---------------+---------------| | INSTRUCTION POINTER (EIP) |20 |---------------+---------------+---------------+---------------| | CR3 (PDPR) |1C |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| SS2 |18 |---------------+---------------+---------------+---------------| | ESP2 |14 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| SS1 |10 |---------------+---------------+---------------+---------------| | ESP1 |0C |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| SS0 |8 |---------------+---------------+---------------+---------------| | ESP0 |4 |---------------+---------------+---------------+---------------| |0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| BACK LINK TO PREVIOUS TSS |0 +---------------+---------------+---------------+---------------+ ---------------------------------------------------------------------------- NOTE 0 MEANS INTEL RESERVED. DO NOT DEFINE. ----------------------------------------------------------------------------

Fig.7-2 TSS Descriptor for 32-Bit TSS

Figure 7-2. TSS Descriptor for 32-bit TSS 31 23 15 7 0 +-----------------+-----------------+-----------------+-----------------+ | | | | |A| LIMIT | | |S| Type | | | BASE 31..24 |G|0|0|V| |P| DPL | | | BASE 23..16 | 4 | | | | |L| 19..16 | | |0|1|0|B|1| | |-----------------------------------+-----------------------------------| | | | | BASE 15..0 | LIMIT 15..0 | 0 | | | +-----------------+-----------------+-----------------+-----------------+

Fig.7-3 Task Register

Figure 7-3. Task Register +-------------------------+ | | | | | TASK STATE | | SEGMENT |<---------+ | | | | | | +-------------------------+ | 16-BIT VISIBLE ^ | REGISTER | HIDDEN REGISTER | +--------------------------------------------------------------+ TR | SELECTOR | (BASE) | (LIMT) | +--------------------------------------------------------------+ | ^ ^ | +-----------------+ | | GLOBAL DESCRIPTOR TABLE | | | +-------------------------+ | | | | TSS DESCRIPTOR | | | | +-------------------------+ | | | | | | | |---+ | | |------------+------------| | +------->| | |-------+ +-------------------------+ | | +-------------------------+

Fig.7-4 Task Gate Descriptor

Figure 7-4. Task Gate Descriptor 31 23 15 7 0 +-----------------+----------------+-----------------+-----------------+ | | | | | | | (NOT USED) |P| DPL |0 0 1 0 1| (NOT USED) | 4 | | | | | | |----------------------------------+-----------------------------------| | | | | SELECTOR | (NOT USED) | 0 | | | +-----------------+----------------+-----------------+-----------------+

Fig.7-5 Task Gate Indirectly Identifies Task

Figure 7-5. Task Gate Indirectly Identifies Task LOCAL DESCRIPTOR TABLE INTERRUPT DESCRIPTOR TABLE +-------------------------+ +-------------------------+ | | | | | TASK GATE | | TASK GATE | +-------------------------+ +-------------------------+ | | | | | | | | | | |------------+------------| |------------+------------| +--| | | +--| | | | +-------------------------+ | +-------------------------+ | | | | | | | | | | | | | +-------------------------+ | +-------------------------+ +----------------+ +-----------------+ | | GLOBAL DESCRIPTOR TABLE | | +-------------------------+ | | | | | | | TASK DESCRIPTOR | | | +-------------------------+ | | | | | | | | +->|------------+------------| +---->| | |--+ +-------------------------+ | | | | | | | +-------------------------+ | | +-------------------------+ | | | | | | | | | | | TASK STATE | | | SEGMENT | | | | | | | | | | | +-------------------------+<-+

Fig.7-6 Partially-Overlapping Linear Spaces

Figure 7-6. Partially-Overlapping Linear Spaces TSSs PAGE FRAMES +----------+ TASK A TSS PAGE DIRECTORIES PAGE TABLES | TASK A | +----------+ +-----------+ +-----------+ +->| PAGE | | | | | | | | +----------+ | | |-----------| |-----------| | +----------+ | | | | | PTE |--+ | TASK A | | | |-----------| |-----------| +->| PAGE | | | | | | PTE |--+ +----------+ |----------| |-----------| |-----------| +----------+ | PDBR |---->| PDE |---->| PTE |--+ | TASK A | |----------| |-----------| +-----------+ +->| PAGE | | | | PDE |--+ SHARED PT +----------+ +----------+ +-----------+ | +-----------+ +----------+ | | | | SHARED | | |-----------| +->| PAGE | | | | | +----------+ | |-----------| | +----------+ | | PTE |--+ | SHARED | | |-----------| +->| PAGE | |->| PTE |--+ +----------+ TASK B TSS | +-----------+ +----------+ +----------+ +-----------+ | | TASK B | | | | | | +-->| PAGE | | | |-----------| | +-----------+ | +----------+ | | | | | | | | +----------+ | | |-----------| | |-----------| | | TASK B | | | | | | | | | +>| PAGE | |----------| |-----------| | |-----------| | | +----------+ | PDBR |---->| PDE |--+ | PTE |-+ | PAGE FRAMES |----------| |-----------| |-----------| | | | | PDE |---->| PTE |---+ +----------+ +-----------+ +-----------+ TSSs PAGE DIRECTORIES PAGE TABLES