RISC-VのAdvanced Platform Interrupt Controller (APLIC) について勉強してみようと思う。
以下においてある実装をチェックしてみることにした。
APLICはいくつかのモードによって実装が切り替わるようになっているらしい。
- MSI_MODE=true
- AIA_EMBEDDED=true
- AIA_DISTRIBUTED=true
- DIRECT_MODE=true
まずはMSI_MODE && AIA_EMBEDDED
の時。この時はIMSIC(Incoming Message Signaled Interrupt Controller )というモジュールが接続されて割り込みを送出する機能まで内包されている。
次にMSI_MODE && AIA_DISTRIBUTED
の時、この時はaxi_liteのマスタ・ポートが付いており、これでMSI通知をAXIに対して送出する仕組みになっている。
最後にDIRECT_MODE
では、そのまま専用の信号線として割り込みが通知される仕組みになっている。