Use size_t rather than uint32_t

This commit is contained in:
Josh Holtrop 2021-08-16 14:01:39 -04:00
parent 43f4a1f4b1
commit ebfeca47b5
2 changed files with 14 additions and 14 deletions

View File

@ -14,7 +14,7 @@ static size_t mm_total_ram;
extern uint8_t _hos_mem_start;
extern uint8_t _hos_mem_end;
static void mm_add_ram_region(uint32_t base, uint32_t size)
static void mm_add_ram_region(size_t base, size_t size)
{
mm_region_entry_t * region = (mm_region_entry_t *)base;
size_t pages = size / PAGE_SIZE;
@ -25,7 +25,7 @@ static void mm_add_ram_region(uint32_t base, uint32_t size)
mm_free_page_count = pages;
}
void mm_register_ram_region(uint64_t base, uint32_t size)
void mm_register_ram_region(uint64_t base, size_t size)
{
size &= ~(PAGE_SIZE - 1u);
/* Ignore any RAM region above 4GB. */
@ -35,28 +35,28 @@ void mm_register_ram_region(uint64_t base, uint32_t size)
}
if ((base + size) > 0x100000000ull)
{
size = (uint32_t)(0x100000000ull - base);
size = (size_t)(0x100000000ull - base);
}
/* Add regions before and after kernel RAM. */
uint32_t region_base = (uint32_t)base;
if (region_base < (uint32_t)&_hos_mem_start)
size_t region_base = (size_t)base;
if (region_base < (size_t)&_hos_mem_start)
{
/* RAM region begins before kernel RAM. */
uint32_t this_sz = size;
if ((region_base + this_sz) > (uint32_t)&_hos_mem_start)
size_t this_sz = size;
if ((region_base + this_sz) > (size_t)&_hos_mem_start)
{
this_sz = (uint32_t)&_hos_mem_start - region_base;
this_sz = (size_t)&_hos_mem_start - region_base;
}
mm_add_ram_region(region_base, this_sz);
}
if ((region_base + size) > (uint32_t)&_hos_mem_end)
if ((region_base + size) > (size_t)&_hos_mem_end)
{
/* RAM region ends after kernel RAM. */
uint32_t this_sz = size;
if (region_base < (uint32_t)&_hos_mem_end)
size_t this_sz = size;
if (region_base < (size_t)&_hos_mem_end)
{
this_sz = (region_base + size) - (uint32_t)&_hos_mem_end;
region_base = (uint32_t)&_hos_mem_end;
this_sz = (region_base + size) - (size_t)&_hos_mem_end;
region_base = (size_t)&_hos_mem_end;
}
mm_add_ram_region(region_base, this_sz);
}

View File

@ -5,7 +5,7 @@
#include <stddef.h>
void mm_init(void);
void mm_register_ram_region(uint64_t base, uint32_t size);
void mm_register_ram_region(uint64_t base, size_t size);
size_t mm_get_total_ram(void);
size_t mm_get_kernel_address(void);
size_t mm_get_kernel_size(void);