kernel: fix k_mem_partition data types
We need a size_t and not a u32_t for partition sizes, for 64-bit compatibility. Additionally, app_memdomain.h was also casting the base address to a u32_t instead of a uintptr_t. Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
parent
8e0e23fefc
commit
a824821b86
4 changed files with 7 additions and 7 deletions
|
@ -937,11 +937,11 @@ static void apply_mem_partition(struct x86_page_tables *ptables,
|
|||
}
|
||||
|
||||
__ASSERT(partition->start >= DT_PHYS_RAM_ADDR,
|
||||
"region at %08lx[%u] extends below system ram start 0x%08x",
|
||||
"region at %08lx[%zu] extends below system ram start 0x%08x",
|
||||
partition->start, partition->size, DT_PHYS_RAM_ADDR);
|
||||
__ASSERT(((partition->start + partition->size) <=
|
||||
(DT_PHYS_RAM_ADDR + (DT_RAM_SIZE * 1024U))),
|
||||
"region at %08lx[%u] end at %08lx extends beyond system ram end 0x%08x",
|
||||
"region at %08lx[%zu] end at %08lx extends beyond system ram end 0x%08x",
|
||||
partition->start, partition->size,
|
||||
partition->start + partition->size,
|
||||
(DT_PHYS_RAM_ADDR + (DT_RAM_SIZE * 1024U)));
|
||||
|
|
|
@ -110,8 +110,8 @@ struct z_app_region {
|
|||
extern char Z_APP_START(name)[]; \
|
||||
extern char Z_APP_SIZE(name)[]; \
|
||||
struct k_mem_partition name = { \
|
||||
.start = (u32_t) &Z_APP_START(name), \
|
||||
.size = (u32_t) &Z_APP_SIZE(name), \
|
||||
.start = (uintptr_t) &Z_APP_START(name), \
|
||||
.size = (size_t) &Z_APP_SIZE(name), \
|
||||
.attr = K_MEM_PARTITION_P_RW_U_RW \
|
||||
}; \
|
||||
extern char Z_APP_BSS_START(name)[]; \
|
||||
|
|
|
@ -5128,7 +5128,7 @@ struct k_mem_partition {
|
|||
/** start address of memory partition */
|
||||
uintptr_t start;
|
||||
/** size of memory partition */
|
||||
u32_t size;
|
||||
size_t size;
|
||||
#if defined(CONFIG_MEMORY_PROTECTION)
|
||||
/** attribute of memory partition */
|
||||
k_mem_partition_attr_t attr;
|
||||
|
|
|
@ -101,7 +101,7 @@ void k_mem_domain_init(struct k_mem_domain *domain, u8_t num_parts,
|
|||
__ASSERT(parts[i] != NULL, "");
|
||||
__ASSERT((parts[i]->start + parts[i]->size) >
|
||||
parts[i]->start,
|
||||
"invalid partition %p size %d",
|
||||
"invalid partition %p size %zu",
|
||||
parts[i], parts[i]->size);
|
||||
|
||||
#if defined(CONFIG_EXECUTE_XOR_WRITE) || \
|
||||
|
@ -151,7 +151,7 @@ void k_mem_domain_add_partition(struct k_mem_domain *domain,
|
|||
__ASSERT(domain != NULL, "");
|
||||
__ASSERT(part != NULL, "");
|
||||
__ASSERT((part->start + part->size) > part->start,
|
||||
"invalid partition %p size %d", part, part->size);
|
||||
"invalid partition %p size %zu", part, part->size);
|
||||
|
||||
#if defined(CONFIG_EXECUTE_XOR_WRITE) || \
|
||||
defined(CONFIG_MPU_REQUIRES_NON_OVERLAPPING_REGIONS)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue