OpenSBI Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/13] OpenSBI RISC-V AIA Support
@ 2022-02-09 15:04 Anup Patel
  2022-02-09 15:04 ` [PATCH v2 01/13] include: sbi: Add AIA related CSR defines Anup Patel
                   ` (12 more replies)
  0 siblings, 13 replies; 36+ messages in thread
From: Anup Patel @ 2022-02-09 15:04 UTC (permalink / raw)
  To: opensbi

The advanced interrupt architecture (AIA) extends the per-HART local
interrupt support. Along with this, it also adds IMSIC (MSI contrllor)
and Advanced PLIC (wired interrupt controller).

The latest AIA draft specification can be found here:
https://github.com/riscv/riscv-aia/releases/download/0.2-draft.28/riscv-interrupts-028.pdf

To test series, we require Linux from riscv_aia_v1 branch of
https://github.com/avpatel/linux.git

This series can be found riscv_aia_v2 branch at:
https://github.com/avpatel/opensbi.git

Changes since v1:
 - Removed redundant CSR checks to detect AIA in PATCH2
 - Typo fix in commit description of PATCH5
 - Added more details about nascent_init() in comments of PATCH6

Anup Patel (13):
  include: sbi: Add AIA related CSR defines
  lib: sbi: Detect AIA CSRs at boot-time
  lib: sbi: Use AIA CSRs for local interrupts when available
  lib: sbi: Add sbi_trap_set_external_irqfn() API
  lib: utils/irqchip: Allow multiple FDT irqchip drivers
  include: sbi: Introduce nascent_init() platform callback
  lib: sbi: Enable mie.MEIE bit for IPIs based on external interrupts.
  lib: utils/irqchip: Add IMSIC library
  lib: utils/irqchip: Add FDT based driver for IMSIC
  lib: utils: Disable appropriate IMSIC DT nodes in fdt_fixups()
  lib: utils/irqchip: Add APLIC initialization library
  lib: utils/irqchip: Add FDT based driver for APLIC
  lib: utils: Disable appropriate APLIC DT nodes in fdt_fixups()

 include/sbi/riscv_encoding.h          |  76 +++++++
 include/sbi/sbi_hart.h                |   4 +-
 include/sbi/sbi_platform.h            |  20 ++
 include/sbi/sbi_trap.h                |   2 +
 include/sbi_utils/fdt/fdt_fixup.h     |  29 ++-
 include/sbi_utils/fdt/fdt_helper.h    |  10 +
 include/sbi_utils/irqchip/aplic.h     |  47 +++++
 include/sbi_utils/irqchip/imsic.h     |  50 +++++
 lib/sbi/sbi_hart.c                    |  11 +
 lib/sbi/sbi_hsm.c                     |   4 +-
 lib/sbi/sbi_init.c                    |  17 +-
 lib/sbi/sbi_trap.c                    |  86 +++++++-
 lib/utils/fdt/fdt_fixup.c             |  43 +++-
 lib/utils/fdt/fdt_helper.c            | 262 +++++++++++++++++++++++
 lib/utils/irqchip/aplic.c             | 279 +++++++++++++++++++++++++
 lib/utils/irqchip/fdt_irqchip.c       |  41 +++-
 lib/utils/irqchip/fdt_irqchip_aplic.c |  56 +++++
 lib/utils/irqchip/fdt_irqchip_imsic.c | 106 ++++++++++
 lib/utils/irqchip/imsic.c             | 287 ++++++++++++++++++++++++++
 lib/utils/irqchip/objects.mk          |   4 +
 platform/generic/platform.c           |  12 ++
 21 files changed, 1418 insertions(+), 28 deletions(-)
 create mode 100644 include/sbi_utils/irqchip/aplic.h
 create mode 100644 include/sbi_utils/irqchip/imsic.h
 create mode 100644 lib/utils/irqchip/aplic.c
 create mode 100644 lib/utils/irqchip/fdt_irqchip_aplic.c
 create mode 100644 lib/utils/irqchip/fdt_irqchip_imsic.c
 create mode 100644 lib/utils/irqchip/imsic.c

-- 
2.25.1



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

end of thread, other threads:[~2022-02-15 15:25 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-09 15:04 [PATCH v2 00/13] OpenSBI RISC-V AIA Support Anup Patel
2022-02-09 15:04 ` [PATCH v2 01/13] include: sbi: Add AIA related CSR defines Anup Patel
2022-02-15 15:14   ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 02/13] lib: sbi: Detect AIA CSRs at boot-time Anup Patel
2022-02-09 16:33   ` Atish Patra
2022-02-15 15:14     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 03/13] lib: sbi: Use AIA CSRs for local interrupts when available Anup Patel
2022-02-09 16:41   ` Atish Patra
2022-02-15 15:15     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 04/13] lib: sbi: Add sbi_trap_set_external_irqfn() API Anup Patel
2022-02-15 15:15   ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 05/13] lib: utils/irqchip: Allow multiple FDT irqchip drivers Anup Patel
2022-02-15 15:16   ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 06/13] include: sbi: Introduce nascent_init() platform callback Anup Patel
2022-02-15 15:16   ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 07/13] lib: sbi: Enable mie.MEIE bit for IPIs based on external interrupts Anup Patel
2022-02-09 16:31   ` Atish Patra
2022-02-15 15:19     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 08/13] lib: utils/irqchip: Add IMSIC library Anup Patel
2022-02-12  9:09   ` Atish Patra
2022-02-15 15:19     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 09/13] lib: utils/irqchip: Add FDT based driver for IMSIC Anup Patel
2022-02-12  0:54   ` Atish Patra
2022-02-15 14:57     ` Anup Patel
2022-02-15 15:20     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 10/13] lib: utils: Disable appropriate IMSIC DT nodes in fdt_fixups() Anup Patel
2022-02-15 15:20   ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 11/13] lib: utils/irqchip: Add APLIC initialization library Anup Patel
2022-02-12  0:32   ` Atish Patra
2022-02-15 15:24     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 12/13] lib: utils/irqchip: Add FDT based driver for APLIC Anup Patel
2022-02-12  0:56   ` Atish Patra
2022-02-15 14:57     ` Anup Patel
2022-02-15 15:25     ` Anup Patel
2022-02-09 15:04 ` [PATCH v2 13/13] lib: utils: Disable appropriate APLIC DT nodes in fdt_fixups() Anup Patel
2022-02-15 15:25   ` Anup Patel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox