|
[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |