Segment Selector: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content added Content deleted
Revolution (talk | contribs) mNo edit summary |
Revolution (talk | contribs) |
||
Line 15: | Line 15: | ||
|'''RPL''' |
|'''RPL''' |
||
|} |
|} |
||
* '''Index:''' The Index of the '''GDT''' or '''LDT''' entry referenced by the selector. Since '''[[Global Descriptor Table#Segment Descriptor|Segment Descriptors]]''' are 8 bytes in length, the value of '''Index''' is never unaligned and contains no data in the lowest 3 bits. As such '''Index''' |
* '''Index:''' The Index of the '''GDT''' or '''LDT''' entry referenced by the selector. Since '''[[Global Descriptor Table#Segment Descriptor|Segment Descriptors]]''' are 8 bytes in length, the value of '''Index''' is never unaligned and contains no data in the lowest 3 bits. As such '''Index''' is ''not'' shifted from a standard 16-bit representation (as if the other fields were not present). |
||
* '''TI:''' Specifies which descriptor table to use. If clear ('''0''') then the '''GDT''' is used, if set ('''1''') then the '''LDT''' is used. |
* '''TI:''' Specifies which descriptor table to use. If clear ('''0''') then the '''GDT''' is used, if set ('''1''') then the '''LDT''' is used. |
||
* '''RPL:''' The requested '''[[Security#Rings|Privilege Level]]''' of the selector, determines if the selector is valid during permission checks and may set execution or memory access privilege. |
* '''RPL:''' The requested '''[[Security#Rings|Privilege Level]]''' of the selector, determines if the selector is valid during permission checks and may set execution or memory access privilege. |
||
== Uses == |
== Uses == |
Revision as of 16:01, 16 February 2022
A Segment Selector is a 16-bit binary data structure that is used on x86 CPUs in Protected Mode and Long Mode. Its value identifies a segment in either the Global Descriptor Table or a Local Descriptor Table. It contains three fields and is used in a variety of situations to interact with Segmentation.
For more information, see Section 3.4.2: Segment Selectors and Figure 3-6: Segment Selector of the Intel Software Developer Manual, Volume 3-A.
Segment Selector
15 3 | 2 | 1 0 |
---|---|---|
Index | TI | RPL |
- Index: The Index of the GDT or LDT entry referenced by the selector. Since Segment Descriptors are 8 bytes in length, the value of Index is never unaligned and contains no data in the lowest 3 bits. As such Index is not shifted from a standard 16-bit representation (as if the other fields were not present).
- TI: Specifies which descriptor table to use. If clear (0) then the GDT is used, if set (1) then the LDT is used.
- RPL: The requested Privilege Level of the selector, determines if the selector is valid during permission checks and may set execution or memory access privilege.
Uses
Segment Selectors are used in a few locations, including: