This commit is contained in:
2021-02-01 23:28:24 +01:00
parent 9986d95dbb
commit 4673a23db7
11 changed files with 140 additions and 42 deletions

View File

@@ -33,6 +33,8 @@ char *msg_addr = "Address: ";
char *msg_len = "Length: ";
char *msg_type = "Type: ";
char *msg_nl = "\n";
char *msg_malloc_num_entries_avail = "Malloc avail entries: ";
char *msg_malloc_num_entries_used = "Malloc used entries: ";
typedef struct {
void *address;
@@ -166,34 +168,40 @@ void free(void *mem) {
};
void print_hex_u64(u64 input) {
char msg[18] = "0x0000000000000000";
for (int i = 0; i < 16; ++i) {
int val = input >> (4 * i) & 0xF;
msg[17 - i] = msg_lu[val];
}
kprint(msg);
void print_int(int val, int base) {
char tmp_str[32];
memset(tmp_str, 0, 32);
itoa(val, tmp_str, base);
kprint(tmp_str);
}
void print_malloc_info() {
kprint(msg_malloc_num_entries_avail);
print_int(malloc_entries, 10);
kprint(msg_nl);
kprint(msg_malloc_num_entries_used);
print_int(malloc_used, 10);
kprint(msg_nl);
}
void print_mmap_info() {
for (int i = 0; i < 16; ++i) {
if (memmap[i].type == 0) {
break;
}
char *tmp_str = " ";
kprint(msg_index);
itoa(i, tmp_str);
kprint(tmp_str);
print_int(i, 10);
kprint(msg_nl);
kprint(msg_addr);
print_hex_u64((u64) memmap[i].address);
print_int((int) memmap[i].address, 16);
kprint(msg_nl);
kprint(msg_len);
print_hex_u64((u64) memmap[i].length);
print_int(memmap[i].length, 16);
kprint(msg_nl);
kprint(msg_type);
itoa(memmap[i].type, tmp_str);
kprint(tmp_str);
print_int(memmap[i].type, 10);
kprint(msg_nl);
kprint(msg_nl);
}

View File

@@ -9,9 +9,12 @@
void init_mmap(struct multiboot_mmap_entry *entries, u32 count);
void print_malloc_info();
void print_mmap_info();
void* malloc(unsigned int size);
void free(void* mem);
void *malloc(unsigned int size);
void free(void *mem);
#endif //NEW_KERNEL_MEM_H