nuttx-update/boards/arm
hujun5 0e1b432dd0 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881
reason:
svc call may trigger hardfault

Background
    The origin of this issue is our desire to eliminate the function of storing
"regs" in g_current_regs and instead utilize (*running_task)->xcp.regs for storage.
The benefits of this approach include faster storage speed and
avoiding multiple accesses to g_current_regs during context switching,
thus ensuring that whether returning from an interrupt or an exception,
we consistently use this_task()->xcp.regs

Issue Encountered
    However, when storing registers, we must ensure that (running_task)->xcp.regs is invalid
so that it can be safely overwritten.
According to the existing logic, the only scenario where (running_task)->xcp.regs
is valid is during restore_context. We must accurately identify this scenario.
Initially, we used the condition (running_task)==NULL for this purpose, but we deemed
this approach unsatisfactory as it did not align well with the actual logic.
(running_task) should not be NULL. Consequently, we adopted other arch-specific methods for judgment,
but due to special logic in some arch, the judgment was not accurate, leading to this issue.

Solution:
    For armv6-m, we haven't found a more suitable solution, so we are sticking with (*running_task)==NULL.
    For armv7-m/armv8-m, by removing support for primask, we can achieve accurate judgment.

    PRIMASK is a design in armv6-m, that's why arm introduce BASEPRI from armv7-m.
It's wrong to provide this option for armv7-m/armv8-m arch.

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2024-12-09 12:20:13 +08:00
..
a1x/pcduino-a10 boards/arm/a1x: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
am335x/beaglebone-black boards/arm/am335x: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
at32/at32f437-mini fix nxstyle 2024-11-28 20:40:13 +08:00
c5471/c5471evm boards/arm/c5471: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
csk6 boards/arm/csk6: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
cxd56xx armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
dm320/ntosd-dm320 boards/arm/dm320: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
efm32 arm/efm32: fix build break caused by undeclared error 2024-11-19 20:50:33 +08:00
eoss3/quickfeather boards/arm/eoss3: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
fvp-v8r-aarch32/fvp-armv8r-aarch32 boards/arm/fvp-v8r-aarch32: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
gd32f4 boards/arm/gd32f4: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
imx6/sabre-6quad boards/arm/imx6: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
imxrt armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
kinetis armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
kl boards/arm/kl: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
lc823450/lc823450-xgevk boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
lpc17xx_40xx boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
lpc31xx boards/arm/lpc31xx: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
lpc43xx boards/arm/lpc43xx: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
lpc54xx/lpcxpresso-lpc54628 boards/arm/lpc54xx: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
lpc214x boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
lpc2378/olimex-lpc2378 boards/arm/lpc2378: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
max326xx/max32660-evsys armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
moxart/moxa boards/arm/moxart: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
mps armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
mx8mp/verdin-mx8mp boards/arm/mx8mp: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
nrf52 arm: remove up_set_current_regs/up_current_regs 2024-11-26 20:04:54 +08:00
nrf53 boards/arm/nrf53: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
nrf91 boards/arm/nrf91: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
nuc1xx/nutiny-nuc120 boards/arm/nuc1xx: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
phy62xx/phy6222 arm/phy6222: Fix the garbled Linker Script 2024-11-10 14:19:33 -03:00
qemu/qemu-armv7a boards/arm/qemu/qemu-armv7a: Fix the typo error in dramboot.ld 2024-11-16 17:42:09 +01:00
rp23xx boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
rp2040 boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
s32k1xx boards/arm/s32k1xx: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
s32k3xx boards/arm/s32k3xx: migrate license to ASF 2024-11-10 01:12:34 +08:00
sam34 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
sama5 boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
samd2l2 boards/arm/samd2l2: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
samd5e5 boards/arm/samd5e5: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
samv7 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
stm32 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
stm32f0l0g0 boards/arm/stm32f0l0g0: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
stm32f7 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
stm32h5/nucleo-h563zi board/nucleo-h563zi: Add HSE option 2024-12-03 09:39:13 +08:00
stm32h7 boards: Update configs about system/usbmsc 2024-12-06 13:38:23 +08:00
stm32l4 boards/arm/stm32l4: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
stm32l5 boards/arm/stm32l5: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
stm32u5 armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
stm32wb boards/arm/stm32wb: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
stm32wl5/nucleo-wl55jc boards/arm/stm32wl5: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
str71x/olimex-strp711 boards/arm/str71x: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
tiva armv7/8m: fix regresion from https://github.com/apache/nuttx/pull/14881 2024-12-09 12:20:13 +08:00
tlsr82/tlsr8278adk80d boards/arm/tlsr82: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
tms570 boards/arm/tms570: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00
xmc4 boards/arm/xmc4: migrate to SPDX identifier 2024-11-10 01:12:34 +08:00