goldfish: fix sched api update missed godlfish_cpuboot

add cmake support

Signed-off-by: buxiasen <buxiasen@xiaomi.com>
This commit is contained in:
buxiasen 2024-07-17 10:49:11 +08:00 committed by Xiang Xiao
parent 5bf7d0e4a7
commit b444bf2e6a
3 changed files with 36 additions and 7 deletions

View File

@ -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})

View File

@ -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

View File

@ -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();
}