diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/shared/segmentation.rs | 10 | ||||
-rw-r--r-- | src/shared/task.rs | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/shared/segmentation.rs b/src/shared/segmentation.rs index 2fcfa87..e836d42 100644 --- a/src/shared/segmentation.rs +++ b/src/shared/segmentation.rs @@ -107,27 +107,27 @@ impl fmt::Display for SegmentSelector { /// Reload stack segment register. pub unsafe fn load_ss(sel: SegmentSelector) { - asm!("movw $0, %ss " :: "r" (sel) : "memory"); + asm!("movw $0, %ss " :: "r" (sel.bits()) : "memory"); } /// Reload data segment register. pub unsafe fn load_ds(sel: SegmentSelector) { - asm!("movw $0, %ds " :: "r" (sel) : "memory"); + asm!("movw $0, %ds " :: "r" (sel.bits()) : "memory"); } /// Reload es segment register. pub unsafe fn load_es(sel: SegmentSelector) { - asm!("movw $0, %es " :: "r" (sel) : "memory"); + asm!("movw $0, %es " :: "r" (sel.bits()) : "memory"); } /// Reload fs segment register. pub unsafe fn load_fs(sel: SegmentSelector) { - asm!("movw $0, %fs " :: "r" (sel) : "memory"); + asm!("movw $0, %fs " :: "r" (sel.bits()) : "memory"); } /// Reload gs segment register. pub unsafe fn load_gs(sel: SegmentSelector) { - asm!("movw $0, %gs " :: "r" (sel) : "memory"); + asm!("movw $0, %gs " :: "r" (sel.bits()) : "memory"); } /// Returns the current value of the code segment register. diff --git a/src/shared/task.rs b/src/shared/task.rs index b87c032..27fd0bc 100644 --- a/src/shared/task.rs +++ b/src/shared/task.rs @@ -5,5 +5,5 @@ pub use shared::segmentation; /// Load the task state register. pub unsafe fn load_tr(sel: segmentation::SegmentSelector) { - asm!("ltr $0" :: "r" (sel)); + asm!("ltr $0" :: "r" (sel.bits())); } |