[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 14/17] xen/arm: Use the typesafes mfn and gfn in map_regions_rw_cache ...
On Tue, 28 Jun 2016, Julien Grall wrote: > to avoid mixing machine frame with guest frame. Also rename the > parameters of the function and drop pointless PAGE_MASK in the caller. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxx> Acked-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- > Changes in v4: > - Patch added > --- > xen/arch/arm/domain_build.c | 8 ++++---- > xen/arch/arm/p2m.c | 20 ++++++++++---------- > xen/include/asm-arm/p2m.h | 12 ++++++------ > 3 files changed, 20 insertions(+), 20 deletions(-) > > diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c > index 923f48a..60db9e4 100644 > --- a/xen/arch/arm/domain_build.c > +++ b/xen/arch/arm/domain_build.c > @@ -1522,9 +1522,9 @@ static void acpi_map_other_tables(struct domain *d) > addr = acpi_gbl_root_table_list.tables[i].address; > size = acpi_gbl_root_table_list.tables[i].length; > res = map_regions_rw_cache(d, > - paddr_to_pfn(addr & PAGE_MASK), > + _gfn(paddr_to_pfn(addr)), > DIV_ROUND_UP(size, PAGE_SIZE), > - paddr_to_pfn(addr & PAGE_MASK)); > + _mfn(paddr_to_pfn(addr))); > if ( res ) > { > panic(XENLOG_ERR "Unable to map ACPI region 0x%"PRIx64 > @@ -1878,9 +1878,9 @@ static int prepare_acpi(struct domain *d, struct > kernel_info *kinfo) > > /* Map the EFI and ACPI tables to Dom0 */ > rc = map_regions_rw_cache(d, > - paddr_to_pfn(d->arch.efi_acpi_gpa), > + _gfn(paddr_to_pfn(d->arch.efi_acpi_gpa)), > PFN_UP(d->arch.efi_acpi_len), > - > paddr_to_pfn(virt_to_maddr(d->arch.efi_acpi_table))); > + > _mfn(paddr_to_pfn(virt_to_maddr(d->arch.efi_acpi_table)))); > if ( rc != 0 ) > { > printk(XENLOG_ERR "Unable to map EFI/ACPI table 0x%"PRIx64 > diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c > index 5ffc3df..0fdd11f 100644 > --- a/xen/arch/arm/p2m.c > +++ b/xen/arch/arm/p2m.c > @@ -1159,27 +1159,27 @@ out: > } > > int map_regions_rw_cache(struct domain *d, > - unsigned long start_gfn, > + gfn_t gfn, > unsigned long nr, > - unsigned long mfn) > + mfn_t mfn) > { > return apply_p2m_changes(d, INSERT, > - pfn_to_paddr(start_gfn), > - pfn_to_paddr(start_gfn + nr), > - pfn_to_paddr(mfn), > + pfn_to_paddr(gfn_x(gfn)), > + pfn_to_paddr(gfn_x(gfn) + nr), > + pfn_to_paddr(mfn_x(mfn)), > MATTR_MEM, 0, p2m_mmio_direct, > d->arch.p2m.default_access); > } > > int unmap_regions_rw_cache(struct domain *d, > - unsigned long start_gfn, > + gfn_t gfn, > unsigned long nr, > - unsigned long mfn) > + mfn_t mfn) > { > return apply_p2m_changes(d, REMOVE, > - pfn_to_paddr(start_gfn), > - pfn_to_paddr(start_gfn + nr), > - pfn_to_paddr(mfn), > + pfn_to_paddr(gfn_x(gfn)), > + pfn_to_paddr(gfn_x(gfn) + nr), > + pfn_to_paddr(mfn_x(mfn)), > MATTR_MEM, 0, p2m_invalid, > d->arch.p2m.default_access); > } > diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h > index 8d29eda..6e258b9 100644 > --- a/xen/include/asm-arm/p2m.h > +++ b/xen/include/asm-arm/p2m.h > @@ -142,14 +142,14 @@ mfn_t p2m_lookup(struct domain *d, gfn_t gfn, > p2m_type_t *t); > int p2m_cache_flush(struct domain *d, gfn_t start, unsigned long nr); > > int map_regions_rw_cache(struct domain *d, > - unsigned long start_gfn, > - unsigned long nr_mfns, > - unsigned long mfn); > + gfn_t gfn, > + unsigned long nr, > + mfn_t mfn); > > int unmap_regions_rw_cache(struct domain *d, > - unsigned long start_gfn, > - unsigned long nr_mfns, > - unsigned long mfn); > + gfn_t gfn, > + unsigned long nr, > + mfn_t mfn); > > int map_dev_mmio_region(struct domain *d, > gfn_t gfn, > -- > 1.9.1 > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |