Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Miykael_xxm
RCore Tutorial Book V3
提交
1e6bc2f5
R
RCore Tutorial Book V3
项目概览
Miykael_xxm
/
RCore Tutorial Book V3
与 Fork 源项目一致
Fork自
rcore-os / RCore Tutorial Book V3
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
RCore Tutorial Book V3
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
1e6bc2f5
编写于
3月 15, 2021
作者:
Y
Yifan Wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Inherit last changes by applying patches
上级
bf0338a1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
20 addition
and
2 deletion
+20
-2
source/chapter2/5exercise.rst
source/chapter2/5exercise.rst
+13
-0
source/index.rst
source/index.rst
+2
-2
source/log.rst
source/log.rst
+5
-0
未找到文件。
source/chapter2/5exercise.rst
浏览文件 @
1e6bc2f5
...
...
@@ -27,6 +27,19 @@ lab2 中,我们实现了第一个系统调用 ``sys_write``,这使得我们
challenge: 支持多核,实现多个核运行用户程序。
.. _inherit-last-ch-changes:
.. note::
**如何快速继承上一章练习题的修改**
从这一章开始,在完成本章习题之前,首先要做的就是将上一章框架的修改继承到本章的框架代码。出于各种原因,实际上通过 ``git merge`` 并不是很方便,这里给出一种打 patch 的方法,希望能够有所帮助。
1. 切换到上一章的分支,通过 ``git log`` 找到你在此分支上的第一次 commit 的前一个 commit 的 ID ,复制其前 8 位,记作 ``base-commit`` 。假设分支上最新的一次 commit ID 是 ``last-commit`` 。
2. 确保你位于项目根目录 ``rCore-Tutorial-v3`` 下。通过 ``git diff <base-commit> <last-commit> > <patch-path>`` 即可在 ``patch-path`` 路径位置(比如 ``~/Desktop/chx.patch`` )生成一个描述你对于上一章分支进行的全部修改的一个补丁文件。打开看一下,它给出了每个被修改的文件中涉及了哪些块的修改,还附加了块前后的若干行代码。如果想更加灵活进行合并的话,可以通过 ``git format-patch <base-commit>`` 命令在当前目录下生成一组补丁,它会对于 ``base-commit`` 后面的每一次 commit 均按照顺序生成一个补丁。
3. 切换到本章分支,通过 ``git apply --reject <patch-path>`` 来将一个补丁打到当前章节上。它的大概原理是对于补丁中的每个被修改文件中的每个修改块,尝试通过块的前后若干行代码来定位它在当前分支上的位置并进行替换。有一些块可能无法匹配,此时会生成与这些块所在的文件同名的 ``*.rej`` 文件,描述了哪些块替换失败了。在项目根目录 ``rCore-Tutorial-v3`` 下,可以通过 ``find . -name *.rej`` 来找到所有相关的 ``*.rej`` 文件并手动完成替换。
4. 在处理完所有 ``*.rej`` 之后,将它们删除并 commit 一下。现在就可以开始本章的实验了。
实验检查
++++++++++++++++++++++++++++++
...
...
source/index.rst
浏览文件 @
1e6bc2f5
...
...
@@ -53,9 +53,9 @@ rCore-Tutorial-Book 第三版
:doc:`/log`
项目/文档于 2021-03-
09
最后一次更新,情况如下:
项目/文档于 2021-03-
15
最后一次更新,情况如下:
-
将所有分支的 RustSBI 版本更新为 [81d53d8] 的 0.2.0-alpha.1 ,主要是在 Qemu 平台上支持非法指令的转发,目前可以正确处理带有非法指令的应用程序了。参考 ch2 分支上的测例 ``00hello_world.rs`
` 。
-
增加了在做实验的时候打补丁继承上一章节修改的 :ref:`教程 <inherit-last-ch-changes>
` 。
项目简介
...
...
source/log.rst
浏览文件 @
1e6bc2f5
更新日志
===============================
2021-03-15
-------------------------------
- 增加了在做实验的时候打补丁继承上一章节修改的 :ref:`教程 <inherit-last-ch-changes>` 。
2021-03-09
-------------------------------
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录