From e0c565f7ff7620dca9dfc6c607f4798f5291c7bf Mon Sep 17 00:00:00 2001 From: manzerbredes Date: Tue, 28 Jul 2015 14:19:00 +0400 Subject: Go back to C and adapt code --- kernel/GDT/gdt.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 kernel/GDT/gdt.h (limited to 'kernel/GDT/gdt.h') diff --git a/kernel/GDT/gdt.h b/kernel/GDT/gdt.h new file mode 100644 index 0000000..86cdaf3 --- /dev/null +++ b/kernel/GDT/gdt.h @@ -0,0 +1,37 @@ +#ifndef __GDT__ +#define __GDT__ + +#include "../Helpers/types.h" + + +//Define GDT pointer +struct GdtPointerStruct{ + u16 size; + u32 segment; +} __attribute__ ((packed)); + + +//Define GDT descriptor +struct GdtDescriptorStruct{ + u16 limit1; + u16 base1; + u8 base2; + u8 access; + u8 limit2 : 4; + u8 flags : 4; + u8 base3; +} __attribute__ ((packed)); + + +//Typedef : +typedef struct GdtPointerStruct GdtPointerStruct; +typedef struct GdtDescriptorStruct GdtDescriptorStruct; + + +//Functions : +void gdt_initGdtDesc(u32 base, u32 limit, u8 access, u8 flags, GdtDescriptorStruct *Descriptor); +void gdt_loadGdt(); + + + +#endif -- cgit v1.2.3