就在刚刚过去这个周末,UEFI论坛正式发布了UEFI Spec 2.10规范[1]和ACPI Spec 6.5[2]。在这两个重量级更新中,比较引入注目的是龙芯CPU的LoongArch架构正式进入UEFI和ACPI规范,成为继x86(IA32和X64)、ARM(AArch32和AArch64)和RISC-V后,第四个进入UEFI Spec的CPU架构,也是中国唯一个自主架构。 据悉,龙芯固件团队自今年2月就开始相关工作,经历多次国际会议review,终于得偿所愿,恭喜龙芯固件团队!因为工作的原因,有幸结识龙芯固件团队。在得知龙芯团队在做LoongArch架构国际标准的支持工作后,最初有些怀疑,在这个中美关系日趋紧张的大环境下,将完全由中国自主设计的架构加入由美国主导的国际规范中,谈何容易!尽管在最初给出了一些建议,说实话,仍然心存疑虑。但看着龙芯团队按照既定步骤,将LoongArch依次加入PE(微软)Spec 和SMBIOS Spec中,今天又进入UEFI和ACPI标准中,令人对龙芯固件团队的执行力刮目相看!龙芯团队积极加入国际社区,显然志向高远,做好国内,下一步也许就是面向国际了。与此同时,这里也向UEFI论坛的美国团队不受政治干扰的专业精神脱帽致敬! UEFI接口本质上其实和CPU架构没有太大关系,唯一需要注意的是C语言相互调用时的Calling Conventions(调用惯例),这也是这次LoongArch进入UEFI的主要贡献内容,详见Spec 2.3.8节: 来源:参考资料1其他部分就是LoongArch独特的中断定义了。ACPI也增加了MADT中相关中断定义,有兴趣的同学可以自行阅读。 龙芯团队下面可能要做的就是up stream相关代码到EDKII Tiano代码仓库中,从而完成开源开放的工作。同时,龙芯团队的整个工作过程,也许可以给中国其他架构进入国际规范做个很好的范例,可谓善莫大焉。
|