diff --git a/Asuro.iso b/Asuro.iso index 3b2b01e8..6a943d2e 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 460d7082..a1816f6b 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 460d7082..a1816f6b 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/bios_data_area.ppu b/lib/bios_data_area.ppu index ddf7d5d4..d5c874fb 100644 Binary files a/lib/bios_data_area.ppu and b/lib/bios_data_area.ppu differ diff --git a/lib/console.o b/lib/console.o index 3dc3a547..77b501a8 100644 Binary files a/lib/console.o and b/lib/console.o differ diff --git a/lib/console.ppu b/lib/console.ppu index 548508cc..6a88ded3 100644 Binary files a/lib/console.ppu and b/lib/console.ppu differ diff --git a/lib/gdt.ppu b/lib/gdt.ppu index 3b2d2cde..4f8f4492 100644 Binary files a/lib/gdt.ppu and b/lib/gdt.ppu differ diff --git a/lib/idt.ppu b/lib/idt.ppu index b5aabbfc..ff49d963 100644 Binary files a/lib/idt.ppu and b/lib/idt.ppu differ diff --git a/lib/irq.ppu b/lib/irq.ppu index a158d4e1..46696e62 100644 Binary files a/lib/irq.ppu and b/lib/irq.ppu differ diff --git a/lib/isr.ppu b/lib/isr.ppu index 336c27e9..86ddb510 100644 Binary files a/lib/isr.ppu and b/lib/isr.ppu differ diff --git a/lib/isr0.ppu b/lib/isr0.ppu index 8c46808f..c2519a80 100644 Binary files a/lib/isr0.ppu and b/lib/isr0.ppu differ diff --git a/lib/isr1.ppu b/lib/isr1.ppu index 34c26278..366f4c2d 100644 Binary files a/lib/isr1.ppu and b/lib/isr1.ppu differ diff --git a/lib/isr10.ppu b/lib/isr10.ppu index b0a372df..45f679b1 100644 Binary files a/lib/isr10.ppu and b/lib/isr10.ppu differ diff --git a/lib/isr11.ppu b/lib/isr11.ppu index 3640c4d9..3e9d155a 100644 Binary files a/lib/isr11.ppu and b/lib/isr11.ppu differ diff --git a/lib/isr12.ppu b/lib/isr12.ppu index dde436ef..8e4bb87d 100644 Binary files a/lib/isr12.ppu and b/lib/isr12.ppu differ diff --git a/lib/isr13.ppu b/lib/isr13.ppu index beca2174..e9c74909 100644 Binary files a/lib/isr13.ppu and b/lib/isr13.ppu differ diff --git a/lib/isr14.ppu b/lib/isr14.ppu index 6014de14..2ab54ca8 100644 Binary files a/lib/isr14.ppu and b/lib/isr14.ppu differ diff --git a/lib/isr15.ppu b/lib/isr15.ppu index 91f6247f..ca826396 100644 Binary files a/lib/isr15.ppu and b/lib/isr15.ppu differ diff --git a/lib/isr16.ppu b/lib/isr16.ppu index 2f4823ca..ee544e87 100644 Binary files a/lib/isr16.ppu and b/lib/isr16.ppu differ diff --git a/lib/isr17.ppu b/lib/isr17.ppu index e57f3268..69dc6aa3 100644 Binary files a/lib/isr17.ppu and b/lib/isr17.ppu differ diff --git a/lib/isr18.ppu b/lib/isr18.ppu index 562a61be..1390d8a0 100644 Binary files a/lib/isr18.ppu and b/lib/isr18.ppu differ diff --git a/lib/isr2.ppu b/lib/isr2.ppu index dd2e79f6..9c74264e 100644 Binary files a/lib/isr2.ppu and b/lib/isr2.ppu differ diff --git a/lib/isr3.ppu b/lib/isr3.ppu index 0662ba7b..eacddbe8 100644 Binary files a/lib/isr3.ppu and b/lib/isr3.ppu differ diff --git a/lib/isr32.ppu b/lib/isr32.ppu index 36c8c6db..70f34f32 100644 Binary files a/lib/isr32.ppu and b/lib/isr32.ppu differ diff --git a/lib/isr33.ppu b/lib/isr33.ppu index 0e336565..1e889451 100644 Binary files a/lib/isr33.ppu and b/lib/isr33.ppu differ diff --git a/lib/isr4.ppu b/lib/isr4.ppu index 320bbaad..5a0d35f6 100644 Binary files a/lib/isr4.ppu and b/lib/isr4.ppu differ diff --git a/lib/isr40.ppu b/lib/isr40.ppu index de168b9d..74ddb174 100644 Binary files a/lib/isr40.ppu and b/lib/isr40.ppu differ diff --git a/lib/isr5.ppu b/lib/isr5.ppu index b516d95f..57e93f3a 100644 Binary files a/lib/isr5.ppu and b/lib/isr5.ppu differ diff --git a/lib/isr6.ppu b/lib/isr6.ppu index 0b479177..9bd30e19 100644 Binary files a/lib/isr6.ppu and b/lib/isr6.ppu differ diff --git a/lib/isr7.ppu b/lib/isr7.ppu index f8876b25..74bf645f 100644 Binary files a/lib/isr7.ppu and b/lib/isr7.ppu differ diff --git a/lib/isr8.ppu b/lib/isr8.ppu index 069e94de..04d1b7ba 100644 Binary files a/lib/isr8.ppu and b/lib/isr8.ppu differ diff --git a/lib/isr9.ppu b/lib/isr9.ppu index 695efec2..e6808715 100644 Binary files a/lib/isr9.ppu and b/lib/isr9.ppu differ diff --git a/lib/isr_types.ppu b/lib/isr_types.ppu index 2ce65563..d00461c4 100644 Binary files a/lib/isr_types.ppu and b/lib/isr_types.ppu differ diff --git a/lib/kernel.o b/lib/kernel.o index 02a5ef96..fe1821e9 100644 Binary files a/lib/kernel.o and b/lib/kernel.o differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 0354f5f2..f34f52fa 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/keyboard.ppu b/lib/keyboard.ppu index e86ea236..74a83799 100644 Binary files a/lib/keyboard.ppu and b/lib/keyboard.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 16cefd75..6f514617 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpkernel.a b/lib/libpkernel.a index c881207c..316cfdf9 100644 Binary files a/lib/libpkernel.a and b/lib/libpkernel.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index c57baddb..9b3febcb 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index af7a31a4..2bfc7b3f 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/multiboot.ppu b/lib/multiboot.ppu index 819b356c..641f26cc 100644 Binary files a/lib/multiboot.ppu and b/lib/multiboot.ppu differ diff --git a/lib/system.o b/lib/system.o index 06df60ef..3870b08b 100644 Binary files a/lib/system.o and b/lib/system.o differ diff --git a/lib/system.ppu b/lib/system.ppu index ecc18de0..d7f926b9 100644 Binary files a/lib/system.ppu and b/lib/system.ppu differ diff --git a/lib/util.ppu b/lib/util.ppu index a21b5706..36244b36 100644 Binary files a/lib/util.ppu and b/lib/util.ppu differ diff --git a/src/kernel.pas b/src/kernel.pas index 33bda037..3e642c0b 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -78,6 +78,7 @@ begin console.writeint(((mbinfo^.mem_upper + 1000) div 1024) + 1); console.writestringln('MB'); console.setdefaultattribute(console.combinecolors(lYellow, Black)); + console.writewordln(uint32(@util.endptr) - KERNEL_VIRTUAL_BASE); util.halt_and_dont_catch_fire; end; diff --git a/src/stub/stub.asm b/src/stub/stub.asm index 145819c4..8b662ab5 100644 --- a/src/stub/stub.asm +++ b/src/stub/stub.asm @@ -79,8 +79,7 @@ _loader: kstart: mov dword [BootPageDirectory], 0 - invlpg [0] - + invlpg [0] mov esp, KERNEL_STACK+KERNEL_STACKSIZE ;Create kernel stack push eax ;Multiboot magic number add ebx, KERNEL_VIRTUAL_BASE diff --git a/src/system.pas b/src/system.pas index 52fe7cc2..8ae0d456 100644 --- a/src/system.pas +++ b/src/system.pas @@ -11,6 +11,9 @@ unit system; interface +const + KERNEL_VIRTUAL_BASE = $C0000000; + type //internal types cardinal = 0..$FFFFFFFF; diff --git a/src/util.pas b/src/util.pas index f8bfee10..7c625ab4 100644 --- a/src/util.pas +++ b/src/util.pas @@ -32,6 +32,8 @@ function inl(port : uint16) : uint32; procedure memset(location : uint32; value : uint8; size : uint32); procedure psleep(t : uint16); +procedure endptr(); external '__end' name '__end'; + implementation uses