openeuler-riscv / oerv-team

OERV 实习生工作中心
7 stars 36 forks source link

为 Uniproton 适配 RISCV 架构 CLINT 代码到中断 API 框架 #165

Open Jingwiw opened 5 months ago

Jingwiw commented 5 months ago

说明

目标:本任务旨在整理并适配 CLINT 部分的代码,以支持RISCV架构下的中断API框架,特别是针对核间中断 IPI 的管理和处理。

问题背景:

涉及软件包: Uniproton

涉及软件包地址: https://gitee.com/openeuler/UniProton

所需技能:

其它: RISCV与其他架构的主要差异在于核间中断的管理方式。在ARM等架构中,核间中断通常由外部中断控制器(如GIC)管理,并分配有硬件中断号。而在RISCV架构中,核间中断是直接由CLINT管理,无对应外设硬件中断号,故无法直接应用外设硬件的处理流程。

Jer6y commented 2 months ago

要并入当非 arch 部分的 kernel 代码有点困难,所以最后以在 demo bsp 添加额外模块的方式来解决此问题,目前已经可以在 rpmsglite_env_test 工程里面使用 https://gitee.com/openeuler/UniProton/pulls/359