nuttx/arch/arm/src
zhangyuan21 69fd539886 arch/armv7ar: use robust code sequences for cache maintenance
Invalidate operations at DDI0246H_l2c310_r3p3_trm:
If there is a stale entry in the L2 cache, the system enables the invalidation of
the L1 cache. But before the controller invalidates the L2 cache, it allocates a
line from the L2 cache to an L1 cache.

The robust code sequence for invalidation with a non-exclusive cache arrangement is:
1. InvalLevel2 Address ; forces the address out past level 2
2. CACHE SYNC ; Ensures completion of the L2 inval
3. InvalLevel1 Address ; This is broadcast within the cluster
4. DSB ; Ensure completion of the inval as far as Level 2.

This sequence ensures that, if there is an allocation to L1 after the L1 invalidation, the data
picked up is the new data and not stale data from the L2

Signed-off-by: zhangyuan21 <zhangyuan21@xiaomi.com>
2023-04-25 15:35:37 +08:00
..
a1x drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
am335x Typo fixes. 2023-02-17 11:17:11 -03:00
arm arch/arm: Resolving warnings for assembly instructions 2023-04-24 23:49:33 +08:00
armv6-m arch/arm: change up_saveusercontext to assembly code 2023-04-22 01:11:00 +08:00
armv7-a arch/armv7ar: use robust code sequences for cache maintenance 2023-04-25 15:35:37 +08:00
armv7-m arch/arm: change up_saveusercontext to assembly code 2023-04-22 01:11:00 +08:00
armv7-r arch/armv7ar: use robust code sequences for cache maintenance 2023-04-25 15:35:37 +08:00
armv8-m arch/arm: change up_saveusercontext to assembly code 2023-04-22 01:11:00 +08:00
c5471 drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
common arch/arm: relax compiler check for workaround with "GCC 12.2" 2023-04-24 19:00:52 +03:00
cxd56xx fs: Add g_ prefix for all global file_operations instances 2023-04-24 16:13:29 +02:00
dm320 group_addrenv: Fix call to group_addrenv for targets that don't need it 2023-02-09 00:14:52 +08:00
efm32 fix copy-paste errors for d356ad633f 2023-04-10 03:21:36 -07:00
eoss3 drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
gd32f4 add littlefs support for gd32f450zk-eval board 2023-04-01 10:38:16 -03:00
imx1 group_addrenv: Fix call to group_addrenv for targets that don't need it 2023-02-09 00:14:52 +08:00
imx6 arch: imx6: Add support for AR8031 gigabit ethernet phy 2023-04-25 11:45:19 +08:00
imxrt arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
kinetis arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
kl drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
lc823450 drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
lpc17xx_40xx arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
lpc31xx group_addrenv: Fix call to group_addrenv for targets that don't need it 2023-02-09 00:14:52 +08:00
lpc43xx arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
lpc54xx arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
lpc214x Typo fixes. 2023-02-17 11:17:11 -03:00
lpc2378 drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
max326xx drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
moxart arch: move non arm g_current_regs defintion to common place 2022-09-21 22:23:11 +02:00
nrf52 arch/nrf52: reimplement I-Cache control operations in nrf52_start.c 2023-04-22 01:42:01 +08:00
nrf53 arch/nrf53: add RPMSG HCI controller support 2023-04-22 01:37:24 +08:00
nuc1xx drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
phy62xx Remove the tail spaces from all files except Documentation 2023-02-26 13:24:24 -08:00
rp2040 mtd: Extend isbad and markbad func for mtd_dev_s 2023-03-01 10:06:56 -03:00
rtl8720c Typo fixes. 2023-02-17 11:17:11 -03:00
s32k1xx arch: remove unnecessary sem_setprotocol code 2023-03-17 16:53:19 -03:00
s32k3xx arch: remove unnecessary sem_setprotocol code 2023-03-17 16:53:19 -03:00
sam34 Copy I2C_M_NOSTART support from sam7v/sam_twihs.c driver 2023-03-06 01:39:21 +08:00
sama5 arm/chip/sdio/muxbus: comment all undefined symbols 2023-03-26 13:04:48 -03:00
samd2l2 drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
samd5e5 arch: remove unnecessary sem_setprotocol code 2023-03-17 16:53:19 -03:00
samv7 arch/arm/samv7: fix operation of TC8 and TC11 2023-04-07 12:28:45 -03:00
stm32 fs: Add g_ prefix for all global file_operations instances 2023-04-24 16:13:29 +02:00
stm32f0l0g0 stm32f0l0g0:stm32f0{3|5|7|9}x_pinmap & stm32g0_pinmap Remove GPIO_SPEED_xxx and add legacy pinmap 2023-04-19 09:58:11 +02:00
stm32f7 fs: Add g_ prefix for all global file_operations instances 2023-04-24 16:13:29 +02:00
stm32h7 fs: Add g_ prefix for all global file_operations instances 2023-04-24 16:13:29 +02:00
stm32l4 stm32l4:stm32l4x{3|4|5|6|r}xx_pinmap pinmap Remove GPIO_SPEED_xxx and add legacy pinmap 2023-04-19 09:58:11 +02:00
stm32l5 stm32l5:pinmap Add suffix to all pins and add legacy pinmap 2023-04-19 09:58:11 +02:00
stm32u5 stm32u5:stm32u585xx_pinmap Fix typo 2023-04-19 09:58:11 +02:00
stm32wb stm32wb:pinmap Add suffix to all pins and add legacy pinmap 2023-04-19 09:58:11 +02:00
stm32wl5 stm32wl5:pinmap Fix typo 2023-04-19 09:58:11 +02:00
str71x drivers/serial: Fix docstrings on UART interrupt handlers 2023-02-07 04:41:36 +08:00
tiva Remove the tail spaces from all files except Documentation 2023-02-26 13:24:24 -08:00
tlsr82 arch/arm: change up_saveusercontext to assembly code 2023-04-22 01:11:00 +08:00
tms570 arch: move non arm g_current_regs defintion to common place 2022-09-21 22:23:11 +02:00
xmc4 Typo fixes. 2023-02-17 11:17:11 -03:00
.gitignore
Makefile tools: add separate flags parameter for COMPILE/COMPILEXX 2023-01-31 13:42:33 +08:00