From 68a1774eaee97b50be76382fc4aec4b28dded677 Mon Sep 17 00:00:00 2001 From: wangmingrong1 Date: Tue, 13 May 2025 20:55:45 +0800 Subject: [PATCH] arm64/smc: Support limited compilation Only el3 arch may need to use it, let's limit it to Signed-off-by: wangmingrong1 --- arch/arm64/src/common/CMakeLists.txt | 6 +++++- arch/arm64/src/common/Make.defs | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/arm64/src/common/CMakeLists.txt b/arch/arm64/src/common/CMakeLists.txt index 09b9c85ec7f..e704078ed49 100644 --- a/arch/arm64/src/common/CMakeLists.txt +++ b/arch/arm64/src/common/CMakeLists.txt @@ -24,7 +24,7 @@ set(SRCS arm64_head.S) # TODO: support kernel startup obj ctr0 -list(APPEND SRCS arm64_vector_table.S arm64_vectors.S arm64_smccc.S) +list(APPEND SRCS arm64_vector_table.S arm64_vectors.S) list(APPEND SRCS arm64_fork_func.S) # Common C source files ( OS call up_xxx) @@ -59,6 +59,10 @@ if(CONFIG_ARM64_GIC_VERSION EQUAL 2) endif() endif() +if(CONFIG_ARCH_HAVE_EL3) + list(APPEND SRCS arm64_smccc.S) +endif() + if(CONFIG_ARCH_HAVE_MMU) list(APPEND SRCS arm64_mmu.c) endif() diff --git a/arch/arm64/src/common/Make.defs b/arch/arm64/src/common/Make.defs index 878354490d8..3c1dacb3d0c 100644 --- a/arch/arm64/src/common/Make.defs +++ b/arch/arm64/src/common/Make.defs @@ -31,7 +31,7 @@ STARTUP_OBJS = crt0$(OBJEXT) # debug. # Common assembly language files -CMN_ASRCS = arm64_vector_table.S arm64_vectors.S arm64_smccc.S +CMN_ASRCS = arm64_vector_table.S arm64_vectors.S CMN_ASRCS += arm64_fork_func.S # Common C source files ( OS call up_xxx) @@ -67,6 +67,10 @@ CMN_CSRCS += arm64_gicv2m.c endif endif +ifeq ($(CONFIG_ARCH_HAVE_EL3),y) +CMN_ASRCS += arm64_smccc.S +endif + ifeq ($(CONFIG_ARCH_HAVE_MMU),y) CMN_CSRCS += arm64_mmu.c endif