This function can only be reached from EPT-related code which is inherently HAP. Thus it is not useful to check for shadow_paging (or lack of HAP) there.
Moreover, it is an error to call this function in the non-EPT cases. Not a functional change. Signed-off-by: Teddy Astie <[email protected]> --- This function is only called through EPT code and by vmx_domain_update_eptp() called by EPT log-dirty logic, and doesn't look reachable from shadow paging code. I think the original reason of this check was for eventually allowing guests to use both shadow paging and HAP and switch between the 2 dynamically. xen/arch/x86/mm/p2m-ept.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c index ce4ef632ae..dfdbfa0afe 100644 --- a/xen/arch/x86/mm/p2m-ept.c +++ b/xen/arch/x86/mm/p2m-ept.c @@ -1268,9 +1268,10 @@ static void ept_sync_domain_mask(struct p2m_domain *p2m, const cpumask_t *mask) void ept_sync_domain(struct p2m_domain *p2m) { struct domain *d = p2m->domain; + ASSERT(hap_enabled(d)); - /* Only if using EPT and this domain has some VCPUs to dirty. */ - if ( paging_mode_shadow(d) || !d->vcpu || !d->vcpu[0] ) + /* Only if this domain has some VCPUs to dirty. */ + if ( !d->vcpu || !d->vcpu[0] ) return; ept_sync_domain_prepare(p2m); -- 2.51.2 -- Teddy Astie | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech
