nuttx/arch/arm/src/s32k1xx/Make.defs
Huang Qi f4a0b7aedd libc: Call pthread_exit in user-space by up_pthread_exit
Drop to user-space in kernel/protected build with up_pthread_exit,
now all pthread_cleanup functions executed in user mode.

* A new syscall SYS_pthread_exit added
* A new tcb flag TCB_FLAG_CANCEL_DOING added
* up_pthread_exit implemented for riscv/arm arch

Signed-off-by: Huang Qi <huangqi3@xiaomi.com>
2021-05-21 22:46:52 -06:00

107 lines
2.9 KiB
Plaintext

############################################################################
# arch/arm/src/s32k1xx/Make.defs
#
# 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.
#
############################################################################
# Common ARM source files
CMN_CSRCS = arm_allocateheap.c arm_exit.c arm_initialize.c arm_interruptcontext.c
CMN_CSRCS += arm_lowputs.c arm_mdelay.c arm_modifyreg8.c arm_modifyreg16.c
CMN_CSRCS += arm_modifyreg32.c arm_puts.c arm_releasestack.c arm_stackframe.c
CMN_CSRCS += arm_task_start.c arm_udelay.c arm_usestack.c arm_vfork.c
ifeq ($(CONFIG_STACK_COLORATION),y)
CMN_CSRCS += arm_checkstack.c
endif
ifeq ($(CONFIG_BUILD_PROTECTED),y)
CMN_CSRCS += arm_pthread_start.c
CMN_CSRCS += arm_pthread_exit.c
endif
# Source files common to all S32K1xx chip families.
CHIP_CSRCS = s32k1xx_start.c s32k1xx_lowputc.c s32k1xx_clockconfig.c
CHIP_CSRCS += s32k1xx_periphclocks.c s32k1xx_pin.c s32k1xx_pingpio.c
CHIP_CSRCS += s32k1xx_idle.c
ifeq ($(CONFIG_BOOT_RUNFROMFLASH),y)
CHIP_CSRCS += s32k1xx_flashcfg.c
endif
ifeq ($(CONFIG_PWM),y)
CHIP_CSRCS += s32k1xx_pwm.c
endif
ifeq ($(CONFIG_S32K1XX_LPUART),y)
CHIP_CSRCS += s32k1xx_serial.c
endif
ifeq ($(CONFIG_S32K1XX_GPIOIRQ),y)
CHIP_CSRCS += s32k1xx_pinirq.c
endif
ifeq ($(CONFIG_S32K1XX_EDMA),y)
CHIP_CSRCS += s32k1xx_pindma.c
CHIP_CSRCS += s32k1xx_edma.c
endif
ifeq ($(CONFIG_DEBUG_GPIO_INFO),y)
CHIP_CSRCS += s32k1xx_pindump.c
endif
ifeq ($(CONFIG_S32K1XX_LPI2C),y)
CHIP_CSRCS += s32k1xx_lpi2c.c
endif
ifeq ($(CONFIG_S32K1XX_LPSPI),y)
CHIP_CSRCS += s32k1xx_lpspi.c
endif
ifeq ($(CONFIG_S32K1XX_ENET),y)
CHIP_CSRCS += s32k1xx_enet.c
endif
ifeq ($(CONFIG_S32K1XX_FLEXCAN),y)
CHIP_CSRCS += s32k1xx_flexcan.c
endif
ifeq ($(CONFIG_S32K1XX_RTC),y)
CHIP_CSRCS += s32k1xx_rtc.c
endif
ifeq ($(CONFIG_S32K1XX_PROGMEM),y)
CHIP_CSRCS += s32k1xx_progmem.c
endif
ifeq ($(CONFIG_S32K1XX_EEEPROM),y)
CHIP_CSRCS += s32k1xx_eeeprom.c
endif
# Source files specific to the ARM CPU family and to the S32K1xx chip family
ifeq ($(CONFIG_ARCH_CHIP_S32K11X),y)
include s32k1xx/s32k11x/Make.defs
else
include s32k1xx/s32k14x/Make.defs
endif
# Make sure that the S32K1 common directory in included in the VPATH
VPATH += chip/common