Subversion Repositories Kolibri OS

Rev

Rev 1161 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1161 Rev 1198
Line 89... Line 89...
89
}
89
}
Line 90... Line 90...
90
 
90
 
91
align 4
91
align 4
Line 92... Line 92...
92
proc init_kernel_heap
92
proc init_kernel_heap
93
 
93
 
94
	   mov ecx, 64/4
94
           mov ecx, 64
95
	   mov edi, mem_block_list
95
           mov edi, mem_block_list
96
	   xor eax, eax
96
           xor eax, eax
Line 136... Line 136...
136
	   mov [ebx+block_prev], eax
136
	   mov [ebx+block_prev], eax
137
	   mov [ebx+list_fd], eax
137
	   mov [ebx+list_fd], eax
138
	   mov [ebx+list_bk], eax
138
	   mov [ebx+list_bk], eax
139
	   mov [ebx+block_base], HEAP_BASE+4096*MEM_BLOCK_SIZE
139
	   mov [ebx+block_base], HEAP_BASE+4096*MEM_BLOCK_SIZE
Line -... Line 140...
-
 
140
 
140
 
141
           mov ecx, [pg_data.kernel_pages]
141
	   mov ecx, [MEM_AMOUNT]
142
           shl ecx, 12
142
	   sub ecx, (HEAP_BASE - OS_BASE + 4096*MEM_BLOCK_SIZE)
143
           sub ecx, HEAP_BASE+4096*MEM_BLOCK_SIZE
143
	   mov [heap_size], ecx
144
           mov [heap_size], ecx
144
	   mov [heap_free], ecx
145
           mov [heap_free], ecx
145
	   mov [ebx+block_size], ecx
146
           mov [ebx+block_size], ecx
Line 150... Line 151...
150
 
151
 
151
	   mov [mem_block_list+63*4], ebx
152
           mov [mem_block_list+63*4], ebx
152
	   mov byte [mem_block_map], 0xFC
153
           mov byte [mem_block_map], 0xFC
153
	   and [heap_mutex], 0
154
           and [heap_mutex], 0
154
	   mov [heap_blocks], 4095
155
           mov [heap_blocks], 4095
155
	   mov [free_blocks], 4095
156
           mov [free_blocks], 4094
156
	   ret
157
           ret
Line 157... Line 158...
157
endp
158
endp
158
 
159