mirror of
https://github.com/BoredDevNL/BoredOS.git
synced 2026-05-15 10:48:38 +00:00
remove unused memory manager debug/utility APIs
This commit is contained in:
parent
5be803e4d4
commit
6e85adb000
2 changed files with 0 additions and 162 deletions
|
|
@ -371,155 +371,3 @@ MemStats memory_get_stats(void) {
|
||||||
|
|
||||||
return stats;
|
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;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
|
|
@ -47,16 +47,6 @@ void* krealloc(void *ptr, size_t new_size);
|
||||||
|
|
||||||
// Statistics and Information
|
// Statistics and Information
|
||||||
MemStats memory_get_stats(void);
|
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_memset(void *dest, int val, size_t len);
|
||||||
void mem_memcpy(void *dest, const void *src, size_t len);
|
void mem_memcpy(void *dest, const void *src, size_t len);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue