[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v6 07/15] xen/arm: compile and initialize vmap



On Fri, 2013-05-03 at 11:51 +0100, Stefano Stabellini wrote:
> Rename EARLY_VMAP_VIRT_END and EARLY_VMAP_VIRT_START to
> VMAP_VIRT_END and VMAP_VIRT_START.
> 
> Defining VMAP_VIRT_START triggers the compilation of common/vmap.c.
> 
> Define PAGE_HYPERVISOR and MAP_SMALL_PAGES (unused on ARM, because we
> only support 4K pages so as a matter of fact it is always set).
> 
> Implement map_pages_to_xen and destroy_xen_mappings.
> 
> Call vm_init from start_xen.
> 
> Changes in v5:
> - use alloc_xenheap_page;
> - use pfn_to_paddr.
> 
> Changes in v4:
> - remove flush_tlb_local() from create_xen_entries;
> - return error if a mapping is already present.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
> Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> ---
>  xen/arch/arm/mm.c            |  100 ++++++++++++++++++++++++++++++++++++++++-
>  xen/arch/arm/setup.c         |    3 +
>  xen/include/asm-arm/config.h |    4 +-
>  xen/include/asm-arm/page.h   |    3 +
>  xen/include/asm-x86/page.h   |    8 ---
>  xen/include/xen/mm.h         |    7 +++

These last two are just the movement of the map_pages_to_xen and
destroy_xen_mappings prototypes. Unless there are objections from Jan or
Keir I won't let this stop me applying the series.

[...]

> diff --git a/xen/include/asm-x86/page.h b/xen/include/asm-x86/page.h
> index b2f3859..e53e1e5 100644
> --- a/xen/include/asm-x86/page.h
> +++ b/xen/include/asm-x86/page.h
> @@ -338,14 +338,6 @@ l3_pgentry_t *virt_to_xen_l3e(unsigned long v);
>  
>  extern void set_pdx_range(unsigned long smfn, unsigned long emfn);
>  
> -/* Map machine page range in Xen virtual address space. */
> -int map_pages_to_xen(
> -    unsigned long virt,
> -    unsigned long mfn,
> -    unsigned long nr_mfns,
> -    unsigned int flags);
> -void destroy_xen_mappings(unsigned long v, unsigned long e);
> -
>  /* Convert between PAT/PCD/PWT embedded in PTE flags and 3-bit cacheattr. */
>  static inline uint32_t pte_flags_to_cacheattr(uint32_t flags)
>  {
> diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
> index 28512fb..efc45c7 100644
> --- a/xen/include/xen/mm.h
> +++ b/xen/include/xen/mm.h
> @@ -48,6 +48,13 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int 
> memflags);
>  void free_xenheap_pages(void *v, unsigned int order);
>  #define alloc_xenheap_page() (alloc_xenheap_pages(0,0))
>  #define free_xenheap_page(v) (free_xenheap_pages(v,0))
> +/* Map machine page range in Xen virtual address space. */
> +int map_pages_to_xen(
> +    unsigned long virt,
> +    unsigned long mfn,
> +    unsigned long nr_mfns,
> +    unsigned int flags);
> +void destroy_xen_mappings(unsigned long v, unsigned long e);
>  
>  /* Claim handling */
>  unsigned long domain_adjust_tot_pages(struct domain *d, long pages);



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.