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:30 UTC
(nuttx) 09/09: goldfish: fix sched api update missed godlfish_cpuboot
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 b444bf2e6a3a15845f2c8408fc900b106d9c3ff6
Author: buxiasen <bu...@xiaomi.com>
AuthorDate: Wed Jul 17 10:49:11 2024 +0800
goldfish: fix sched api update missed godlfish_cpuboot
add cmake support
Signed-off-by: buxiasen <bu...@xiaomi.com>
---
arch/arm/src/goldfish/CMakeLists.txt | 27 +++++++++++++++++++++++++++
arch/arm/src/goldfish/Make.defs | 9 ++++++---
arch/arm/src/goldfish/goldfish_cpuboot.c | 7 +++----
3 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/arch/arm/src/goldfish/CMakeLists.txt b/arch/arm/src/goldfish/CMakeLists.txt
new file mode 100644
index 0000000000..229763209b
--- /dev/null
+++ b/arch/arm/src/goldfish/CMakeLists.txt
@@ -0,0 +1,27 @@
+# ##############################################################################
+# arch/arm/src/goldfish/CMakeLists.txt
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more contributor
+# license agreements. See the NOTICE file distributed with this work for
+# additional information regarding copyright ownership. The ASF licenses this
+# file to you under the Apache License, Version 2.0 (the "License"); you may not
+# use this file except in compliance with the License. You may obtain a copy of
+# the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations under
+# the License.
+#
+# ##############################################################################
+set(SRCS goldfish_boot.c goldfish_irq.c goldfish_pgalloc.c goldfish_memorymap.c
+ goldfish_serial.c goldfish_timer.c)
+
+if(CONFIG_SMP)
+ list(APPEND SRCS goldfish_cpuboot.c)
+endif()
+
+target_sources(arch PRIVATE ${SRCS})
diff --git a/arch/arm/src/goldfish/Make.defs b/arch/arm/src/goldfish/Make.defs
index bcef506990..e3d93e34f7 100644
--- a/arch/arm/src/goldfish/Make.defs
+++ b/arch/arm/src/goldfish/Make.defs
@@ -21,7 +21,10 @@
include armv7-a/Make.defs
# goldfish-specific C source files
-
-CHIP_CSRCS = goldfish_boot.c goldfish_cpuboot.c goldfish_irq.c
+CHIP_CSRCS = goldfish_boot.c
+CHIP_CSRCS += goldfish_irq.c goldfish_pgalloc.c
CHIP_CSRCS += goldfish_memorymap.c goldfish_serial.c goldfish_timer.c
-CHIP_CSRCS += goldfish_pgalloc.c
+
+ifeq ($(CONFIG_SMP),y)
+CHIP_CSRCS += goldfish_cpuboot.c
+endif
diff --git a/arch/arm/src/goldfish/goldfish_cpuboot.c b/arch/arm/src/goldfish/goldfish_cpuboot.c
index bea9a639ae..160731937c 100644
--- a/arch/arm/src/goldfish/goldfish_cpuboot.c
+++ b/arch/arm/src/goldfish/goldfish_cpuboot.c
@@ -30,6 +30,7 @@
#include <nuttx/arch.h>
#include <nuttx/sched.h>
#include <arch/irq.h>
+#include <init/init.h>
#include <debug.h>
#include "arm_internal.h"
@@ -116,10 +117,8 @@ void arm_cpu_boot(int cpu)
/* The next thing that we expect to happen is for logic running on CPU0
* to call up_cpu_start() which generate an SGI and a context switch to
* the configured NuttX IDLE task.
+ * Transfer control to the IDLE task.
*/
- for (; ; )
- {
- asm("WFI");
- }
+ nx_idle_trampoline();
}