qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] target/nios2: Shadow register set, EIC and VIC
@ 2022-02-24 13:48 Amir Gonnen
  2022-02-24 13:48 ` [PATCH v2 1/4] target/nios2: Shadow register set Amir Gonnen
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Amir Gonnen @ 2022-02-24 13:48 UTC (permalink / raw)
  To: qemu-devel, Peter Maydell, Chris Wulff, Marek Vasut; +Cc: Amir Gonnen

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.gonnen@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.


^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2022-03-03 10:09 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-24 13:48 [PATCH v2 0/4] target/nios2: Shadow register set, EIC and VIC Amir Gonnen
2022-02-24 13:48 ` [PATCH v2 1/4] target/nios2: Shadow register set Amir Gonnen
2022-02-24 21:59   ` Richard Henderson
2022-02-24 22:46   ` Richard Henderson
2022-02-27 16:16     ` Amir Gonnen
2022-02-27 16:59       ` Peter Maydell
2022-02-24 13:48 ` [PATCH v2 2/4] target/nios2: Exteral Interrupt Controller (EIC) Amir Gonnen
2022-02-24 23:56   ` Richard Henderson
2022-02-25 17:54     ` Peter Maydell
2022-03-03  9:54     ` Amir Gonnen
2022-03-03 10:08       ` Peter Maydell
2022-02-24 13:49 ` [PATCH v2 3/4] hw/intc: Vectored Interrupt Controller (VIC) Amir Gonnen
2022-02-25 17:48   ` Peter Maydell
2022-02-24 13:49 ` [PATCH v2 4/4] hw/nios2: Machine with a Vectored Interrupt Controller Amir Gonnen
2022-02-25 12:48   ` Peter Maydell
2022-02-27  8:46     ` Amir Gonnen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).