aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/shared/segmentation.rs10
-rw-r--r--src/shared/task.rs2
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()));
}