编辑: hgtbkwd 2019-12-16
Q/LS Q/LS 0013-2014 龙芯 CPU 开发系统固件与内核接口规范 V2.

2 2019-03-04 发布 2019-03-04 实施 龙芯中科技术有限公司 批准 龙芯中科技术有限公司企业标准文档更新记录 文档编号 Q/LS 0013-2014 文档名 龙芯 CPU 开发系统固件与内核接口规范 版本号 V2.2 创建人 研发中心 创建日期 2014-04-01 更新历史 序号 更新日期 版本号 更新内容

1 2014.4.01 V1.0 发布文档初始版本 V1.0 版.

2 2016.8.30 V1.1 修订版本 V1.1

1、重新修订了地址规范约束;

2、重新修订了 SMBIOS 规范中 CPU 型号的约定;

3 2017.4.18 V1.2 修订版本 V1.2

1、添加传参新成员 cpuname 及其格式规范;

2、添加新传参功能:表示桥片个数、DMA cache/uncache;

3、添加新的结构体描述(efi_reset_system_t);

4、添加成员 DoSuspend;

4 2017.5.27 V2.0 修订版本 V2.0

1、重新修订附录 B bootparam.h 文件;

2、修正附录 A 中的几处错误;

5 2018.3.27 V2.1 修订版本 V2.1

1、第4节修改,地址规范相关修改;

2、增加附录 E,添加 3A/3B+7A 描述(boardinfo、地址、 中断),增加 7A GPU 使用地址段约束;

3、完善 4.2 节地址规范约束;

4、添加 4.3 节DMA 规范描述以及 C、D、E 附录中 DMA 规范 约束表;

5、修改一些编写错误;

6 2018.11.20 V2.2 修订版本 V2.2

1、第4.2 节,低端内存的高 16M 地址空间相对 UEFI 做了 约束;

2、第7节,对SMBIOS 产品信息(Type2)第六字段增加了 命名约束,附录 A.6 board_devices.name 受同样约束;

3、附录 A.2,删除现在接口中已经废弃的 screen_info 和sys_desc_table;

4、附录 A.3,删除现在接口中已经废弃的 systab 和UEFI runtime 服务相关的接口;

3

5、附录 A.4,规范了使用龙芯集显情况 vbios 的处理;

6、附录 A.8,固件传参接口的内存映射表中对应物理地址 空间范围增加了对应的 DMA 地址空间范围;

7、附录 A.9,固件传参接口添加 of_dtb_addr 成员;

8、附录 A.12,对固件传参接口 cpuname 的使用进行补充 完善;

9、修改了一些语法错误和排版问题. Q/LS 0013-2014 I 目次1范围.1

2 术语与定义.1

3 架构关系.1

4 地址空间规范.2 4.1 芯片地址空间表.2 4.2 地址空间表.2 4.3 DMA 地址映射规范.4

5 中断配置规范.4 5.1 固件与内核关于中断的划分界面

4 5.1.1 固件与内核关于中断的分工

4 5.1.2 中断的处理方式.5 5.2 中断号码的分配及各类芯片内部中断路由约定

5 5.3 与板级硬件设计有关的约定.5

6 固件与内核接口传参规范.5 6.1 传参数据结构的约定.5 6.2 传参的实现.6 6.2.1 概述.6 6.2.2 固件中实现.6 6.2.3 参数的传递.6 6.2.4 内核中实现.6

7 SMBIOS 规范的实现约定.6

8 兼容性约定.8

9 总结.8 附录 A 龙芯 CPU 开发系统传参数据结构

9 附录 B传参数据结构头文件 bootparam.h

21 附录 C 3A/B+780E 中断及地址空间约定

27 附录 D 3A/B+2H 中断及地址空间约定

30 附录 E 3A/B+7A 中断及地址空间约定

33 Q/LS 0013-2014 II 前言本规范是龙芯中科技术有限公司制定的企业规范,暂无国家相关行业通用规范可参考. 本规范涉及到固件与内核之间的传参、中断分配及地址空间划分等方面,主要介绍龙芯板卡固件 与内核之间的接口定义,地址空间分配,中断在内核和固件之间的划分、中断号的分配及相关硬件布 线约定, 最后提到了 SMBIOS 中需要实现的类型约定. 接口定义涉及到固件与内核间信息传递的数据结 构定义,固件使用何种方式传递这些数据结构及内核如何解析等方面. 本规范的起草单位:龙芯中科技术有限公司、中电科技(北京)有限公司、江苏中科梦兰电子科技 有限公司、中标软件有限公司. 本规范的主要起草人:孟小甫、司志莹、王焕东、成修治、陈华才、陈小春、何君、刘绍宗、苏 孟豪、乔崇、夏启超、李雪峰、张爽爽、周学智. 本规范审核人:王剑,高翔,黄沛,邱吉,李文刚,王玉钱,袁俊卿. 本规范批准人:胡伟武. Q/LS 0013-2014

1 龙芯 CPU 开发系统固件与内核接口规范

1 范围 本规范规定了龙芯 CPU 开发系统的地址空间、 中断配置、 固件与内核接口传参实现及 SMBIOS 实现 约定的要求.本规范适用于龙芯

2 号和

3 号系列 CPU 开发系统.建议其它系统厂商遵循此规范开发相 关产品. 本规范由通用规范和详细规范组成.正文及附录 A、B 为通用规范,通用规范描述一般性的约定. 附录 C、附录 D 为详细规范,详细规范针对不同开发系统进行具体约定.当通用规范与详细规范不一 致时,以详细规范为准.

2 术语与定义 本规范所用术语定义如下: a) 固件:Firmware,写入 ROM、EPROM 等非易失存储器中的程序,负责控制和协调集成电路. b) BIOS:基本输入输出系统,Basic Input Output System,一组固化到主板上一个 ROM 芯片上 的程序,它保存着计算机基本输入输出程序、系统设置信息、开机后自检程序和系统自启动 程序.BIOS 与硬件系统集成在一起,也被称为固件,本规范中固件和 BIOS 不做区分. c) UEFI:统一的可扩展固定接口,Unified Extensible Firmware Interface,是Intel 为全新 类型的 PC 固件的体系结构、接口和服务提出的建议标准.主要目的是提供在 OS 加载之前 在所有平台上一致、正确指定的启动服务,被看做是有近

20 多年历史的 PC BIOS 的继任者. d) PMON:MIPS 架构机器上使用的一种兼有 BIOS 和boot loader 部分功能的开放源码软件. e) SMBIOS(System Management BIOS):是主板或系统制造者以标准格式显示产品管理信息所需 遵循的统一规范.DMI (Desktop Management Interface)是帮助收集电脑系统信息的管理系 统, DMI 信息的收集必须在严格遵照 SMBIOS 规范的前提下进行. SMBIOS 和DMI 是由行业指导 机构 Desktop Management Task Force (DMTF)起草的开放性的技术标准. f) HT(HyperTransport):是一种为主板上的集成电路互连而设计的端到端总线技术,目的是 加快芯片间的数据传输速度.HT 通常指 CPU 到主板芯片(或北桥)之间的连接总线,即HT 总线.类似于 Intel 平台中的前端总线(FSB),HT 按技术规格分有 HT1.

0、HT2.

0、HT3.

0、 HT3.1. g) PCI(Peripheral Component Interconnect):是连接电子计算机主板和外部设备的总线标 准, 用于定义局部总线的标准. 此标准允许在计算机内安装多达

10 个遵从 PCI 标准的扩展卡.

3 架构关系 龙芯 PC 产品的固件与内核接口在系统各软件之间所处的层次关系如图

1 所示: 操作系统 固件与内核接口 PMON 开源固件(如Uboot) 商业固件(如昆仑固件) Q/LS 0013-2014

2 图1接口与内核和固件之间的关系

4 地址空间规范 4.1 芯片地址空间表 龙芯处理器可以通过芯片内的 PCI 接口连接外部桥片,也可以使用 HT 端口连接桥片.由于 HT 端 口速度更快、位长更宽,现在多使用 HT1 端口连接桥片的模式.不同芯片的地址空间配置约定如各自 的附录所示. 4.2 地址空间表 地址空间设计的规则约定如下: a) 0x0000_0000~0x0FFF_FFFF 的低 256MB 空间为低端内存空间. 其中0x000 0000~0x001F FFFF为兼容老版本固件保留的2M地址空间;

0x0F00_0000~0x0FFF_FFFF 是为固件保留的 16M 地址空间,用于与内核的信息交互,如固件传参、关机和重启功能、Smbios、 Vbios 等. 当使用龙芯 UEFI 作为固件时, 该16M 地址空间要做特殊规划, 防止上述数据分配到 16M 以下空间.参考实现如下: 图116M 地址空间参考实现 Q/LS 0013-2014

3 b) 0x1000_0000~0x1FFF_FFFF 为PCI 等IO 设备空间及部分芯片配置寄存器空间;

c) 0x3000_0000~0x3FFF_FFFF 为窗口配........

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题