星期日,感觉是个适合算数的好日子,所以今天的文件,就决定是你了 Virtual Memory Layout on RISC-V Linux
!
=============================
RISC-V Linux 的虚拟记忆体布局
=============================
:Author: Alexandre Ghiti <[email protected]>
:Date: 12 February 2021
这份文件描述 RISC-V Linux 核心的虚拟记忆体布局。
32 位元 RISC-V Linux 核心
=========================
32 位元 RISC-V Linux 核心
------------------------
待完成
64 位元 RISC-V Linux 核心
=========================
RISC-V 的特权架构文件描述 64 位元长度的位址
"必须让第 63-48 位都等於第 47 位,否则会发生分页错误中断。"
而这表示有一个巨大的记忆体"孔洞"将虚拟记忆体空间分成两半,
下半部是使用者空间所在的位址,上半部则是 RISC-V Linux 核心所使用的位址。
RISC-V Linux Kernel SV39
------------------------
RISC-V Linux Kernel 64 bit
的内文是引用 SV48 的文句;而记忆体的布局(layout) 则是以 SV39 为例。different per mm
,这里的 mm 指的应该是核心中使用到的资料结构 (data structure) struct mm
,这个资料结构是用来描述不同程序(process)所使用的记忆体空间(memory space)。kasan
、fixmap
、vmalloc/ioremap
、vmemmap
等等,都是核心内部使用到的不同技术,也分别有不同的文件来做介绍,这边就不详加赘述了,有机会另辟新文再来做纪录。(因为笔者自己也没有很清楚每一项的功能XDDD)ffffffe000000000 | -128 GB | ffffffff7fffffff | 124 GB | direct mapping of all physical memory
这一个区段,拿 ffffffff7fffffff
- ffffffe000000000
计算出来的大小应该是 126 GB
。126 GB
的话,和接下来的区段并不吻合,所以正确的应该是:
124 GB
fffffffeffffffff
$ git send-email --to [email protected] \
--to [email protected] \
--to [email protected] \
--to [email protected] \
--to [email protected] \
--to [email protected] \
--cc [email protected] \
--cc [email protected] \
*.patch
# *.patch == 0001-doc-Fix-typo-in-Documentation-riscv-vm-layout.patch,0002-docs-zh_TW-Add-translation-for-riscv-vm-layout.patch
那我们一样明天见啦~
>>: Day 8 - 拯救落後的专案能撑一天是一天(後端篇)
如果你看到标题秒懂而且联想到梁家辉的话,我只能说,你一定是一个擅长沟通的好PM。 谈到团队内沟通,跟...
上一篇介绍了元件和 React Component 其中之一的 Function Componen...
一家公司很难单靠一个产品来获利,就像 原来产品也有自己的生命历程 Product Life Cycl...
因为之後想花一点时间分享一下 Transformer 阅读跟实作的经验,所以这篇就没写 Trans...
之前Boss生产小兵有个小问题,如果你场景做很大,Boss会在後面一直生产小兵,可能你到Boss时,...