git-svn-id: https://spexeah.com:8443/svn/Asuro@571 6dbc8c32-bb84-406f-8558-d1cf31a0ab0c
This commit is contained in:
@ -57,13 +57,13 @@ var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.new_lmm_page');
|
||||
//push_trace('lmemorymanager.new_lmm_page');
|
||||
i:= KERNEL_PAGE_NUMBER + 4;
|
||||
while not vmemorymanager.new_page(i) do begin
|
||||
i:= i + 1;
|
||||
end;
|
||||
new_lmm_page:= i SHL 22;
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
function new_heap_page(CurrentPage : PHeapPage) : PHeapPage;
|
||||
@ -71,7 +71,7 @@ var
|
||||
i : integer;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.new_heap_page');
|
||||
//push_trace('lmemorymanager.new_heap_page');
|
||||
new_heap_page:= PHeapPage(new_lmm_page);
|
||||
if CurrentPage <> nil then CurrentPage^.Next_Page:= uint32(new_heap_page);
|
||||
new_heap_page^.Next_Page:= 0;
|
||||
@ -83,7 +83,7 @@ begin
|
||||
Last:= False;
|
||||
end;
|
||||
end;
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
procedure init;
|
||||
@ -91,7 +91,7 @@ var
|
||||
i : uint32;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.init');
|
||||
//push_trace('lmemorymanager.init');
|
||||
console.outputln('LMM','INIT BEGIN.');
|
||||
Root_Page:= PHeapPage(new_lmm_page);
|
||||
Search_Page:= Root_Page;
|
||||
@ -103,7 +103,7 @@ begin
|
||||
Root_Page^.Entries[i].Last:= False;
|
||||
end;
|
||||
console.outputln('LMM','INIT END.');
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
function kpalloc(address : uint32) : void;
|
||||
@ -111,12 +111,12 @@ var
|
||||
block : uint16;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.kpalloc');
|
||||
//push_trace('lmemorymanager.kpalloc');
|
||||
block:= address SHR 22;
|
||||
force_alloc_block(block, 0);
|
||||
map_page(block, block);
|
||||
kpalloc:= void(block SHL 22);
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
function kalloc(size : uint32) : void;
|
||||
@ -127,7 +127,7 @@ var
|
||||
miss : boolean;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.kalloc');
|
||||
//push_trace('lmemorymanager.kalloc');
|
||||
Heap_Entries:= size div 8;
|
||||
If sint32(size-(Heap_Entries*8)) > 0 then Heap_Entries:= Heap_Entries + 1;
|
||||
hp:= Search_Page;
|
||||
@ -163,7 +163,7 @@ begin
|
||||
Search_Page:= hp;
|
||||
end;
|
||||
end;
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
procedure kfree(area : void);
|
||||
@ -172,7 +172,7 @@ var
|
||||
entry : uint32;
|
||||
|
||||
begin
|
||||
push_trace('lmemorymanager.kfree');
|
||||
//push_trace('lmemorymanager.kfree');
|
||||
hp:= PHeapPage((uint32(area) SHR 22) SHL 22);
|
||||
entry:= (uint32(area) - DATA_OFFSET - uint32(hp)) div 8;
|
||||
if hp^.Entries[entry].Present then begin
|
||||
@ -192,7 +192,7 @@ begin
|
||||
end else begin
|
||||
GPF;
|
||||
end;
|
||||
pop_trace;
|
||||
//pop_trace;
|
||||
end;
|
||||
|
||||
end.
|
Reference in New Issue
Block a user