Intel ARCHITECTURE IA-32 User Manual Page 250

  • Download
  • Add to my manuals
  • Print
  • Page
    / 636
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 249
6-8 Vol. 3A
TASK MANAGEMENT
The base, limit, and DPL fields and the granularity and present flags have functions similar to
their use in data-segment descriptors (see Section 3.4.5, “Segment Descriptors”). When the
G flag is 0 in a TSS descriptor for a 32-bit TSS, the limit field must have a value equal to or
greater than 67H, one byte less than the minimum size of a TSS. Attempting to switch to a task
whose TSS descriptor has a limit less than 67H generates an invalid-TSS exception (#TS). A
larger limit is required if an I/O permission bit map is included or if the operating system stores
additional data. The processor does not check for a limit greater than 67H on a task switch;
however, it does check when accessing the I/O permission bit map or interrupt redirection bit
map.
Any program or procedure with access to a TSS descriptor (that is, whose CPL is numerically
equal to or less than the DPL of the TSS descriptor) can dispatch the task with a call or a jump.
In most systems, the DPLs of TSS descriptors are set to values less than 3, so that only privileged
software can perform task switching. However, in multitasking applications, DPLs for some
TSS descriptors may be set to 3 to allow task switching at the application (or user) privilege
level.
6.2.3 TSS Descriptor in 64-bit mode
In 64-bit mode, task switching is not supported, but TSS descriptors still exist. The format of a
64-bit TSS is described in Section 6.7.
In 64-bit mode, the TSS descriptor is expanded to 16 bytes (see Figure 6-4 ). This expansion also
applies to an LDT descriptor in 64-bit mode. Table 3-2 provides the encoding information for
the segment type field.
Page view 249
1 2 ... 245 246 247 248 249 250 251 252 253 254 255 ... 635 636

Comments to this Manuals

No comments