EPT

本文介绍了一种新的CPU机制——扩展页表(EPT),该技术允许虚拟机保留对传统Intel 64位分页的控制权,并减少了从客户操作系统到VMM的虚拟机退出频率。EPT通过提供一种更高效的内存地址映射方式,从而降低了软件实现的页表虚拟化带来的开销。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前通过影子页表来处理虚拟机内存到物理内存的转换,现在用EPT


EPT: Extended Page Tables


VMM needs to retain control of physical-address space


page-table virtulization in software is a major source of overhead(namely soft MMU, or shaddow 
page table ...)


EPT
 - new CPU mechanism for remapping guest-physical memory references
 - allow guest to retain control of legacy Intel 64 paging
 - Reduce fequency of VM exits to VMM




               CR3                                  EPT Base Pointer             
                |                                           |                         
                |     _______                               |                        
                `--> |Guest  |                           |---------|                   
                     |Intel64|    Guest Physical Addr    | Extended|     Host Physical Address
Guest Linear Addr -> |Page   | ------------------------> |   Page  |  ------------------------
                     |Tables |                           |  Tables |                      
                     |_______|                           |---------|                          
                          \                                  \                         
                           \                                  \                        
                            `controled by Guest                `controled by VMM           

EPT optionally activated on VM entry
 - when EPT active, EPT base pointer points to extended page tables
 - EPT deactivated on VM exit
 
Reference:
[1] Intel Virtualization Technology Processor Virtualization Extensions and Intel Trusted 
execution Technology

### CSI Full EPT 技术详解 #### 什么是CSI Full EPT? CSI (Context-Sensitive Invalidations) Full EPT 是一种增强型扩展页表(Extended Page Table)技术,旨在进一步优化内存虚拟化的性能和效率。通过引入上下文敏感的失效机制,该技术能够更精确地管理TLB条目,从而减少不必要的VM-exit次数并提高整体系统性能。 #### 工作原理 在传统的EPT架构下,当发生地址转换时,如果目标页面不在当前有效的映射范围内,则会触发一次VM-exit以便宿主机可以处理这种情况。然而,在某些特定场景中,这些退出可能是冗余或低效的。为了应对这一挑战,Intel提出了CSI特性来改进这一点: - **上下文感知**:允许操作系统根据不同的执行环境动态调整哪些类型的访问应该引起完整的EPT遍历操作;对于那些已经被验证过安全性的区域可以直接跳过检查过程[^1]。 - **细粒度控制**:支持按需刷新部分而非全部TLBs中的缓存项,这意味着只有真正受到影响的数据才会被清除出去,进而降低了因全局清空而导致的时间损耗[^4]. 这种设计不仅有助于降低由于频繁切换造成的延迟问题,同时也增强了系统的安全性防护能力——即确保未经授权的应用程序无法越界读取其他进程所占用的空间内的任何信息[^3]. ```c // 示例代码展示如何初始化带有CSI特性的KVM TDP MMU结构体成员变量 struct kvm_vcpu *vcpu; init_kvm_tdp_mmu(vcpu); if (supports_csi_full_ept()) { vcpu->arch.mmu.root_hpa |= KVM_MMU_ROOT_CSI_FULL_EPT; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值