@@ -39,29 +39,38 @@ void heap_init() {
3939 free_blocks -> page = NULL ;
4040
4141 kprint ("Heap initialized at virtual: " );
42+ <<<<<<< HEAD
4243<<<<<<< HEAD
4344 kprint ("Heap initialized at virtual: " );
4445= == == ==
46+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
47+ == == == =
4548>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
4649 char buf [32 ] = "" ;
4750 hex_to_ascii (HEAP_VIRTUAL_START , buf );
4851 kprint (buf );
4952 kprint (", physical: " );
5053 hex_to_ascii (heap_physical_start , buf );
54+ <<<<<<< HEAD
5155<<<<<<< HEAD
5256 hex_to_ascii (HEAP_VIRTUAL_START , buf );
5357 kprint (buf );
5458 kprint (", physical: " );
5559 hex_to_ascii (heap_physical_start , buf );
5660= == == ==
61+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
62+ == == == =
5763>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
5864 kprint (buf );
5965 kprint ("\n" );
6066}
6167
6268
69+ <<<<<<< HEAD
6370<<<<<<< HEAD
6471
72+ == = == ==
73+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
6574== = == ==
6675>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
6776// TODO: Paging is not implemented
@@ -95,6 +104,7 @@ void *kmalloc_a(u32 size) {
95104 }
96105
97106 return virtual_addr ;
107+ <<<<<<< HEAD
98108<<<<<<< HEAD
99109 return get_physical_address (virtualaddr );
100110}
@@ -127,6 +137,8 @@ void *kmalloc_a(u32 size) {
127137 return virtual_addr ;
128138= == == ==
129139>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
140+ == == == =
141+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
130142}
131143
132144void * kmalloc (u32 size ) {
@@ -176,9 +188,12 @@ void *kmalloc(u32 size) {
176188
177189 current -> is_free = 0 ;
178190 return (void * )((u32 )current + sizeof (mem_block_t ));
191+ <<<<<<< HEAD
179192<<<<<<< HEAD
180193 return (void * )((u32 )current + sizeof (mem_block_t ));
181194= == == ==
195+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
196+ == == == =
182197>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
183198 }
184199 prev = current ;
@@ -299,10 +314,13 @@ meminfo_t get_meminfo() {
299314
300315 meminfo .heap_virtual_start = HEAP_VIRTUAL_START ;
301316 meminfo .heap_physical_start = heap_physical_start ;
317+ <<<<<<< HEAD
302318<<<<<<< HEAD
303319 meminfo .heap_virtual_start = HEAP_VIRTUAL_START ;
304320 meminfo .heap_physical_start = heap_physical_start ;
305321= == == ==
322+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
323+ == == == =
306324>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
307325 meminfo .heap_size = HEAP_SIZE ;
308326 meminfo .block_size = BLOCK_SIZE ;
@@ -317,23 +335,29 @@ meminfo_t get_meminfo() {
317335 meminfo .used_pages = 256 ; // Примерное значение
318336 meminfo .free_pages = 768 ; // Примерное значение
319337
338+ <<<<<<< HEAD
320339<<<<<<< HEAD
321340 // Информация о страницах (заглушка)
322341 meminfo .page_directory_phys = (u32 )get_physical_address (get_current_page_directory ());
323342 meminfo .total_pages = 1024 ; // Примерное значение
324343 meminfo .used_pages = 256 ; // Примерное значение
325344 meminfo .free_pages = 768 ; // Примерное значение
326345
346+ = == == ==
347+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
327348== == == =
328349>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
329350 return meminfo ;
330351}
331352
332353// Дамп информации о памяти
333354<<<<<<< HEAD
355+ <<<<<<< HEAD
334356// Дамп информации о памяти
335357== = == ==
336358>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
359+ == == == =
360+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
337361void kmemdump () {
338362 meminfo_t info = get_meminfo ();
339363 mem_block_t * current = info .free_blocks ;
@@ -343,35 +367,44 @@ void kmemdump() {
343367 info .heap_virtual_start + info .heap_size , info .heap_size );
344368 kprintf ("Heap: physical %x - %x\n" , info .heap_physical_start ,
345369 info .heap_physical_start + info .heap_size );
370+ <<<<<<< HEAD
346371<<<<<<< HEAD
347372 kprintf ("Heap: virtual %x - %x (%d bytes)\n" , info .heap_virtual_start ,
348373 info .heap_virtual_start + info .heap_size , info .heap_size );
349374 kprintf ("Heap: physical %x - %x\n" , info .heap_physical_start ,
350375 info .heap_physical_start + info .heap_size );
351376= == == ==
377+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
378+ == == == =
352379>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
353380 kprintf ("Block size: %d bytes\n" , info .block_size );
354381 kprintf ("Total: USED=%d bytes, FREE=%d bytes, in %d blocks\n" ,
355382 info .total_used , info .total_free , info .block_count );
356383 kprintf ("Pages: TOTAL=%d, USED=%d, FREE=%d\n\n" ,
357384 info .total_pages , info .used_pages , info .free_pages );
385+ <<<<<<< HEAD
358386<<<<<<< HEAD
359387 kprintf ("Total: USED=%d bytes, FREE=%d bytes, in %d blocks\n" ,
360388 info .total_used , info .total_free , info .block_count );
361389 kprintf ("Pages: TOTAL=%d, USED=%d, FREE=%d\n\n" ,
362390 info .total_pages , info .used_pages , info .free_pages );
363391= == == ==
392+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
393+ == == == =
364394>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
365395
366396 while (current ) {
367397 kprintf ("Block %d: virt=%x, phys=%x, Size=%d, %s\n" , counter ++ ,
368398 (u32 )current , (u32 )get_physical_address (current ),
369399 current -> size , current -> is_free ? "FREE" : "USED" );
400+ <<<<<<< HEAD
370401<<<<<<< HEAD
371402 kprintf ("Block %d: virt=%x, phys=%x, Size=%d, %s\n" , counter ++ ,
372403 (u32 )current , (u32 )get_physical_address (current ),
373404 current -> size , current -> is_free ? "FREE" : "USED" );
374405= == == ==
406+ >>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
407+ == == == =
375408>>>>>>> 3f e2ead (realize paging memory , add kmalloc aligned ; todo : realize kmemdump fully )
376409 current = current -> next ;
377410 }
0 commit comments