qemu-e2k/hw
Max Filippov a7d479ee51 target/xtensa: implement NMI support
When NMI is configured it is taken regardless of INTENABLE SR contents,
PS.INTLEVEL or PS.EXCM. It is cleared automatically once it's taken.

Add nmi_level to XtensaConfig, puth there NMI level from the overlay or
XCHAL_NUM_INTLEVELS + 1 when NMI is not configured. Add NMI mask to
INTENABLE SR and limit CINTLEVEL to nmi_level - 1 when determining
pending IRQ level in check_interrupt(). Always take and clear pending
interrupt at nmi_level in the handle_interrupt().

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2020-08-21 12:48:14 -07:00
..
9pfs meson: convert hw/9pfs, cleanup 2020-08-21 06:30:33 -04:00
acpi meson: convert hw/acpi 2020-08-21 06:30:32 -04:00
adc meson: convert hw/adc 2020-08-21 06:30:32 -04:00
alpha meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
arm meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
audio meson: convert hw/audio 2020-08-21 06:30:32 -04:00
avr meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
block meson: convert hw/block 2020-08-21 06:30:32 -04:00
char meson: convert hw/char 2020-08-21 06:30:32 -04:00
core meson: convert hw/core 2020-08-21 06:30:25 -04:00
cpu meson: convert hw/cpu 2020-08-21 06:30:31 -04:00
cris meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
display meson: convert hw/display 2020-08-21 06:30:31 -04:00
dma meson: convert hw/dma 2020-08-21 06:30:31 -04:00
gpio meson: convert hw/gpio 2020-08-21 06:30:31 -04:00
hppa meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
hyperv meson: convert hw/hyperv 2020-08-21 06:30:31 -04:00
i2c meson: convert hw/i2c 2020-08-21 06:30:30 -04:00
i386 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
ide meson: convert hw/ide 2020-08-21 06:30:30 -04:00
input meson: convert hw/input 2020-08-21 06:30:30 -04:00
intc meson: convert hw/intc 2020-08-21 06:30:30 -04:00
ipack meson: convert hw/ipack 2020-08-21 06:30:30 -04:00
ipmi meson: convert hw/ipmi 2020-08-21 06:30:29 -04:00
isa meson: convert hw/isa 2020-08-21 06:30:29 -04:00
lm32 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
m68k meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mem meson: convert hw/mem 2020-08-21 06:30:26 -04:00
microblaze meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
mips meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
misc meson: convert hw/misc 2020-08-21 06:30:29 -04:00
moxie meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
net meson: convert hw/net 2020-08-21 06:30:29 -04:00
nios2 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
nubus meson: convert hw/nubus 2020-08-21 06:30:25 -04:00
nvram meson: convert hw/nvram 2020-08-21 06:30:28 -04:00
openrisc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
pci meson: convert hw/pci 2020-08-21 06:30:28 -04:00
pci-bridge meson: convert hw/pci-bridge 2020-08-21 06:30:28 -04:00
pci-host meson: convert hw/pci-host 2020-08-21 06:30:28 -04:00
pcmcia meson: convert hw/pcmcia 2020-08-21 06:30:28 -04:00
ppc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
rdma meson: convert hw/rdma 2020-08-21 06:30:29 -04:00
riscv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
rtc meson: convert hw/rtc 2020-08-21 06:30:27 -04:00
rx meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
s390x meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
scsi meson: convert hw/scsi 2020-08-21 06:30:28 -04:00
sd meson: convert hw/sd 2020-08-21 06:30:27 -04:00
semihosting meson: convert hw/semihosting 2020-08-21 06:30:25 -04:00
sh4 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
smbios meson: convert hw/smbios 2020-08-21 06:30:25 -04:00
sparc meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
sparc64 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
ssi meson: convert hw/ssi 2020-08-21 06:30:27 -04:00
timer meson: convert hw/timer 2020-08-21 06:30:27 -04:00
tpm meson: convert hw/tpm 2020-08-21 06:30:27 -04:00
tricore meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
unicore32 meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
usb meson: convert hw/usb 2020-08-21 06:30:26 -04:00
vfio meson: convert hw/vfio 2020-08-21 06:30:26 -04:00
virtio meson: convert hw/virtio 2020-08-21 06:30:26 -04:00
watchdog meson: convert hw/watchdog 2020-08-21 06:30:26 -04:00
xen meson: convert hw/xen 2020-08-21 06:30:24 -04:00
xenpv meson: convert hw/arch* 2020-08-21 06:30:33 -04:00
xtensa target/xtensa: implement NMI support 2020-08-21 12:48:14 -07:00
Kconfig
meson.build meson: convert hw/arch* 2020-08-21 06:30:33 -04:00