diff --git a/src/mem/memory_manager.c b/src/mem/memory_manager.c index 8e63adc..41c9698 100644 --- a/src/mem/memory_manager.c +++ b/src/mem/memory_manager.c @@ -371,155 +371,3 @@ MemStats memory_get_stats(void) { return stats; } - -void memory_print_stats(void) { - MemStats stats = memory_get_stats(); - - // Use CLI write functions - declare as extern - extern void cmd_write(const char *str); - extern void cmd_write_int(int n); - extern void cmd_putchar(char c); - - cmd_write("\n=== MEMORY STATISTICS ===\n"); - cmd_write("Total Memory: "); - cmd_write_int(stats.total_memory / 1024); - cmd_write(" KB\n"); - - cmd_write("Used Memory: "); - cmd_write_int(stats.used_memory / 1024); - cmd_write(" KB\n"); - - cmd_write("Available Memory: "); - cmd_write_int(stats.available_memory / 1024); - cmd_write(" KB\n"); - - cmd_write("Allocated Blocks: "); - cmd_write_int(stats.allocated_blocks); - cmd_write("\n"); - - cmd_write("Free Blocks: "); - cmd_write_int(stats.free_blocks); - cmd_write("\n"); - - cmd_write("Largest Free: "); - cmd_write_int(stats.largest_free_block / 1024); - cmd_write(" KB\n"); - - cmd_write("Peak Usage: "); - cmd_write_int(stats.peak_memory_used / 1024); - cmd_write(" KB\n"); - - cmd_write("Fragmentation: "); - cmd_write_int(stats.fragmentation_percent); - cmd_write("%\n"); - - cmd_write("Usage: "); - int usage_percent = (stats.used_memory * 100) / stats.total_memory; - cmd_write_int(usage_percent); - cmd_write("%\n"); - - cmd_write("========================\n\n"); -} - -void memory_print_detailed(void) { - extern void cmd_write(const char *str); - extern void cmd_write_int(int n); - extern void cmd_putchar(char c); - - cmd_write("\n=== DETAILED MEMORY BLOCKS ===\n"); - cmd_write("ID Address Size Status\n"); - cmd_write("------ -------- -------- --------\n"); - - for (int i = 0; i < block_count; i++) { - if (block_list[i].size == 0) continue; - - // ID - cmd_write_int(block_list[i].allocation_id); - cmd_write(" "); - - // Address (simplified hex output) - cmd_write("0x"); - cmd_write_int((uintptr_t)block_list[i].address / 1024); - cmd_write(" "); - - // Size - cmd_write_int(block_list[i].size / 1024); - cmd_write("KB "); - - // Status - if (block_list[i].allocated) { - cmd_write("ALLOC\n"); - } else { - cmd_write("FREE\n"); - } - } - - cmd_write("==============================\n\n"); -} - -void memory_validate(void) { - extern void cmd_write(const char *str); - extern void cmd_write_int(int n); - - int errors = 0; - - // Check for overlapping blocks - for (int i = 0; i < block_count; i++) { - for (int j = i + 1; j < block_count; j++) { - void *i_start = block_list[i].address; - void *i_end = (uint8_t *)i_start + block_list[i].size; - void *j_start = block_list[j].address; - void *j_end = (uint8_t *)j_start + block_list[j].size; - - if (i_start < j_end && i_end > j_start) { - errors++; - cmd_write("ERROR: Overlapping blocks detected!\n"); - } - } - } - - if (errors == 0) { - cmd_write("Memory validation: [OK]\n"); - } else { - cmd_write("Memory validation failed with "); - cmd_write_int(errors); - cmd_write(" errors\n"); - } -} - -void memory_dump_blocks(void) { - extern void cmd_write(const char *str); - extern void cmd_write_int(int n); - - cmd_write("\nMemory block dump:\n"); - cmd_write("Total blocks: "); - cmd_write_int(block_count); - cmd_write("\n"); - - memory_print_detailed(); -} - -size_t memory_get_peak_usage(void) { - return peak_allocated; -} - -void memory_reset_peak(void) { - peak_allocated = total_allocated; -} - -bool memory_is_valid_ptr(void *ptr) { - if (ptr == NULL) return false; - - if (!initialized) { - return false; - } - - // Check if it's an allocated block - for (int i = 0; i < block_count; i++) { - if (block_list[i].allocated && block_list[i].address == ptr) { - return true; - } - } - - return false; -} diff --git a/src/mem/memory_manager.h b/src/mem/memory_manager.h index 14e1147..df21686 100644 --- a/src/mem/memory_manager.h +++ b/src/mem/memory_manager.h @@ -47,16 +47,6 @@ void* krealloc(void *ptr, size_t new_size); // Statistics and Information MemStats memory_get_stats(void); -void memory_print_stats(void); -void memory_print_detailed(void); - -void memory_validate(void); -void memory_dump_blocks(void); - -// Internal utilities -size_t memory_get_peak_usage(void); -void memory_reset_peak(void); -bool memory_is_valid_ptr(void *ptr); void mem_memset(void *dest, int val, size_t len); void mem_memcpy(void *dest, const void *src, size_t len);