diff --git a/Asuro.iso b/Asuro.iso index ed8b1d2a..2b0e8830 100644 Binary files a/Asuro.iso and b/Asuro.iso differ diff --git a/bin/kernel.bin b/bin/kernel.bin index 959258e0..f3490916 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 959258e0..f3490916 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 aa9181eb..14245e40 100644 Binary files a/lib/kernel.ppu and b/lib/kernel.ppu differ diff --git a/lib/libpconsole.a b/lib/libpconsole.a index 2500c724..b03dafcb 100644 Binary files a/lib/libpconsole.a and b/lib/libpconsole.a differ diff --git a/lib/libpmultiboot.a b/lib/libpmultiboot.a index cc2e2afe..98fd3980 100644 Binary files a/lib/libpmultiboot.a and b/lib/libpmultiboot.a differ diff --git a/lib/libpsystem.a b/lib/libpsystem.a index 4980f640..0de221cb 100644 Binary files a/lib/libpsystem.a and b/lib/libpsystem.a differ diff --git a/lib/pmemorymanager.ppu b/lib/pmemorymanager.ppu index 8ca9c164..87ff3023 100644 Binary files a/lib/pmemorymanager.ppu and b/lib/pmemorymanager.ppu differ diff --git a/lib/vmemorymanager.ppu b/lib/vmemorymanager.ppu index 38855212..8701676d 100644 Binary files a/lib/vmemorymanager.ppu and b/lib/vmemorymanager.ppu differ diff --git a/src/driver/USB.pas b/src/driver/USB.pas index e925190b..b07a1554 100644 --- a/src/driver/USB.pas +++ b/src/driver/USB.pas @@ -5,7 +5,9 @@ interface uses Console, PCI, - drivertypes; + drivertypes, + pmemorymanager, + vmemorymanager; procedure init; @@ -16,6 +18,7 @@ var devices : TDeviceArray; count : uint32; i : uint32; + block : uint32; begin console.writestringln('USB: INIT BEGIN.'); @@ -51,6 +54,9 @@ begin console.writehex(devices[i].vendor_id); console.writestring(' '); console.writehexln(devices[i].prog_if); + block:= devices[i].address0 SHR 22; + force_alloc_block(block, 0); + map_page(block, block); end; end; diff --git a/src/pmemorymanager.pas b/src/pmemorymanager.pas index 0fb55a00..83805634 100644 --- a/src/pmemorymanager.pas +++ b/src/pmemorymanager.pas @@ -27,6 +27,7 @@ type procedure init; function alloc_block(block : uint16; caller : uint32) : boolean; +procedure force_alloc_block(block : uint16; caller : uint32); function new_block(caller : uint32) : uint16; procedure free_block(block : uint16; caller : uint32);