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/10/07 09:33:24 UTC

(nuttx) 03/09: arm/qemu: The PSCI can be configured with CONFIG_ARM_PSCI

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

commit 00857c7fd9bd0038574d9b3e38fd8f6763adc83a
Author: wangming9 <wa...@xiaomi.com>
AuthorDate: Tue Jan 30 11:13:08 2024 +0800

    arm/qemu: The PSCI can be configured with CONFIG_ARM_PSCI
    
    Signed-off-by: wangming9 <wa...@xiaomi.com>
    Signed-off-by: ligd <li...@xiaomi.com>
---
 arch/arm/Kconfig                                  | 17 +++++++++++++----
 arch/arm/src/armv7-a/CMakeLists.txt               |  2 +-
 arch/arm/src/armv7-a/Make.defs                    |  2 +-
 arch/arm/src/goldfish/goldfish_boot.c             |  4 ++--
 arch/arm/src/qemu/qemu_boot.c                     |  4 ++--
 boards/arm/qemu/qemu-armv7a/configs/smp/defconfig |  1 +
 6 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 24d5999fe8..73256b887e 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -676,18 +676,20 @@ config ARCH_CHIP_MPS
 
 config ARCH_CHIP_QEMU_ARM
 	bool "QEMU virt platform (ARMv7a)"
-	select ARCH_HAVE_PSCI
 	select ARCH_HAVE_POWEROFF
 	select ARCH_HAVE_RESET
 	select ARCH_IDLE_CUSTOM
+	select ARM_HAVE_PSCI
+	select ARM_HAVE_NEON
 	---help---
 		QEMU virt platform (ARMv7a)
 
 config ARCH_CHIP_GOLDFISH_ARM
 	bool "GOLDFISH virt platform (ARMv7a)"
-	select ARCH_HAVE_PSCI
 	select ARCH_HAVE_POWEROFF
 	select ARCH_HAVE_RESET
+	select ARM_HAVE_PSCI
+	select ARM_HAVE_NEON
 	---help---
 		GOLDFISH virt platform (ARMv7a)
 
@@ -1139,8 +1141,8 @@ config ARM_THUMB
 	bool "Thumb Mode"
 	default n
 
-config ARCH_HAVE_PSCI
-	bool "ARM PCSI (Power State Coordination Interface) Support"
+config ARM_HAVE_PSCI
+	bool "ARM PSCI (Power State Coordination Interface) Support"
 	default n
 	---help---
 		This Power State Coordination Interface (PSCI) defines
@@ -1188,6 +1190,13 @@ config ARM_HAVE_PACBTI
 	---help---
 		Decide whether support PACBTI(Pointer Authentication and Branch Target Identification) Extension
 
+config ARM_PSCI
+	bool "Enabled PSCI"
+	depends on ARM_HAVE_PSCI
+	default n
+	---help---
+		See ARM_HAVE_PSCI for details
+
 config ARM_FPU_ABI_SOFT
 	bool "Soft Float ABI"
 	default n
diff --git a/arch/arm/src/armv7-a/CMakeLists.txt b/arch/arm/src/armv7-a/CMakeLists.txt
index 042be6cffb..79d62c70e6 100644
--- a/arch/arm/src/armv7-a/CMakeLists.txt
+++ b/arch/arm/src/armv7-a/CMakeLists.txt
@@ -112,7 +112,7 @@ if(CONFIG_SMP)
   list(APPEND SRCS arm_cpustart.c arm_cpupause.c arm_cpuidlestack.c arm_scu.c)
 endif()
 
-if(CONFIG_ARCH_HAVE_PSCI)
+if(CONFIG_ARM_PSCI)
   list(APPEND SRCS arm_cpu_psci.c arm_smccc.S)
 endif()
 
diff --git a/arch/arm/src/armv7-a/Make.defs b/arch/arm/src/armv7-a/Make.defs
index f757e3d11c..2be76df65e 100644
--- a/arch/arm/src/armv7-a/Make.defs
+++ b/arch/arm/src/armv7-a/Make.defs
@@ -98,7 +98,7 @@ ifeq ($(CONFIG_SMP),y)
   CMN_CSRCS += arm_scu.c
 endif
 
-ifeq ($(CONFIG_ARCH_HAVE_PSCI),y)
+ifeq ($(CONFIG_ARM_PSCI),y)
   CMN_ASRCS += arm_smccc.S
   CMN_CSRCS += arm_cpu_psci.c
 endif
diff --git a/arch/arm/src/goldfish/goldfish_boot.c b/arch/arm/src/goldfish/goldfish_boot.c
index 11395c6fa3..fdc34234dc 100644
--- a/arch/arm/src/goldfish/goldfish_boot.c
+++ b/arch/arm/src/goldfish/goldfish_boot.c
@@ -60,7 +60,7 @@ void arm_boot(void)
 
   arm_fpuconfig();
 
-#ifdef CONFIG_ARCH_HAVE_PSCI
+#ifdef CONFIG_ARM_PSCI
   arm_psci_init("smc");
 #endif
 
@@ -77,7 +77,7 @@ void arm_boot(void)
 #endif
 }
 
-#if defined(CONFIG_ARCH_HAVE_PSCI) && defined(CONFIG_SMP)
+#if defined(CONFIG_ARM_PSCI) && defined(CONFIG_SMP)
 int up_cpu_start(int cpu)
 {
 #ifdef CONFIG_SCHED_INSTRUMENTATION
diff --git a/arch/arm/src/qemu/qemu_boot.c b/arch/arm/src/qemu/qemu_boot.c
index 133b6e6595..d5775b7876 100644
--- a/arch/arm/src/qemu/qemu_boot.c
+++ b/arch/arm/src/qemu/qemu_boot.c
@@ -60,7 +60,7 @@ void arm_boot(void)
 
   arm_fpuconfig();
 
-#ifdef CONFIG_ARCH_HAVE_PSCI
+#ifdef CONFIG_ARM_PSCI
   arm_psci_init("hvc");
 #endif
 
@@ -77,7 +77,7 @@ void arm_boot(void)
 #endif
 }
 
-#if defined(CONFIG_ARCH_HAVE_PSCI) && defined(CONFIG_SMP)
+#if defined(CONFIG_ARM_PSCI) && defined(CONFIG_SMP)
 int up_cpu_start(int cpu)
 {
 #ifdef CONFIG_SCHED_INSTRUMENTATION
diff --git a/boards/arm/qemu/qemu-armv7a/configs/smp/defconfig b/boards/arm/qemu/qemu-armv7a/configs/smp/defconfig
index bf7e0fcd36..28c219881d 100644
--- a/boards/arm/qemu/qemu-armv7a/configs/smp/defconfig
+++ b/boards/arm/qemu/qemu-armv7a/configs/smp/defconfig
@@ -14,6 +14,7 @@ CONFIG_ARCH_CHIP_QEMU_ARM=y
 CONFIG_ARCH_CHIP_QEMU_CORTEXA7=y
 CONFIG_ARCH_INTERRUPTSTACK=2048
 CONFIG_ARCH_LOWVECTORS=y
+CONFIG_ARM_PSCI=y
 CONFIG_BUILTIN=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y