You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by xi...@apache.org on 2024/03/03 10:57:38 UTC
(nuttx) branch master updated: goldfish & qemu: handle MMU table and CONFIG_RAM_END
This is an automated email from the ASF dual-hosted git repository.
xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git
The following commit(s) were added to refs/heads/master by this push:
new 2f7b107608 goldfish & qemu: handle MMU table and CONFIG_RAM_END
2f7b107608 is described below
commit 2f7b1076082707bd729f01268b095e44d51e2c33
Author: ligd <li...@xiaomi.com>
AuthorDate: Thu Jan 18 23:27:04 2024 +0800
goldfish & qemu: handle MMU table and CONFIG_RAM_END
Signed-off-by: ligd <li...@xiaomi.com>
---
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 <arch/board/board.h>
#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)
/****************************************************************************