aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/controlregs.rs5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/controlregs.rs b/src/controlregs.rs
index b09a48a..1445eab 100644
--- a/src/controlregs.rs
+++ b/src/controlregs.rs
@@ -77,6 +77,11 @@ pub unsafe fn cr2() -> usize {
ret
}
+/// Write cr2, for instance to reset cr2
+pub unsafe fn cr2_write(val: u64) {
+ asm!("mov $0, %cr2" :: "r" (val) : "memory");
+}
+
/// Contains page-table root pointer.
pub unsafe fn cr3() -> u64 {
let ret: u64;