summaryrefslogtreecommitdiff
path: root/kernel/GDT
diff options
context:
space:
mode:
authormanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-21 14:23:57 +0400
committermanzerbredes <loic.guegan_secondary@yahoo.fr>2015-07-21 14:23:57 +0400
commit7173bb91ceaf4121a050cc8360354219d728a859 (patch)
tree135aa2e8d5b90c772a127c1917a16eee647b6baf /kernel/GDT
parentdd1226fb1f59037068096f71197dd25216e5ffc8 (diff)
Correct some mistake
Diffstat (limited to 'kernel/GDT')
-rw-r--r--kernel/GDT/gdt.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/GDT/gdt.cpp b/kernel/GDT/gdt.cpp
index 4e2c28c..3b84e71 100644
--- a/kernel/GDT/gdt.cpp
+++ b/kernel/GDT/gdt.cpp
@@ -1,5 +1,6 @@
#include "gdt.hpp"
#include "../Helpers/types.hpp"
+#include "../Helpers/memory.hpp"
Gdt::Gdt(){
@@ -39,7 +40,14 @@ void Gdt::initGdtDesc(u32 base, u32 limit, u8 access, u8 flags, gdtDescriptorStr
}
void Gdt::loadGdt(){
+ int *gdtAdress=(int *)&m_Pointer;
//Copy Gdt into memory and init registers
+ memcpy((u32)m_Descriptors, (u32)m_Pointer.segment, (u32)m_Pointer.size);
+
+ __asm__("lgdtl (%0);"
+ :
+ :"r"(gdtAdress)
+ );
}