Skip to content

Commit e33cabc

Browse files
author
Michael Jenny
committed
Correct wrong comment. Unlike the comment suggests, more descriptors fields than mentioned in the comment are recognized by the CPU
1 parent 8922d8d commit e33cabc

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

src/registers/segmentation.rs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,12 @@ impl fmt::Debug for SegmentSelector {
107107

108108
/// Code Segment
109109
///
110-
/// The segment base and limit are unused in 64-bit mode. Only the L (long), D
111-
/// (default operation size), and DPL (descriptor privilege-level) fields of the
112-
/// descriptor are recognized. So changing the segment register can be used to
113-
/// change privilege level or enable/disable long mode.
110+
/// Most fields like the segment base and limit are unused in 64-bit mode.
111+
/// Only the LONG_MODE, PRESENT, USER_SEGMENT, EXECUTABLE, DEFAULT_SIZE (default operand size)
112+
/// and DPL_RING_3 (descriptor privilege-level) fields of the
113+
/// descriptor are recognized by the CPU. Some of them (e.g. DEFAULT_SIZE) are required to hold
114+
/// a specific value and can't be changed. Others like the DPL_RING_3 and LONG_MODE
115+
/// can be used to change privilege level or enable/disable long mode.
114116
#[derive(Debug)]
115117
pub struct CS;
116118

0 commit comments

Comments
 (0)