Skip to content

Commit 875d2c4

Browse files
committed
fix limit of the TSS descriptor
without this fix, the processor assumes that a I/O permission map is available
1 parent 9056715 commit 875d2c4

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

src/arch/x86_64/kernel/gdt.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ pub fn init() {
116116
let tss_descriptor: Descriptor64 =
117117
<DescriptorBuilder as GateDescriptorBuilder<u64>>::tss_descriptor(
118118
base,
119-
base + mem::size_of::<TaskStateSegment>() as u64 - 1,
119+
mem::size_of::<TaskStateSegment>() as u64 - 1,
120120
true,
121121
)
122122
.present()
@@ -138,8 +138,6 @@ pub fn init() {
138138

139139
// Reload the segment descriptors
140140
load_cs(SegmentSelector::new(GDT_KERNEL_CODE as u16, Ring::Ring0));
141-
load_ds(SegmentSelector::new(GDT_KERNEL_DATA as u16, Ring::Ring0));
142-
load_es(SegmentSelector::new(GDT_KERNEL_DATA as u16, Ring::Ring0));
143141
load_ss(SegmentSelector::new(GDT_KERNEL_DATA as u16, Ring::Ring0));
144142
}
145143
}

0 commit comments

Comments
 (0)