qemu-e2k/target
Stafford Horne 66564c31e4 target/openrisc: Interrupt handling fixes
When running SMP systems we sometimes were seeing lockups where
IPI interrupts were being raised by never handled.

This looks to be caused by 2 issues in the openrisc interrupt handling
logic.

 1. After clearing an interrupt the openrisc_cpu_set_irq handler will
    always clear PICSR.  This is not correct as masked interrupts
    should still be visible in PICSR.
 2. After setting PICMR (mask register) and exposed interrupts should
    cause an interrupt to be raised.  This was not being done so add it.

This patch fixes both issues.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Stafford Horne <shorne@gmail.com>
2022-09-04 07:02:57 +01:00
..
alpha
arm target/arm: Don't report Statistical Profiling Extension in ID registers 2022-08-12 11:17:35 +01:00
avr target/avr: Disable interrupts when env->skip set 2022-09-01 06:42:21 +01:00
cris
hexagon Hexagon (target/hexagon) make VyV operands use a unique temp 2022-07-31 16:22:09 -07:00
hppa target/hppa: Fix proberi instruction emulation for linux-user 2022-08-19 15:59:14 +02:00
i386 target/i386: AVX+AES helpers prep 2022-09-01 20:16:33 +02:00
loongarch docs/system/loongarch: Update the LoongArch document 2022-08-13 04:45:03 -07:00
m68k target/m68k: Make semihosting system only 2022-06-28 10:13:22 +05:30
microblaze
mips target/mips: Handle lock_user() failure in UHI_plog semihosting call 2022-08-08 23:22:36 +02:00
nios2 target/nios2: Move nios2-semi.c to nios2_softmmu_ss 2022-06-28 10:18:57 +05:30
openrisc target/openrisc: Interrupt handling fixes 2022-09-04 07:02:57 +01:00
ppc target/ppc: Bugfix FP when OE/UE are set 2022-08-31 14:08:05 -03:00
riscv meson: remove dead code 2022-09-01 07:42:37 +02:00
rx
s390x target/s390x: Fix CLFIT and CLGIT immediate size 2022-08-25 21:59:04 +02:00
sh4
sparc
tricore
xtensa
Kconfig
meson.build