首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >英特尔EPT表是4级页表吗?

英特尔EPT表是4级页表吗?
EN

Stack Overflow用户
提问于 2015-04-15 21:36:52
回答 3查看 2K关注 0票数 1

该图取自here

Q1。似乎EPT表保留了来宾页表的整个副本,使其成为4级页表。对吗?

Q2。这是不是有点浪费空间?

Q3。什么是EPT违规?这是否意味着:来宾正在尝试访问新的来宾虚拟地址( gVA ),EPT表还没有该地址的记录,因此它会陷入VMM,并将两个gVA和gPA条目添加到EPT表中。对吗?

EN

回答 3

Stack Overflow用户

发布于 2015-08-21 08:06:10

EPT将来宾物理地址映射到主机物理地址。

在引入EPT(硬件支持GPA<-->HPA)之前,虚拟机管理程序必须手动维护来宾页表映射条目的卷影副本。实际客户页表中的PTE条目将降低access permissions,即,如果它的实际权限是写入,它将被降低为读取。这将导致page fault被虚拟机管理程序截获。

管理程序将依次更新相应的影子页表项。整个过程都很慢。这就是为什么引入了EPT,以便GPA到HPA的转换是由硬件本身完成的,这要快得多。

现在回答你的第一个问题--它不是。

Q3--硬件通过遍历来宾操作系统中的页表来正常转换Guest Virtual Address(GVA),就像在本机硬件上运行的操作系统中所做的那样。一旦我们得到了这个翻译后的Guest Physical Address(GPA),EPT就进入了我们的视野。现在硬件将GPA转换为HPA,因为HPA是真正的CPU知道的地址。

当Ept没有guest physical address(GPA)host physical address(HPA)的现有映射时,就会发生EPT violation VMExit。这会产生一个vmExit到VMM,然后会创建一个新的映射。( Ept违规与正常操作系统中的页面错误相同,唯一的区别是创建的映射类型不同。)

票数 1
EN

Stack Overflow用户

发布于 2015-05-05 13:36:41

我的2美分,如果我记错了,请纠正我。

Q1:不是,EPT存储GPA到HPA的映射。使用EPT,来宾页表只在guest中维护。

Q2:如果没有EPT,VMM应该改为维护影子页表。所以我不认为EPT浪费空间。

Q3: EPT存储GPA到HPA的映射。在这种情况下,GPA到GVA的映射是在来宾中维护的。

票数 0
EN

Stack Overflow用户

发布于 2016-05-23 22:59:15

我的小小贡献,晚了一年...

问题1:是的,EPT类似于mmu转换树(4级或更低),但它将GPA转换为HPA (来宾物理地址到主机物理地址)。

Q2:对于虚拟化,转换树(卷影或EPT)是必要的,所以它不会浪费空间。硬件转换比影子转换(软件)更快,并防止vmexit减慢进程。

Q3:是的,EPT冲突就像页面错误一样发生,但它也发生在访问冲突中。EPT允许对页面访问(读、写、执行)进行精细控制。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29651740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档