Closed PeterlitsZo closed 3 years ago
评论区应该可以正常使用,考虑是网络问题?
另外,在SV39分页模式下,64位地址空间仅有最低的256GiB和最高的256GiB这总共512GiB可能有效(详情参考这里),因此上面所说的页表项510(其实如果按照第1~第512来算的话应该是第511个)实则对应最高的256GiB中次高的1GiB,也即起始地址为 0xFFFF_FFFF_8000_0000 。
评论区应该可以正常使用,考虑是网络问题?
另外,在SV39分页模式下,64位地址空间仅有最低的256GiB和最高的256GiB这总共512GiB可能有效(详情参考这里),因此上面所说的页表项510(其实如果按照第1~第512来算的话应该是第511个)实则对应最高的256GiB中次高的1GiB,也即起始地址为 0xFFFF_FFFF_8000_0000 。
我查看了 RISC-V 的手册,它的 [63:39] 为必须要和第 38 位相同。这么设计的原因是为了向后兼容,如果未来需要设计更多内存的话,35 个没有用来储存信息的位,可以保证不会在未来发生歧义。现在让这 35 位保留也是为了缩小第一级页表的大小。谢谢指点。
BTW,我是按照第 0 到第 511 项来计算的啦。
BTW,并不是网络问题,它下面有写:
未找到相关的 Issues 进行评论
请联系 @chyyuu @wangrunji0408 @xy-plus @wyfcyx @LyricZhao @Tuyixiang 初始化创建
网址是 https://rcore-os.github.io/rCore-Tutorial-deploy/docs/lab-3/guide/part-2.html/ 哦。等等为啥刷新之后就有力?不好意思嘿嘿。我把这些都搬运过去~
同时我想请教一下,代码说第 510 个页表项对应的虚拟地址起始点为
0xffff_ffff_8000_0000
,我感到不解,在 Sv39 中第一级页表中每一个页表项对应的是 1GiB 内存空间,也就是说控制的地址一共有0x4000_0000
,那么第 510 个页表对应的虚拟地址起始点应该是510 * 0x4000_0000
,即它不是应该是0x7f_8000_0000
吗?谢谢~