繁体   English   中英

如何获取大页面的物理地址

[英]How to get the physical address of a huge-page

我需要从用户空间获取大页面(2 MB)的物理地址。 我设法从页面地图获取正常4 KB页面的物理地址,如https://shanetully.com/2014/12/translating-virtual-addresses-to-physcial-addresses-in-user-space/#codeprocpidpagemapcode所示但是我不明白我应该如何使用pagemap来获取大页面的物理地址。 如何在页面映射中表示巨大的页面页框号? 任何参考,特别是任何代码都将受到高度赞赏。

应该是一样的。 普通页面和大页面之间的主要区别是页面表的几层。 对于大页面(至少在x86上),页表行程提前结束。

巨页通常以比典型页面更多的零结束,因为它们需要与它们的大小对齐(在2MB的情况下,低21位应该都是零)。

如果从读取中获取-EINVAL,请从页面地图文档中查看此引用(该示例读取错误的字节数):

如果您没有在8字节边界上开始读取(例如,如果您在文件中寻找奇数个字节),或者如果读取的大小不是多个,则从任何文件读取将返回-EINVAL 8个字节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM