diff --git a/Asuro.iso b/Asuro.iso index 714679da..47f2d212 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index d606dca1..f2b3c71f 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 d606dca1..f2b3c71f 100755 Binary files a/iso/boot/asuro.bin and b/iso/boot/asuro.bin differ diff --git a/lib/AHCI.ppu b/lib/AHCI.ppu index d9fdcc37..9f3176b9 100644 Binary files a/lib/AHCI.ppu and b/lib/AHCI.ppu differ diff --git a/lib/E1000.ppu b/lib/E1000.ppu index b9f2bc9b..df44304a 100644 Binary files a/lib/E1000.ppu and b/lib/E1000.ppu differ diff --git a/lib/PCI.ppu b/lib/PCI.ppu index 5ce5c4e2..b4f5c41c 100644 Binary files a/lib/PCI.ppu and b/lib/PCI.ppu differ diff --git a/lib/drivermanagement.ppu b/lib/drivermanagement.ppu index 09a87d38..9d080637 100644 Binary files a/lib/drivermanagement.ppu and b/lib/drivermanagement.ppu differ diff --git a/lib/kernel.ppu b/lib/kernel.ppu index 956747c8..6fbe44d2 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 98a3fc44..4e5a43d4 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index 33ca1d01..edac6578 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 4d3105e1..a3d0f3b9 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/lmemorymanager.ppu b/lib/lmemorymanager.ppu index eb4623be..9c649401 100644 Binary files a/lib/lmemorymanager.ppu and b/lib/lmemorymanager.ppu differ diff --git a/lib/mouse.ppu b/lib/mouse.ppu index 350263d0..ff2e687d 100644 Binary files a/lib/mouse.ppu and b/lib/mouse.ppu differ diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index 69337f92..2ea1e620 100644 Binary files a/lib/pmemorymanager.ppu and b/lib/pmemorymanager.ppu differ diff --git a/lib/scheduler.ppu b/lib/scheduler.ppu index 93775fd8..b3a6507d 100644 Binary files a/lib/scheduler.ppu and b/lib/scheduler.ppu differ diff --git a/lib/strings.ppu b/lib/strings.ppu index 06cf691d..65dd0f1c 100644 Binary files a/lib/strings.ppu and b/lib/strings.ppu differ diff --git a/lib/terminal.ppu b/lib/terminal.ppu index b852c48c..a981f485 100644 Binary files a/lib/terminal.ppu and b/lib/terminal.ppu differ diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 2e1b8645..116f730e 100644 Binary files a/lib/vmemorymanager.ppu and b/lib/vmemorymanager.ppu differ diff --git a/src/kernel.pas b/src/kernel.pas index 5eff3bba..e7d51c21 100644 --- a/src/kernel.pas +++ b/src/kernel.pas @@ -71,6 +71,7 @@ var temp : uint32; atmp : puint32; + test : puint8; begin multibootinfo:= mbinfo; @@ -146,6 +147,7 @@ begin console.writestringln(''); console.writestringln('Press any key to boot in to Asuro Terminal...'); keyboard.hook(@temphook); + util.halt_and_dont_catch_fire; end; diff --git a/src/lmemorymanager.pas b/src/lmemorymanager.pas index 316b746b..ab1e397f 100644 --- a/src/lmemorymanager.pas +++ b/src/lmemorymanager.pas @@ -14,6 +14,7 @@ interface uses util, vmemorymanager, + pmemorymanager, console; const @@ -45,6 +46,7 @@ var procedure init; function kalloc(size : uint32) : void; +function kpalloc(address : uint32) : void; procedure kfree(area : void); implementation @@ -97,6 +99,17 @@ begin console.writestringln('LMM: INIT END.'); end; +function kpalloc(address : uint32) : void; +var + block : uint16; + +begin + block:= address SHR 22; + force_alloc_block(block, 0); + map_page(block, block); + kpalloc:= void(block SHL 22); +end; + function kalloc(size : uint32) : void; var Heap_Entries : uint32; diff --git a/src/pmemorymanager.pas b/src/pmemorymanager.pas index 83805634..7d983286 100644 --- a/src/pmemorymanager.pas +++ b/src/pmemorymanager.pas @@ -129,13 +129,13 @@ begin end else begin PhysicalMemory[block].Allocated:= True; PhysicalMemory[block].MappedTo:= caller; - // console.writestring('PMM: 4MiB Block Allocated @ '); - // console.writeword(block); - // console.writestring(' ['); - // console.writehex(block SHL 22); - // console.writestring(' - '); - // console.writehex(((block+1) SHL 22)); - // console.writestringln(']'); + console.writestring('PMM: 4MiB Block Allocated @ '); + console.writeword(block); + console.writestring(' ['); + console.writehex(block SHL 22); + console.writestring(' - '); + console.writehex(((block+1) SHL 22)); + console.writestringln(']'); alloc_block:= true; end; end else begin diff --git a/src/vmemorymanager.pas b/src/vmemorymanager.pas index ce2e5187..4c282365 100644 --- a/src/vmemorymanager.pas +++ b/src/vmemorymanager.pas @@ -112,10 +112,10 @@ begin PD^[page_number].PageSize:= true; PD^[page_number].Writable:= true; - //console.writestringln('VMM: New Page Added:'); + // console.writestringln('VMM: New Page Added:'); - //console.writestring('VMM: - P:'); - //console.writehex(page_number); + // console.writestring('VMM: - P:'); + // console.writehex(page_number); // console.writestring('-->B:'); // console.writehexln(block); @@ -128,6 +128,7 @@ begin // console.writestring(' - '); // console.writehex(((block+1) SHL 22)); // console.writestringln(']'); + map_page_ex:= true; end;