summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChen Wang <[email protected]>2025-04-11 11:50:44 +0800
committerRbb666 <[email protected]>2025-04-11 14:15:12 +0800
commit312f9dbc083b2e598d0f8d4ac0c3ed1d4760bd96 (patch)
tree8668275fe4390025048ecaf18b1fe34578188748
parent5c9f61879c8e745c89aaa728cfd86e6e9e912914 (diff)
libcpu: riscv: declare external symbols inside
libcpu/risc-v/common64/mmu.c uses the external symbol "__bss_end" (this symbol generally is defined in the link script file) and depends on the extern declaration of this symbol in the bsp's "board.h". This is not a problem in implementation, but it is not a good habit. If this extern symbol is used locally, just declare it locally should be better. In this way, there will be no dependency of the kernel core on the bsp header file. And there will be no special requirements for the bsp board code, such as the need to make extern declarations for these "__bss_end" symbols in "board.h". This patch currently only explicitly externly declares "__bss_end" inside libcpu itself. The code of "#include <board.h>" is kept, because the modification involved is too large, it is necessary to clean up the bsp involved before cleaning this include code line uniformly. Signed-off-by: Chen Wang <[email protected]>
-rw-r--r--libcpu/risc-v/common64/mmu.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libcpu/risc-v/common64/mmu.c b/libcpu/risc-v/common64/mmu.c
index badb7bebe6..6cab811eca 100644
--- a/libcpu/risc-v/common64/mmu.c
+++ b/libcpu/risc-v/common64/mmu.c
@@ -648,6 +648,8 @@ void rt_hw_mmu_setup(rt_aspace_t aspace, struct mem_desc *mdesc, int desc_nr)
#define SATP_BASE ((rt_ubase_t)SATP_MODE << SATP_MODE_OFFSET)
+extern unsigned int __bss_end;
+
/**
* @brief Early memory setup function for hardware initialization.
*