also you might want to check the gdtr as well. I forgot to update the gdtr to 4, and it just keeps on rebooting or something. AR spotted that.
Which code did you use from me? I didn't post all of the code.
But may be you need these lines 2 in your gdt.
Code: Select all
gdtr[0].limit = (sizeof(struct gdt_descriptor)*4)-1; //changed from 3 to 4
gdtr[0].base = (int) gdt;
gdt_flush(); //to flush out the old GDT and install new changes.