From 2f7b1076082707bd729f01268b095e44d51e2c33 Mon Sep 17 00:00:00 2001 From: ligd Date: Thu, 18 Jan 2024 23:27:04 +0800 Subject: [PATCH] goldfish & qemu: handle MMU table and CONFIG_RAM_END Signed-off-by: ligd --- arch/arm/src/common/arm_allocateheap.c | 5 +++++ arch/arm/src/goldfish/chip.h | 5 ++++- arch/arm/src/qemu/chip.h | 5 ++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/arch/arm/src/common/arm_allocateheap.c b/arch/arm/src/common/arm_allocateheap.c index ef28edc828..59189157b9 100644 --- a/arch/arm/src/common/arm_allocateheap.c +++ b/arch/arm/src/common/arm_allocateheap.c @@ -36,6 +36,11 @@ #include #include "arm_internal.h" +#include "chip.h" + +#ifdef CONFIG_ARCH_HAVE_MMU +#include "mmu.h" +#endif /**************************************************************************** * Pre-processor Definitions diff --git a/arch/arm/src/goldfish/chip.h b/arch/arm/src/goldfish/chip.h index 355e3b37d6..dad6b7b5cc 100644 --- a/arch/arm/src/goldfish/chip.h +++ b/arch/arm/src/goldfish/chip.h @@ -38,6 +38,9 @@ #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) +#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) #define NUTTX_TEXT_PEND ((CONFIG_FLASH_END + 0x000fffff) & 0xfff00000) @@ -45,7 +48,7 @@ #define NUTTX_RAM_VADDR (CONFIG_RAM_VSTART & 0xfff00000) #define NUTTX_RAM_PADDR (CONFIG_RAM_START & 0xfff00000) -#define NUTTX_RAM_PEND ((CONFIG_RAM_END + 0x000fffff) & 0xfff00000) +#define NUTTX_RAM_PEND ((CONFIG_RAM_START + CONFIG_RAM_SIZE + 0x000fffff) & 0xfff00000) #define NUTTX_RAM_SIZE (NUTTX_RAM_PEND - NUTTX_RAM_PADDR) /**************************************************************************** diff --git a/arch/arm/src/qemu/chip.h b/arch/arm/src/qemu/chip.h index fe581e329d..026a88c816 100644 --- a/arch/arm/src/qemu/chip.h +++ b/arch/arm/src/qemu/chip.h @@ -38,6 +38,9 @@ #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) +#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) #define NUTTX_TEXT_PEND ((CONFIG_FLASH_END + 0x000fffff) & 0xfff00000) @@ -45,7 +48,7 @@ #define NUTTX_RAM_VADDR (CONFIG_RAM_VSTART & 0xfff00000) #define NUTTX_RAM_PADDR (CONFIG_RAM_START & 0xfff00000) -#define NUTTX_RAM_PEND ((CONFIG_RAM_END + 0x000fffff) & 0xfff00000) +#define NUTTX_RAM_PEND ((CONFIG_RAM_START + CONFIG_RAM_SIZE + 0x000fffff) & 0xfff00000) #define NUTTX_RAM_SIZE (NUTTX_RAM_PEND - NUTTX_RAM_PADDR) /****************************************************************************