better api
This commit is contained in:
@@ -1,20 +1,18 @@
|
||||
#include "mmap.h"
|
||||
#include "../panic.h"
|
||||
|
||||
#define USABLE_REGION_SIZE 32
|
||||
|
||||
memory_map_t memory_map;
|
||||
|
||||
static memory_region_t usable_regions[USABLE_REGION_SIZE];
|
||||
static size_t num_regions = 0;
|
||||
|
||||
void map_memory(multiboot_info_t* info)
|
||||
{
|
||||
if (!(info->flags & (1 << 6)))
|
||||
{
|
||||
arch_panic("Invalid memory map given by bootloader\n");
|
||||
panic("Invalid memory map given by bootloader\n");
|
||||
}
|
||||
|
||||
size_t num_regions = 0;
|
||||
|
||||
uint64_t offset = 0;
|
||||
while (offset < info->mmap_length)
|
||||
{
|
||||
@@ -40,8 +38,11 @@ void map_memory(multiboot_info_t* info)
|
||||
|
||||
offset += mmmt->size + sizeof(mmmt->size);
|
||||
}
|
||||
}
|
||||
|
||||
memory_map = (memory_map_t){
|
||||
memory_map_t get_memory_map()
|
||||
{
|
||||
return (memory_map_t){
|
||||
.num_regions = num_regions,
|
||||
.regions = usable_regions,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user