qemu-patch-raspberry4/target/xtensa
Max Filippov fa92bd4af7 target/xtensa: fix access to the INTERRUPT SR
INTERRUPT special register may be changed both by the core (by writing
to INTSET and INTCLEAR registers) and by external events (by triggering
and clearing HW IRQs). In MTTCG this state must be protected from
concurrent access, otherwise interrupts may be lost or spurious
interrupts may be detected.

Use atomic operations to change INTSET SR.
Fix wsr.intset so that it soesn't clear any bits.
Fix wsr.intclear so that it doesn't clear bit that corresponds to NMI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2019-01-24 10:44:26 -08:00
..
core-dc232b target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-de212 Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-fsf Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-sample_controller Remove unnecessary variables for function return value 2018-05-20 08:48:13 +03:00
core-test_kc705_be target/xtensa: add test_kc705_be core 2018-08-19 18:57:57 -07:00
core-dc232b.c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-dc233c.c target/xtensa: drop num_[core_]regs from dc232b/dc233c configs 2018-11-20 12:20:41 -08:00
core-de212.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-fsf.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-sample_controller.c target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
core-test_kc705_be.c target/xtensa: add test_kc705_be core 2018-08-19 18:57:57 -07:00
cpu-qom.h Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
cpu.c target/xtensa: convert to do_transaction_failed 2018-09-17 11:05:26 -07:00
cpu.h target/xtensa: rework zero overhead loops implementation 2019-01-11 20:52:24 -08:00
dbg_helper.c target/xtensa: extract debug helpers 2019-01-13 23:35:34 -08:00
exc_helper.c target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
fpu_helper.c target/xtensa: extract FPU helpers 2019-01-13 23:33:42 -08:00
gdbstub.c target/xtensa: gdbstub fix register counting 2018-11-20 12:20:41 -08:00
helper.c target/xtensa: add qemu_cpu_kick to xtensa_runstall 2019-01-24 10:44:25 -08:00
helper.h target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
import_core.sh target: Do not include "exec/exec-all.h" if it is not necessary 2018-06-01 14:15:10 +02:00
Makefile.objs target/xtensa: extract interrupt and exception helpers 2019-01-13 23:36:29 -08:00
mmu_helper.c target/xtensa: extract MMU helpers 2019-01-13 23:34:57 -08:00
monitor.c monitor: Fix crashes when using HMP commands without CPU 2017-02-21 18:29:01 +00:00
op_helper.c target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
overlay_tool.h target/xtensa: rework zero overhead loops implementation 2019-01-11 20:52:24 -08:00
translate.c target/xtensa: fix access to the INTERRUPT SR 2019-01-24 10:44:26 -08:00
win_helper.c target/xtensa: extract windowed registers helpers 2019-01-13 23:34:30 -08:00
xtensa-isa-internal.h target/xtensa: import libisa source 2017-12-18 21:26:19 -08:00
xtensa-isa.c Clean up includes 2018-02-09 05:05:11 +01:00
xtensa-isa.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
xtensa-semi.c target/xtensa: support input from chardev console 2018-09-17 11:09:04 -07:00