龙芯PMON代码流程优化方案.pdf

上传者: 39840924 | 上传时间: 2022-11-02 22:52:00 | 文件大小: 387KB | 文件类型: PDF
图 1 为龙芯原始 PMON 初始化的代码流程,其中 C语言环境代码没有详细展开,事实上 C 语言的比重比汇编代码多很多。但是汇编代码的篇幅确实也是不小,这样对阅读代码有很大的障碍。粗略估算了一下,现有代码中,汇编能占到 1.5-2 万行。

 

现有的代码汇编风格并不是很好,有些代码甚至难以让人读懂。所以将代码结构从新整理是很有必要的。

 

总体上的思想是将 C 语言环境尽快搭建起来,让汇编代码压缩的最小。并且将所有的初始化变成模块,用树形结构来搭建 BIOS 启动的流程。配置信息类似于表的方式存在,今后在开机上电后龙芯 BIOS 也可以自检,如果当前主板配置和默认配置不匹配,那么将配置文件读入,进而使用配置文件的值来初始化。搭建 C 语言环境可以使用 CAR 技术,CAR 是 Cache As RAM 的缩写。C 语言运行需要栈,在初始化初期,内存不可用,如果想在该阶段使用 C 环境,那么可以使用 cache 作为栈,龙芯平台上可以将 cache 锁定,不让 cache 内容被交换出去,这样就可以让 cache 当做 RAM 来使用。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明