根据龙芯官方的消息,龙芯架构(LoongArch)下的中断模型被正式批准写入 ACPI 规范,成为继 x86、ARM64 架构之后第三种 ACPI 规范支持的 CPU 架构。
官方表示,在适配 ACPI 规范的研发过程中,龙芯中科研发人员发现当前的 ACPI 规范在中断模型的规定上,不适用于龙芯 LoongArch 架构平台。为了解决多核枚举和中断控制器枚举的问题,龙芯团队创建了独立于 x86、ARM64 的第三套中断模型,通过修改 ACPI 公共框架,自主定义中断控制器结构,完成了在 Linux 内核、UEFI 固件、ACPICA 的验证。
在中断模型中龙芯中科自主定义了 7 种中断控制器结构:CORE PIC(处理器核中断控制器)结构、LIO PIC(传统 IO 中断控制器)结构、EIO PIC(扩展 IO 中断控制器)结构、HT PIC(HT 中断控制器)结构、BIO PIC(桥片中断控制器)结构、MSI PIC(MSI 中断控制器)结构、LPC PIC(LPC 中断控制器)结构,7 种中断结构可完整描述龙芯通用处理器中断系统的拓扑关系,并兼容了龙芯下一代中断模型。龙芯中断模型为龙芯通用 PC、服务器领域的整机设计过程中提供了统一的中断配置方法,在遵循 ACPI 规范的龙芯平台通过定义的各级中断控制器结构可实现中断控制器的级联,从而实现同一操作系统对不同硬件平台中断系统的兼容性。
据了解,为了将验证后的龙芯中断模型在 LoongArch 架构处理器上实现产品化,并推向 Linux 内核社区,龙芯中科向国际 ACPI 工作组提交了申请,将 LoongArch 架构的中断模型写入规范,为龙芯中断模型在 Linux 内核中的规范化奠定基础,为 Linux 内核上游社区支持规范化的龙芯中断系统提供依据。后期,该中断模型将随 LoongArch 一并提交社区,吸收汇集广大开发者的智慧。