ia64/xen-unstable

changeset 7453:4ac2051ec21e

New function direct_kernel_remap_pfn_range(). Like
direct_remap_pfn_range but doesn't take a vma and implicitly
maps into init_mm.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Oct 20 12:10:14 2005 +0100 (2005-10-20)
parents 27c8bc033f16
children 1e7bbbdff402
files linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c	Thu Oct 20 11:52:27 2005 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/mm/ioremap.c	Thu Oct 20 12:10:14 2005 +0100
     1.3 @@ -123,9 +123,18 @@ int direct_remap_pfn_range(struct vm_are
     1.4  	return __direct_remap_pfn_range(
     1.5  		vma->vm_mm, address, mfn, size, prot, domid);
     1.6  }
     1.7 -
     1.8  EXPORT_SYMBOL(direct_remap_pfn_range);
     1.9  
    1.10 +int direct_kernel_remap_pfn_range(unsigned long address, 
    1.11 +				  unsigned long mfn,
    1.12 +				  unsigned long size, 
    1.13 +				  pgprot_t prot,
    1.14 +				  domid_t  domid)
    1.15 +{
    1.16 +	return __direct_remap_pfn_range(
    1.17 +		&init_mm, address, mfn, size, prot, domid);
    1.18 +}
    1.19 +EXPORT_SYMBOL(direct_kernel_remap_pfn_range);
    1.20  
    1.21  /* FIXME: This is horribly broken on PAE */ 
    1.22  static int lookup_pte_fn(
     2.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Thu Oct 20 11:52:27 2005 +0100
     2.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/pgtable.h	Thu Oct 20 12:10:14 2005 +0100
     2.3 @@ -455,6 +455,11 @@ int direct_remap_pfn_range(struct vm_are
     2.4                              unsigned long size, 
     2.5                              pgprot_t prot,
     2.6                              domid_t  domid);
     2.7 +int direct_kernel_remap_pfn_range(unsigned long address, 
     2.8 +				  unsigned long mfn,
     2.9 +				  unsigned long size, 
    2.10 +				  pgprot_t prot,
    2.11 +				  domid_t  domid);
    2.12  int create_lookup_pte_addr(struct mm_struct *mm,
    2.13                             unsigned long address,
    2.14                             unsigned long *ptep);
     3.1 --- a/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h	Thu Oct 20 11:52:27 2005 +0100
     3.2 +++ b/linux-2.6-xen-sparse/include/asm-xen/asm-x86_64/pgtable.h	Thu Oct 20 12:10:14 2005 +0100
     3.3 @@ -533,6 +533,12 @@ int direct_remap_pfn_range(struct vm_are
     3.4                              pgprot_t prot,
     3.5                              domid_t  domid);
     3.6  
     3.7 +int direct_kernel_remap_pfn_range(unsigned long address, 
     3.8 +				  unsigned long mfn,
     3.9 +				  unsigned long size, 
    3.10 +				  pgprot_t prot,
    3.11 +				  domid_t  domid);
    3.12 +
    3.13  int create_lookup_pte_addr(struct mm_struct *mm,
    3.14                             unsigned long address,
    3.15                             unsigned long *ptep);