Re: Intercepting MOV to/from CR3 when using EPT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ah. That makes sense! I should have looked at the call stack.

Thanks!

On Fri, Jul 26, 2019 at 10:32 AM Liran Alon <liran.alon@xxxxxxxxxx> wrote:
>
>
> > On 26 Jul 2019, at 20:22, Jim Mattson <jmattson@xxxxxxxxxx> wrote:
> >
> > When using EPT, why does kvm intercept MOV to/from CR3 when paging is
> > disabled in the guest? It doesn't seem necessary to me, but perhaps I
> > am missing something.
> >
> > I'm referring to this code in ept_update_paging_mode_cr0():
> >
> > exec_controls_setbit(vmx, CPU_BASED_CR3_LOAD_EXITING |
> > CPU_BASED_CR3_STORE_EXITING);
> >
> > Thanks!
>
> Note that ept_update_paging_mode_cr0() is called only in case (enable_ept && !enable_unrestricted_guest).
> Even though function name doesn’t imply this…
>
> When unrestricted-guest is not enabled, KVM runs a vCPU with paging disabled, with paging enabled in VMCS and CR3 of ept_identity_map_addr.
> See how it is initialised at init_rmode_identity_map().
>
> -Liran
>




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux