diff --git a/Asuro.iso b/Asuro.iso index 8b2e4432..3cb4b501 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 706b17b1..9ba38f78 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 706b17b1..9ba38f78 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 4f2ccdf7..bab3eecd 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index e12e7492..c310e901 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index b37f4d00..f8a24fbe 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index a4892598..e2117c92 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/src/gdt.pas b/src/gdt.pas index 5854fb55..6c38ba5f 100644 --- a/src/gdt.pas +++ b/src/gdt.pas @@ -70,6 +70,7 @@ end; procedure reload; begin + console.writestringln('GDT: RELOAD.'); reload_gdt(uint32(@gdt_pointer)); end; @@ -80,8 +81,6 @@ var begin lLimit:= (Gate_Number + 1) * 8; lLimit:= lLimit - 1; - writestring('lLimit: '); - writewordln(lLimit); if lLimit > gdt_pointer.limit then begin gdt_pointer.limit:= lLimit; end; diff --git a/src/kernel.pas b/src/kernel.pas index a7f2b16a..86eadd5e 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -66,8 +66,8 @@ begin pmemorymanager.init(); vmemorymanager.init(); lmemorymanager.init(); - scheduler.init(); tss.init(); + scheduler.init(); STI; isr32.hook(uint32(@bios_data_area.tick_update)); diff --git a/src/tss.pas b/src/tss.pas index e9c6ddc8..882d69c4 100644 --- a/src/tss.pas +++ b/src/tss.pas @@ -188,7 +188,7 @@ var cCR3 : uint32; begin - console.writehexln(uint32(ptrTaskStateSegment)); + console.writestringln('TSS: INIT BEGIN.') ptrTaskStateSegment^.ss0:= $08; ptrTaskStateSegment^.iomap:= sizeof(TTaskStateSegment)-1; asm @@ -199,19 +199,13 @@ begin console.writewordln(sizeof(TTaskStateSegment)); ptrTaskStateSegment^.esp0:= cESP; 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 - console.writestring('NEW LIMIT: '); - console.writewordln(gdt.gdt_pointer.limit); gdt.reload; - //while true do begin end; - console.writestringln('A'); asm mov AX, 40 ltr AX end; - console.writestringln('B'); + console.writestringln('TSS: INIT END.') end; end. \ No newline at end of file