This patch adds support for IMSIC on RISCV architecture.
The following features are supported:
- Interrupt delivery with aplic-imsic
- Sending IPIs between HARTS without ecall
- IPIs are sent IMSIC-to-IMSIC
Whats not supported:
- MSI interrupts from devices.
MSI chosen for IPI is 1 as it has the highest priority.
IPIs over IMSIC can be disabled by "aia.imsic.ipi_disabled=1" kernel parameter.