diff --git a/arch/arm/src/armv7-a/mmu.h b/arch/arm/src/armv7-a/mmu.h index ff70897209f..c381e62b196 100644 --- a/arch/arm/src/armv7-a/mmu.h +++ b/arch/arm/src/armv7-a/mmu.h @@ -645,7 +645,10 @@ * require up to 16Kb of memory. */ -#define PGTABLE_SIZE 0x00004000 +#ifndef PGTABLE_SIZE +# define PGTABLE_SIZE 0x00004000 +#endif + #ifdef CONFIG_ARCH_ADDRENV # define ALL_PGTABLE_SIZE (PGTABLE_SIZE * CONFIG_SMP_NCPUS) #else diff --git a/arch/arm/src/common/arm_allocateheap.c b/arch/arm/src/common/arm_allocateheap.c index ef28edc8289..f3678176af6 100644 --- a/arch/arm/src/common/arm_allocateheap.c +++ b/arch/arm/src/common/arm_allocateheap.c @@ -36,6 +36,7 @@ #include #include "arm_internal.h" +#include "chip.h" /**************************************************************************** * Pre-processor Definitions diff --git a/arch/arm/src/goldfish/chip.h b/arch/arm/src/goldfish/chip.h index 355e3b37d61..7d5592c2482 100644 --- a/arch/arm/src/goldfish/chip.h +++ b/arch/arm/src/goldfish/chip.h @@ -35,8 +35,12 @@ #define MPCORE_ICD_OFFSET 0x0000 #define MPCORE_ICC_OFFSET 0x10000 -#define PGTABLE_BASE_PADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - ALL_PGTABLE_SIZE) -#define PGTABLE_BASE_VADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - ALL_PGTABLE_SIZE) +#define PGTABLE_SIZE 0x00004000 +#define PGTABLE_BASE_PADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - PGTABLE_SIZE * CONFIG_SMP_NCPUS) +#define PGTABLE_BASE_VADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - PGTABLE_SIZE * CONFIG_SMP_NCPUS) + +#undef CONFIG_RAM_END +#define CONFIG_RAM_END PGTABLE_BASE_PADDR #define NUTTX_TEXT_VADDR (CONFIG_FLASH_VSTART & 0xfff00000) #define NUTTX_TEXT_PADDR (CONFIG_FLASH_VSTART & 0xfff00000) diff --git a/arch/arm/src/qemu/chip.h b/arch/arm/src/qemu/chip.h index fe581e329d6..c0a58b16f01 100644 --- a/arch/arm/src/qemu/chip.h +++ b/arch/arm/src/qemu/chip.h @@ -35,8 +35,12 @@ #define MPCORE_ICD_OFFSET 0x0000 #define MPCORE_ICC_OFFSET 0x10000 -#define PGTABLE_BASE_PADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - ALL_PGTABLE_SIZE) -#define PGTABLE_BASE_VADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - ALL_PGTABLE_SIZE) +#define PGTABLE_SIZE 0x00004000 +#define PGTABLE_BASE_PADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - PGTABLE_SIZE * CONFIG_SMP_NCPUS) +#define PGTABLE_BASE_VADDR (CONFIG_RAM_START + CONFIG_RAM_SIZE - PGTABLE_SIZE * CONFIG_SMP_NCPUS) + +#undef CONFIG_RAM_END +#define CONFIG_RAM_END PGTABLE_BASE_PADDR #define NUTTX_TEXT_VADDR (CONFIG_FLASH_VSTART & 0xfff00000) #define NUTTX_TEXT_PADDR (CONFIG_FLASH_VSTART & 0xfff00000)