Implement nios2 Shadow register set, EIC and VIC. Currently nios2 on QEMU contains an internal Interrupt Controller. The nios2 architecture can support a more powerful External Interrupt Controller (EIC) instead of the internal, and implements special cpu features to support it: Shadow register set and External Interrupt Controller Interface.
This patch series introduces the necessary changes to the nios2 cpu to support an External Interrupt Controller, and includes a Vectored Interrupt Controller (VIC) device that can be attach to the EIC. Following Peter's suggestion in the previous version, I've splitted this into several independant patches that rely on each other incrementally and added a board that wires up the VIC: 1. Shadow Register Set support on the nios2 core 2. External Interrupt Controller interface on the nios2 core 3. Vectored Interrupt Controller 4. A board that uses the VIC instead of the default internal interrupt controller Signed-off-by: Amir Gonnen <amir.gon...@neuroblade.ai> Amir Gonnen (4): target/nios2: Shadow register set target/nios2: Exteral Interrupt Controller (EIC) hw/intc: Vectored Interrupt Controller (VIC) hw/nios2: Machine with a Vectored Interrupt Controller hw/intc/Kconfig | 4 + hw/intc/meson.build | 1 + hw/intc/nios2_vic.c | 327 ++++++++++++++++++++++++++++++++++++++ hw/nios2/10m50_devboard.c | 64 +++++++- target/nios2/cpu.c | 59 +++++-- target/nios2/cpu.h | 69 +++++++- target/nios2/helper.c | 33 +++- target/nios2/helper.h | 3 + target/nios2/op_helper.c | 31 +++- target/nios2/translate.c | 32 +++- 10 files changed, 597 insertions(+), 26 deletions(-) create mode 100644 hw/intc/nios2_vic.c -- 2.25.1 The contents of this email message and any attachments are intended solely for the addressee(s) and may contain confidential and/or privileged information and may be legally protected from disclosure. If you are not the intended recipient of this message or their agent, or if this message has been addressed to you in error, please immediately alert the sender by reply email and then delete this message and any attachments. If you are not the intended recipient, you are hereby notified that any use, dissemination, copying, or storage of this message or its attachments is strictly prohibited.