aboutsummaryrefslogtreecommitdiff
path: root/src/kernel/io
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/io')
-rw-r--r--src/kernel/io/io.c5
-rw-r--r--src/kernel/io/io.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/kernel/io/io.c b/src/kernel/io/io.c
index af5f008..1ef82b6 100644
--- a/src/kernel/io/io.c
+++ b/src/kernel/io/io.c
@@ -98,6 +98,11 @@ void cr0_set(u32 cr0)
asm volatile("movl %%eax, %%cr0" ::"a"(cr0));
}
+void invlpg(u32 addr)
+{
+ asm volatile("invlpg (%0)" ::"r"(addr) : "memory");
+}
+
void serial_install()
{
outb(0x3f8 + 1, 0x00);
diff --git a/src/kernel/io/io.h b/src/kernel/io/io.h
index ce3c72b..9274dfb 100644
--- a/src/kernel/io/io.h
+++ b/src/kernel/io/io.h
@@ -55,6 +55,7 @@ u32 cr3_get();
void cr3_set(u32 cr3);
u32 cr0_get();
void cr0_set(u32 cr0);
+void invlpg(u32 addr);
/**
* Initialize the serial conenction