aboutsummaryrefslogtreecommitdiff
path: root/mirai/asm/interrupts/idt.zig
diff options
context:
space:
mode:
Diffstat (limited to 'mirai/asm/interrupts/idt.zig')
-rw-r--r--mirai/asm/interrupts/idt.zig17
1 files changed, 17 insertions, 0 deletions
diff --git a/mirai/asm/interrupts/idt.zig b/mirai/asm/interrupts/idt.zig
new file mode 100644
index 0000000..85147a2
--- /dev/null
+++ b/mirai/asm/interrupts/idt.zig
@@ -0,0 +1,17 @@
+//! IDT Assembly Operations
+
+pub fn lidt(desc: *const anyopaque) void {
+ asm volatile ("lidt (%[desc])"
+ :
+ : [desc] "r" (desc),
+ : .{ .memory = true }
+ );
+}
+
+pub fn sidt(desc: *anyopaque) void {
+ asm volatile ("sidt (%[desc])"
+ :
+ : [desc] "r" (desc),
+ : .{ .memory = true }
+ );
+}