简介

这是龙芯架构文档。

  • 您可以在 这里 找到在线文档。

  • 您可以在 这里 找到所有历史版本。

因为文档中存在过长的表格,而且 HTML 版本的主题更易定制,所以 HTML 版本比 PDF 版本更好阅读。 为了方便下载,每个 HTML 页面都嵌入了 CSS 和图像。

文档

  • 龙芯架构参考手册 - 卷一:基础架构: 该手册介绍了龙芯架构中基础架构部分的内容。

  • 龙芯架构参考手册 - 卷二:向量指令扩展: 该手册介绍了龙芯架构中向量指令扩展(SIMD 和 高级 SIMD 扩展)部分的内容。(待定

    • 原始文档 。

  • 龙芯架构参考手册 - 卷三:虚拟化及二进制翻译扩展:该手册介绍了龙芯架构中虚拟化及二进制翻译扩展部分的内容。(待定

    • 原始文档 。

  • 龙芯 3A5000/3B5000 处理器寄存器使用手册 - 多核处理架构、寄存器描述与系统软件编程指南:该手册介绍了龙芯 3A5000/3B5000 多核处理器架构与寄存器描述。

  • 龙芯 7A1000 桥片用户手册:该手册介绍了桥片总体架构、时钟结构、地址空间、配置寄存器以及各个功能接口,主要供 BIOS 和内核开发人员使用。

  • 龙芯架构 ELF psABI:该手册介绍了龙芯架构 ELF psABI。

  • 龙芯架构工具链约定:该手册介绍了龙芯架构工具链的命令行界面和操作系统相关惯例。

  • 龙芯架构 SMBIOS 规范:该文档定义了龙芯架构处理器附加信息,是 SMBIOS 结构 type 44 的补充。本文档仅提供 英文版

开始

我们 强烈建议 您在 Linux/UNIX 或 macOS 上开发。 如果您想在 Windows 上开发, 先参阅 在 Windows 上开发

  1. 确保 Ruby 开发环境 已经安装。

  2. 安装 bunlder:

    gem install bundler
  3. 克隆该项目:

    git clone https://github.com/loongson/LoongArch-Documentation
  4. 进入项目仓库,并使用 bundle 命令安装 gems 到该项目(这会花一些时间,期间大约 20MB 的数据会被下载):

    cd LoongArch-Documentation
    bundle config set --local path .bundle/gems
    bundle
  5. 现在您可以生产文档了。

    • 把 AsciiDoc 转换成 HTML 和 PDF:

      bundle exec rake book:all
    • 只把 AsciiDoc 转换成 HTML:

      bundle exec rake book:html
    • 只把 AsciiDoc 转换成 PDF:

      bundle exec rake book:pdf
    • 把特定的 book.adoc 转换成 HTML:

      bundle exec rake book:html['book.adoc']
    • 把特定的 book.adoc 转换成 PDF:

      bundle exec rake book:pdf['book.adoc']

贡献

感谢您花时间为该项目作贡献!

您可以直接创建一个 issue 或发起一个 pull request。 如果您提交了一个 pull request,在成功渲染后,您可以在 这里 看到预览版本。

编写文档时请遵循 风格指南

HTML 版本的文档会被自动部署,而 PDF 版本的文档则由手动发布。 如果您在 release 页面 上的文档中发现问题,请复查它是否依然在该仓库中存在。 这个问题可能已经被更正,而修改的内容还未发布。

gh-pages 分支是由 Github Actions 自动生成的,用于给 Github Pages 来发布项目网站。 所以您不应该直接修改该分支。

引用

问题解决

在 Windows 上开发

一些文件的路径过长,超过了 Windows API 的 260 个字符的限制,这可能导致一些奇怪的问题。

在 Windows 10 1607 版本或更新的版本中,这些问题能被解决。 如果您使用了一个早期的版本,或者您不想进行一些额外的操作,您可以考虑使用 Docker,具体细节参考 在 Docker 上开发

  1. 启用 长路径支持。

  2. 使用最新的 Git 。 用 Git Bash 执行所有命令。 运行 git config --global core.longpaths true 来修改全局配置或在仓库中运行 git config core.longpaths true 来修改本地配置。

  3. 使用最新的 JRuby 来替代 Ruby。

剩余部分和 开始 部分的一样,但 JRuby 运行起来要慢得多,而且在运行命令时可能会伴随 cmd 弹窗。

在 Docker 上开发

我们假设您知道如何使用 Docker 进行开发。 如果您不知道,请参考 官方教程

您可能会觉得官方的 Docker 容器 很有用。

许可证

This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

贡献者

自从该项目发布,我们已经收到了一些纠错和贡献的内容修改。 下面列出所有为开源项目 LoongArch Documentation 作贡献的人。 感谢每一个帮助完善该项目的人。

贡献者按字母顺序列出:

Chao LI <lichao@loongson.cn>
Chenghua Xu <xuchenghua@loongson.cn>
Dandan Zhang <zhangdandan@loongson.cn>
Feiyang Chen <chenfeiyang@loongson.cn>
FreeFlyingSheep <fyang.168.hi@163.com>
Konstantin Romanov <konstantinsromanov@gmail.com>
LI Chao <lichao@loongson.cn>
limeidan <limeidan@loongson.cn>
liuzhensong <liuzhensong@loongson.cn>
mengqinggang <mengqinggang@loongson.cn>
Qi Hu <huqi@loongson.cn>
qmuntal <quimmuntal@gmail.com>
tangxiaolin <tangxiaolin@loongson.cn>
WANG Xuerui <git@xen0n.name>
wangguofeng <wangguofeng@loongson.cn>
Wu Xiaotian <wuxiaotian@loongson.cn>
Wu Xiaotian <yetist@gmail.com>
Xi Ruoyao <xry111@mengyan1223.wang>
Yang Yujie <yangyujie@alumni.sjtu.edu.cn>
Yang Yujie <yangyujie@loongson.cn>
Yanteng <siyanteng@loongson.cn>
Yanteng Si <siyanteng@loongson.cn>
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.