diff --git a/Asuro.iso b/Asuro.iso index 8fd335fa..7f0d39f5 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index fdf51bac..40633638 100755 Binary files a/bin/kernel.bin and b/bin/kernel.bin differ diff --git a/iso/boot/asuro.bin b/iso/boot/asuro.bin index fdf51bac..40633638 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index b598c792..e3d56cc7 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 990726ac..8c58c501 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 3f7d1406..fb7c6210 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index c8952e56..4a6933a1 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/tss.ppu b/lib/tss.ppu index e70f4416..3e9fd2a2 100644 Binary files a/lib/tss.ppu and b/lib/tss.ppu differ diff --git a/src/kernel.pas b/src/kernel.pas index 2d9cd84b..1fdb448c 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -67,11 +67,11 @@ begin idt.init(); isr.init(); irq.init(); - tss.init(); pmemorymanager.init(); vmemorymanager.init(); lmemorymanager.init(); scheduler.init(); + tss.init(); while true do begin end; diff --git a/src/tss.pas b/src/tss.pas index e21d6011..34817444 100644 --- a/src/tss.pas +++ b/src/tss.pas @@ -198,10 +198,10 @@ begin end; console.writewordln(sizeof(TTaskStateSegment)); ptrTaskStateSegment^.esp0:= cESP; - //ptrTaskStateSegment^.CR3:= cCR3; + ptrTaskStateSegment^.CR3:= cCR3; console.writestring('OLD LIMIT: '); console.writewordln(gdt.gdt_pointer.limit); - //gdt.set_gate($05, uint32(ptrTaskStateSegment)-KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment)-1, $89, $40); //OFFSET: 40 + gdt.set_gate($05, uint32(ptrTaskStateSegment)-KERNEL_VIRTUAL_BASE, sizeof(TTaskStateSegment)-1, $89, $40); //OFFSET: 40 console.writestring('NEW LIMIT: '); console.writewordln(gdt.gdt_pointer.limit); gdt.reload;