Open Jingwiw opened 5 months ago
目标:本任务旨在整理并适配 CLINT 部分的代码,以支持RISCV架构下的中断API框架,特别是针对核间中断 IPI 的管理和处理。
问题背景:
涉及软件包: Uniproton
涉及软件包地址: https://gitee.com/openeuler/UniProton
所需技能:
其它: RISCV与其他架构的主要差异在于核间中断的管理方式。在ARM等架构中,核间中断通常由外部中断控制器(如GIC)管理,并分配有硬件中断号。而在RISCV架构中,核间中断是直接由CLINT管理,无对应外设硬件中断号,故无法直接应用外设硬件的处理流程。
要并入当非 arch 部分的 kernel 代码有点困难,所以最后以在 demo bsp 添加额外模块的方式来解决此问题,目前已经可以在 rpmsglite_env_test 工程里面使用 https://gitee.com/openeuler/UniProton/pulls/359
说明
目标:本任务旨在整理并适配 CLINT 部分的代码,以支持RISCV架构下的中断API框架,特别是针对核间中断 IPI 的管理和处理。
问题背景:
涉及软件包: Uniproton
涉及软件包地址: https://gitee.com/openeuler/UniProton
所需技能:
其它: RISCV与其他架构的主要差异在于核间中断的管理方式。在ARM等架构中,核间中断通常由外部中断控制器(如GIC)管理,并分配有硬件中断号。而在RISCV架构中,核间中断是直接由CLINT管理,无对应外设硬件中断号,故无法直接应用外设硬件的处理流程。