Sorry for the wrong email of Yang's, please ignore. I will resend. Liang
> -----Original Message----- > From: Li, Liang Z > Sent: Saturday, June 27, 2015 5:57 AM > To: xen-devel@lists.xen.org > Cc: t...@xen.org; k...@xen.org; jbeul...@suse.com; > andrew.coop...@citrix.com; Tian, Kevin; Li, Liang Z; Yang Zhang > Subject: [v2] nested EPT: fix the handling of nested EPT > > If the host EPT entry is changed, the nested EPT should be updated. > the current code does not do this, and it's wrong. > I have tested this patch, the L2 guest can boot and run as normal. > > Signed-off-by: Liang Li <liang.z...@intel.com> > Signed-off-by: Yang Zhang <yang.z...@intel.com> > Reported-by: Tim Deegan <t...@xen.org> > --- > xen/arch/x86/mm/p2m-ept.c | 4 ++++ > xen/arch/x86/mm/p2m.c | 4 ++++ > 2 files changed, 8 insertions(+) > > diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c > index 5133eb6..ff189e7 100644 > --- a/xen/arch/x86/mm/p2m-ept.c > +++ b/xen/arch/x86/mm/p2m-ept.c > @@ -26,6 +26,7 @@ > #include <asm/p2m.h> > #include <asm/hvm/vmx/vmx.h> > #include <asm/hvm/vmx/vmcs.h> > +#include <asm/hvm/nestedhvm.h> > #include <xen/iommu.h> > #include <asm/mtrr.h> > #include <asm/hvm/cacheattr.h> > @@ -1076,6 +1077,9 @@ void ept_sync_domain(struct p2m_domain *p2m) > > ASSERT(local_irq_is_enabled()); > > + if ( nestedhvm_enabled(d) && !p2m_is_nestedp2m(p2m) ) { > + p2m_flush_nestedp2m(d); > + } > /* > * Flush active cpus synchronously. Flush others the next time this > domain > * is scheduled onto them. We accept the race of other CPUs adding to > diff > --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index > 1fd1194..3a06eec 100644 > --- a/xen/arch/x86/mm/p2m.c > +++ b/xen/arch/x86/mm/p2m.c > @@ -1742,6 +1742,10 @@ p2m_flush_table(struct p2m_domain *p2m) > ASSERT(page_list_empty(&p2m->pod.super)); > ASSERT(page_list_empty(&p2m->pod.single)); > > + if ( p2m->np2m_base == P2M_BASE_EADDR ) { > + p2m_unlock(p2m); > + return; > + } > /* This is no longer a valid nested p2m for any address space */ > p2m->np2m_base = P2M_BASE_EADDR; > > -- > 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel