2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-19 02:34:01 +08:00
linux-next/arch/xtensa/kernel
Max Filippov a0fc1436f1 xtensa: add missing exclusive access state management
The result of the s32ex opcode is recorded in the ATOMCTL special
register and must be retrieved with the getex opcode. Context switch
between s32ex and getex may trash the ATOMCTL register and result in
duplicate update or missing update of the atomic variable.
Add atomctl8 field to the struct thread_info and use getex to swap
ATOMCTL bit 8 as a part of context switch.
Clear exclusive access monitor on kernel entry.

Cc: stable@vger.kernel.org
Fixes: f7c34874f0 ("xtensa: add exclusive atomics support")
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-07-31 14:15:57 -07:00
..
syscalls vfs: add faccessat2 syscall 2020-05-14 16:44:25 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
align.S xtensa: clean up word alignment macros in assembly code 2017-12-10 14:48:53 -08:00
asm-offsets.c xtensa: add missing exclusive access state management 2020-07-31 14:15:57 -07:00
coprocessor.S xtensa: move fast exception handlers close to vectors 2020-02-04 21:53:39 -08:00
entry.S xtensa: add missing exclusive access state management 2020-07-31 14:15:57 -07:00
head.S xtensa: add XIP kernel support 2019-11-26 11:33:38 -08:00
hw_breakpoint.c xtensa: replace variant/core.h with asm/core.h 2019-05-06 17:48:55 -07:00
irq.c xtensa: drop variant IRQ support 2018-08-20 12:28:05 -07:00
jump_label.c jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00
Makefile xtensa: use the generic uncached segment support 2019-11-11 10:52:18 +01:00
mcount.S xtensa: abstract 'entry' and 'retw' in assembly code 2019-07-08 10:04:48 -07:00
module.c xtensa: clean up custom-controlled debug output 2017-12-16 22:37:08 -08:00
mxhead.S xtensa: drop unused sections and remapped reset handlers 2015-11-03 17:19:39 +03:00
pci-dma.c dma-direct: make uncached_kernel_address more general 2020-03-16 10:48:09 +01:00
pci.c xtensa: use generic pcibios_set_master and pcibios_enable_device 2019-06-16 23:31:29 -07:00
perf_event.c xtensa: fix xtensa_pmu_setup prototype 2020-07-31 14:09:12 -07:00
platform.c xtensa: drop empty platform_* functions from platforms 2020-01-31 12:17:28 -08:00
process.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
ptrace.c xtensa: add seccomp support 2020-07-28 00:57:06 -07:00
s32c1i_selftest.c xtensa: move S32C1I self-test to a separate file 2016-11-16 15:08:28 -08:00
setup.c xtensa: update *pos in cpuinfo_op.next 2020-07-02 08:35:02 -07:00
signal.c xtensa: clean up system_call/xtensa_rt_sigreturn interaction 2019-11-29 19:37:12 -08:00
smp.c xtensa: replace setup_irq() by request_irq() 2020-03-03 18:40:26 -08:00
stacktrace.c xtensa: add support for call0 ABI in userspace 2019-09-01 13:11:57 -07:00
syscall.c xtensa: implement syscall tracepoints 2018-12-17 13:50:25 -08:00
time.c xtensa: replace setup_irq() by request_irq() 2020-03-03 18:40:26 -08:00
traps.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
vectors.S mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
vmlinux.lds.S xtensa: reorganize vectors placement 2020-02-04 21:57:02 -08:00
xtensa_ksyms.c xtensa: fix __sync_fetch_and_{and,or}_4 declarations 2020-07-02 08:35:02 -07:00