diff --git a/src/sys/init/main.c b/src/sys/init/main.c index f6db58c..5507f3d 100755 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -9,8 +9,6 @@ #include #include -unsigned char KERNEL_STACK[8192]; - int main(); descriptorTable(GDT,5) { @@ -24,25 +22,22 @@ struct { unsigned short limit __attribute__ ((packed)); union descriptorTableunion *idt __attribute__ ((packed)); - } loadgdt = { (5 * sizeof(union descriptorTableunion) - 1), GDT }; + } loadGdt = { (5 * sizeof(union descriptorTableunion) - 1), GDT }; void _start(void) { asm( - "lgdtl (loadgdt) \n" - "movw $0x10,%%ax \n" - "movw %%ax,%%ds \n" - "movw %%ax,%%es \n" - "movw %%ax,%%fs \n" - "movw %%ax,%%gs \n" - "movw %%ax,%%ss \n" - "movl $0xFFFF,%%esp \n" - "mov $0x18,%%ax \n" //Set up dummy LDT - "lldt %%ax \n" - "mov $0x20,%%ax \n" // Set up dummy TSS - "ltr %%ax \n" // Loads dummy TSS - : - : "r" (GDT), "p" (KERNEL_STACK+4096) - : "%eax" + "lgdtl (loadGdt) \n" + "movw $0x10,%ax \n" + "movw %ax,%ds \n" + "movw %ax,%es \n" + "movw %ax,%fs \n" + "movw %ax,%gs \n" + "movw %ax,%ss \n" + "movl $0xFFFF,%esp \n" + "mov $0x18,%ax \n" //Set up dummy LDT + "lldt %ax \n" + "mov $0x20,%ax \n" // Set up dummy TSS + "ltr %ax \n" // Loads dummy TSS ); main(); //Start Of Kernel Functionality while(1);