About

Implement DT based drivers for APLIC and IMSIC defined by the RISC-V AIA specification.

The RISC-V AIA specification is now frozen as-per the RISC-V international process. The latest frozen specifcation can be found at:
https://github.com/riscv/riscv-aia/releases/download/1.0-RC6/riscv-interrupts-1.0-RC6.pdf

At a high-level, the AIA specification adds three things:

  1.  AIA CSRs
    1. Improved local interrupt support
  2. Incoming Message Signaled Interrupt Controller (IMSIC)
    1. Per-HART MSI controller
    2. Support MSI virtualization
    3. Support IPI along with virtualization
  3. Advanced Platform-Level Interrupt Controller (APLIC)
    1. Wired interrupt controller
    2. In MSI-mode, converts wired interrupt into MSIs (i.e. MSI generator)
    3. In Direct-mode, injects external interrupts directly into HARTs

For an overview of the AIA specification, refer the recent AIA virtualization talk at KVM Forum 2022:
https://static.sched.com/hosted_files/kvmforum2022/a1/AIA_Virtualization_in_KVM_RISCV_final.pdf
https://www.youtube.com/watch?v=r071dL8Z0yo

Status


Dependency
None


Development
COMPLETED

URL: NA

Development Timeline

NA


Upstreaming

COMPLETED

Upstream Version
Linux-6.10


Contacts

Anup Patel (Ventana)

Updates

  • Project reported as priority for 2H23