Not having direct_mmio (used only once anyway) as a local variable gets
the epte_get_entry_emt() invocation here in better sync with the other
ones. While at it also reduce ipat's scope.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -677,8 +677,6 @@ ept_set_entry(struct p2m_domain *p2m, gf
unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn | mfn_x(mfn)) : gfn;
int ret, rc = 0;
bool_t entry_written = 0;
- bool_t direct_mmio = (p2mt == p2m_mmio_direct);
- uint8_t ipat = 0;
bool_t need_modify_vtd_table = 1;
bool_t vtd_pte_present = 0;
unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, mfn);
@@ -790,8 +788,10 @@ ept_set_entry(struct p2m_domain *p2m, gf
if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
{
+ uint8_t ipat = 0;
int emt = epte_get_entry_emt(p2m->domain, gfn, mfn,
- i * EPT_TABLE_ORDER, &ipat, direct_mmio);
+ i * EPT_TABLE_ORDER, &ipat,
+ p2mt == p2m_mmio_direct);
if ( emt >= 0 )
new_entry.emt = emt;
On Mon, Apr 12, 2021 at 01:33:50PM +0200, Jan Beulich wrote: > Not having direct_mmio (used only once anyway) as a local variable gets > the epte_get_entry_emt() invocation here in better sync with the other > ones. While at it also reduce ipat's scope. > > Signed-off-by: Jan Beulich <jbeulich@suse.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> Thanks, Roger.
> From: Jan Beulich <jbeulich@suse.com>
> Sent: Monday, April 12, 2021 7:34 PM
> Not having direct_mmio (used only once anyway) as a local variable gets
> the epte_get_entry_emt() invocation here in better sync with the other
> ones. While at it also reduce ipat's scope.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
>
> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -677,8 +677,6 @@ ept_set_entry(struct p2m_domain *p2m, gf
> unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn |
> mfn_x(mfn)) : gfn;
> int ret, rc = 0;
> bool_t entry_written = 0;
> - bool_t direct_mmio = (p2mt == p2m_mmio_direct);
> - uint8_t ipat = 0;
> bool_t need_modify_vtd_table = 1;
> bool_t vtd_pte_present = 0;
> unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, mfn);
> @@ -790,8 +788,10 @@ ept_set_entry(struct p2m_domain *p2m, gf
>
> if ( mfn_valid(mfn) || p2m_allows_invalid_mfn(p2mt) )
> {
> + uint8_t ipat = 0;
> int emt = epte_get_entry_emt(p2m->domain, gfn, mfn,
> - i * EPT_TABLE_ORDER, &ipat, direct_mmio);
> + i * EPT_TABLE_ORDER, &ipat,
> + p2mt == p2m_mmio_direct);
>
> if ( emt >= 0 )
> new_entry.emt = emt;
© 2016 - 2026 Red Hat, Inc.