[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 |