|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC 02/14] xen/arm: Remove the parameter "attrindx" in copy_paddr
On Wed, 2014-03-12 at 16:15 +0000, Julien Grall wrote:
> copy_addr
s/copy_p?addr/copy_from_paddr/ throughout the subject and changelog.
> is only used with BUFFERABLE, there is some place where DEV_SHARED
> was used by mistake.
A hangover from flash support or something else?
> The parameter "attrindx" can be safely remove and let copy_paddr to map
> every page with BUFFERABLE attribute.
What about if e.g. the firmware provides a dtb which is in flash or
where the kernel/initrd which it references are in flash. There's
nothing inherently wrong with that is there? Maybe BUFFERABLE is still
appropriate there for r/o use.
>
> Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx>
> ---
> xen/arch/arm/domain_build.c | 2 +-
> xen/arch/arm/kernel.c | 15 +++++++--------
> xen/arch/arm/setup.c | 2 +-
> xen/include/asm-arm/setup.h | 2 +-
> 4 files changed, 10 insertions(+), 11 deletions(-)
>
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 5ca2f15..7bb2c28 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -976,7 +976,7 @@ static void initrd_load(struct kernel_info *kinfo)
>
> dst = map_domain_page(ma>>PAGE_SHIFT);
>
> - copy_from_paddr(dst + s, paddr + offs, l, BUFFERABLE);
> + copy_from_paddr(dst + s, paddr + offs, l);
>
> unmap_domain_page(dst);
> offs += l;
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 492ce6d..0bc7eb1 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -40,7 +40,7 @@ struct minimal_dtb_header {
> * @paddr: source physical address
> * @len: length to copy
> */
> -void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len, int
> attrindx)
> +void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
> {
> void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
>
> @@ -52,7 +52,7 @@ void copy_from_paddr(void *dst, paddr_t paddr, unsigned
> long len, int attrindx)
> s = paddr & (PAGE_SIZE-1);
> l = min(PAGE_SIZE - s, len);
>
> - set_fixmap(FIXMAP_MISC, p, attrindx);
> + set_fixmap(FIXMAP_MISC, p, BUFFERABLE);
> memcpy(dst, src + s, l);
> clean_xen_dcache_va_range(dst, l);
>
> @@ -145,7 +145,7 @@ static void kernel_zimage_load(struct kernel_info *info)
>
> dst = map_domain_page(ma>>PAGE_SHIFT);
>
> - copy_from_paddr(dst + s, paddr + offs, l, BUFFERABLE);
> + copy_from_paddr(dst + s, paddr + offs, l);
>
> unmap_domain_page(dst);
> offs += l;
> @@ -178,7 +178,7 @@ static int kernel_try_zimage64_prepare(struct kernel_info
> *info,
> if ( size < sizeof(zimage) )
> return -EINVAL;
>
> - copy_from_paddr(&zimage, addr, sizeof(zimage), DEV_SHARED);
> + copy_from_paddr(&zimage, addr, sizeof(zimage));
>
> if ( zimage.magic0 != ZIMAGE64_MAGIC_V0 &&
> zimage.magic1 != ZIMAGE64_MAGIC_V1 )
> @@ -223,7 +223,7 @@ static int kernel_try_zimage32_prepare(struct kernel_info
> *info,
> if ( size < ZIMAGE32_HEADER_LEN )
> return -EINVAL;
>
> - copy_from_paddr(zimage, addr, sizeof(zimage), DEV_SHARED);
> + copy_from_paddr(zimage, addr, sizeof(zimage));
>
> if (zimage[ZIMAGE32_MAGIC_OFFSET/4] != ZIMAGE32_MAGIC)
> return -EINVAL;
> @@ -239,8 +239,7 @@ static int kernel_try_zimage32_prepare(struct kernel_info
> *info,
> */
> if ( addr + end - start + sizeof(dtb_hdr) <= size )
> {
> - copy_from_paddr(&dtb_hdr, addr + end - start,
> - sizeof(dtb_hdr), DEV_SHARED);
> + copy_from_paddr(&dtb_hdr, addr + end - start, sizeof(dtb_hdr));
> if (be32_to_cpu(dtb_hdr.magic) == DTB_MAGIC) {
> end += be32_to_cpu(dtb_hdr.total_size);
>
> @@ -311,7 +310,7 @@ static int kernel_try_elf_prepare(struct kernel_info
> *info,
> if ( info->kernel_img == NULL )
> panic("Cannot allocate temporary buffer for kernel");
>
> - copy_from_paddr(info->kernel_img, addr, size, BUFFERABLE);
> + copy_from_paddr(info->kernel_img, addr, size);
>
> if ( (rc = elf_init(&info->elf.elf, info->kernel_img, size )) != 0 )
> goto err;
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 9480f42..959744e 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -488,7 +488,7 @@ static void __init setup_mm(unsigned long dtb_paddr,
> size_t dtb_size)
>
> /* Copy the DTB. */
> fdt = mfn_to_virt(alloc_boot_pages(dtb_pages, 1));
> - copy_from_paddr(fdt, dtb_paddr, dtb_size, BUFFERABLE);
> + copy_from_paddr(fdt, dtb_paddr, dtb_size);
> device_tree_flattened = fdt;
>
> /* Add non-xenheap memory */
> diff --git a/xen/include/asm-arm/setup.h b/xen/include/asm-arm/setup.h
> index 44a3b4d..b09f688 100644
> --- a/xen/include/asm-arm/setup.h
> +++ b/xen/include/asm-arm/setup.h
> @@ -5,7 +5,7 @@
>
> void arch_init_memory(void);
>
> -void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len, int
> attrindx);
> +void copy_from_paddr(void *dst, paddr_t paddr, unsigned long len);
>
> void arch_get_xen_caps(xen_capabilities_info_t *info);
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |