[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] x86/p2m: drop p2m_access_t parameter from set_mmio_p2m_entry()
Both callers request the host P2M's default access, which can as well be done inside the function. While touching this anyway, make the "gfn" parameter type-safe as well. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- a/xen/arch/x86/hvm/vmx/vmx.c +++ b/xen/arch/x86/hvm/vmx/vmx.c @@ -3037,9 +3037,8 @@ static int vmx_alloc_vlapic_mapping(stru share_xen_page_with_guest(pg, d, SHARE_rw); d->arch.hvm.vmx.apic_access_mfn = mfn; - return set_mmio_p2m_entry(d, paddr_to_pfn(APIC_DEFAULT_PHYS_BASE), mfn, - PAGE_ORDER_4K, - p2m_get_hostp2m(d)->default_access); + return set_mmio_p2m_entry(d, gaddr_to_gfn(APIC_DEFAULT_PHYS_BASE), mfn, + PAGE_ORDER_4K); } static void vmx_free_vlapic_mapping(struct domain *d) --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1327,15 +1327,16 @@ int set_foreign_p2m_entry(struct domain p2m_get_hostp2m(d)->default_access); } -int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, - unsigned int order, p2m_access_t access) +int set_mmio_p2m_entry(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int order) { if ( order > PAGE_ORDER_4K && rangeset_overlaps_range(mmio_ro_ranges, mfn_x(mfn), mfn_x(mfn) + (1UL << order) - 1) ) return PAGE_ORDER_4K + 1; - return set_typed_p2m_entry(d, gfn, mfn, order, p2m_mmio_direct, access); + return set_typed_p2m_entry(d, gfn_x(gfn), mfn, order, p2m_mmio_direct, + p2m_get_hostp2m(d)->default_access); } int set_identity_p2m_entry(struct domain *d, unsigned long gfn_l, @@ -2305,9 +2306,8 @@ int map_mmio_regions(struct domain *d, for ( order = mmio_order(d, (gfn_x(start_gfn) + i) | (mfn_x(mfn) + i), nr - i); ; order = ret - 1 ) { - ret = set_mmio_p2m_entry(d, gfn_x(start_gfn) + i, - mfn_add(mfn, i), order, - p2m_get_hostp2m(d)->default_access); + ret = set_mmio_p2m_entry(d, gfn_add(start_gfn, i), + mfn_add(mfn, i), order); if ( ret <= 0 ) break; ASSERT(ret <= order); --- a/xen/include/asm-x86/p2m.h +++ b/xen/include/asm-x86/p2m.h @@ -638,8 +638,8 @@ int p2m_is_logdirty_range(struct p2m_dom int set_foreign_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn); /* Set mmio addresses in the p2m table (for pass-through) */ -int set_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, - unsigned int order, p2m_access_t access); +int set_mmio_p2m_entry(struct domain *d, gfn_t gfn, mfn_t mfn, + unsigned int order); int clear_mmio_p2m_entry(struct domain *d, unsigned long gfn, mfn_t mfn, unsigned int order); _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |