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>
107 lines
2.9 KiB
Plaintext
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
|