Use size_t rather than uint32_t
This commit is contained in:
parent
43f4a1f4b1
commit
ebfeca47b5
26
src/mm.c
26
src/mm.c
@ -14,7 +14,7 @@ static size_t mm_total_ram;
|
|||||||
extern uint8_t _hos_mem_start;
|
extern uint8_t _hos_mem_start;
|
||||||
extern uint8_t _hos_mem_end;
|
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;
|
mm_region_entry_t * region = (mm_region_entry_t *)base;
|
||||||
size_t pages = size / PAGE_SIZE;
|
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;
|
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);
|
size &= ~(PAGE_SIZE - 1u);
|
||||||
/* Ignore any RAM region above 4GB. */
|
/* 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)
|
if ((base + size) > 0x100000000ull)
|
||||||
{
|
{
|
||||||
size = (uint32_t)(0x100000000ull - base);
|
size = (size_t)(0x100000000ull - base);
|
||||||
}
|
}
|
||||||
/* Add regions before and after kernel RAM. */
|
/* Add regions before and after kernel RAM. */
|
||||||
uint32_t region_base = (uint32_t)base;
|
size_t region_base = (size_t)base;
|
||||||
if (region_base < (uint32_t)&_hos_mem_start)
|
if (region_base < (size_t)&_hos_mem_start)
|
||||||
{
|
{
|
||||||
/* RAM region begins before kernel RAM. */
|
/* RAM region begins before kernel RAM. */
|
||||||
uint32_t this_sz = size;
|
size_t this_sz = size;
|
||||||
if ((region_base + this_sz) > (uint32_t)&_hos_mem_start)
|
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);
|
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. */
|
/* RAM region ends after kernel RAM. */
|
||||||
uint32_t this_sz = size;
|
size_t this_sz = size;
|
||||||
if (region_base < (uint32_t)&_hos_mem_end)
|
if (region_base < (size_t)&_hos_mem_end)
|
||||||
{
|
{
|
||||||
this_sz = (region_base + size) - (uint32_t)&_hos_mem_end;
|
this_sz = (region_base + size) - (size_t)&_hos_mem_end;
|
||||||
region_base = (uint32_t)&_hos_mem_end;
|
region_base = (size_t)&_hos_mem_end;
|
||||||
}
|
}
|
||||||
mm_add_ram_region(region_base, this_sz);
|
mm_add_ram_region(region_base, this_sz);
|
||||||
}
|
}
|
||||||
|
2
src/mm.h
2
src/mm.h
@ -5,7 +5,7 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
|
|
||||||
void mm_init(void);
|
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_total_ram(void);
|
||||||
size_t mm_get_kernel_address(void);
|
size_t mm_get_kernel_address(void);
|
||||||
size_t mm_get_kernel_size(void);
|
size_t mm_get_kernel_size(void);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user