RISC-V的PREEMPT_RT

本章主要描述在赛昉科技昉·惊鸿-7110 SDK内核(5.15版Linux内核)应用PREEMPT_RT的方法(仅限于测试)。如果从工业项目落地来讲,用6.6 LTS内核更合适,因为RT-Linux已在6.6 LTS内核支持RISC-V架构,而且赛昉科技昉·惊鸿-7110的大部分驱动已在6.6内核能找到,只需在6.6版本内核打上RT-Linux补丁,并编译包含昉·星光 2的驱动程序的内核就可以使用和测试PREEMPT_RT

PREEMPT_RT补丁已经支持多种架构,并且大多数重要的实时功能都是在独立于架构的内核代码中实现的。因此,可以放心地假设内核的这些部分可以正确地工作,并且RISC-V操作所需的所有更改只需要在特定于体系结构的代码中完成。在Linux内核源代码树中,这将包括arch/riscv/目录下的所有文件,以及drivers/目录中的每个RISC-V特定的驱动程序。对Linux内核所实现的更改列在附录A:实时Linux补丁中。

本章讨论了将PREEMPT_RT补丁的基本功能移植到RISC-V架构时所需的不同步骤和修改。首先,在应用补丁中,提出了将PREEMPT_RT补丁应用于主线内核源代码树的过程。然后,在LAZY_PREEMPT中,讨论了RT-Linux中的LAZY_PREEMPT。