All of lore.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: John Fusco <fusco_john@yahoo.com>
Cc: linux-kernel@vger.kernel.org
Subject: [vm 2/4] convert io_remap_page_range() to call remap_pfn_range()
Date: Thu, 23 Sep 2004 19:21:23 -0700	[thread overview]
Message-ID: <20040924022123.GN9106@holomorphy.com> (raw)
In-Reply-To: <20040924021954.GM9106@holomorphy.com>

On Thu, Sep 23, 2004 at 07:19:54PM -0700, William Lee Irwin III wrote:
> Convert remap_page_range() to remap_pfn_range(), with a temporary
> remap_page_range() wrapper inline (to be eliminated in the sequel).

Eliminate callers of remap_page_range() via io_remap_page_range().

Index: mm2-2.6.9-rc2/include/asm-ia64/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-ia64/pgtable.h	2004-09-12 22:32:00.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-ia64/pgtable.h	2004-09-23 17:03:29.491560730 -0700
@@ -452,7 +452,9 @@
 #define pte_to_pgoff(pte)		((pte_val(pte) << 1) >> 3)
 #define pgoff_to_pte(off)		((pte_t) { ((off) << 2) | _PAGE_FILE })
 
-#define io_remap_page_range remap_page_range	/* XXX is this right? */
+/* XXX is this right? */
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * ZERO_PAGE is a global shared page that is always zero: used
Index: mm2-2.6.9-rc2/include/asm-arm/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-arm/pgtable.h	2004-09-12 22:31:58.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-arm/pgtable.h	2004-09-23 17:03:29.494560274 -0700
@@ -412,7 +412,7 @@
  * into virtual address `from'
  */
 #define io_remap_page_range(vma,from,phys,size,prot) \
-		remap_page_range(vma,from,phys,size,prot)
+		remap_pfn_range(vma, from, (phys) >> PAGE_SHIFT, size, prot)
 
 #define pgtable_cache_init() do { } while (0)
 
Index: mm2-2.6.9-rc2/include/asm-x86_64/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-x86_64/pgtable.h	2004-09-12 22:33:11.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-x86_64/pgtable.h	2004-09-23 17:03:29.496559970 -0700
@@ -421,7 +421,8 @@
 
 extern int kern_addr_valid(unsigned long addr); 
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 #define HAVE_ARCH_UNMAPPED_AREA
 
Index: mm2-2.6.9-rc2/include/asm-ppc64/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-ppc64/pgtable.h	2004-09-22 21:31:14.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-ppc64/pgtable.h	2004-09-23 17:03:29.500559362 -0700
@@ -492,7 +492,8 @@
  */
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range remap_page_range 
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 void pgtable_cache_init(void);
 
Index: mm2-2.6.9-rc2/include/asm-parisc/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-parisc/pgtable.h	2004-09-12 22:33:23.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-parisc/pgtable.h	2004-09-23 17:03:29.503558906 -0700
@@ -505,7 +505,8 @@
 
 #endif /* !__ASSEMBLY__ */
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /* We provide our own get_unmapped_area to provide cache coherency */
 
Index: mm2-2.6.9-rc2/include/asm-sh/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-sh/pgtable.h	2004-09-12 22:33:39.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-sh/pgtable.h	2004-09-23 17:03:29.505558602 -0700
@@ -274,7 +274,8 @@
 
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+	remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * No page table caches to initialise
Index: mm2-2.6.9-rc2/include/asm-h8300/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-h8300/pgtable.h	2004-09-12 22:32:26.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-h8300/pgtable.h	2004-09-23 17:03:29.507558298 -0700
@@ -50,7 +50,8 @@
  * No page table caches to initialise
  */
 #define pgtable_cache_init()   do { } while (0)
-#define io_remap_page_range	remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * All 32bit addresses are effectively valid for vmalloc...
Index: mm2-2.6.9-rc2/include/asm-i386/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-i386/pgtable.h	2004-09-12 22:33:11.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-i386/pgtable.h	2004-09-23 17:03:29.510557842 -0700
@@ -404,7 +404,8 @@
 #define kern_addr_valid(addr)	(1)
 #endif /* !CONFIG_DISCONTIGMEM */
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
Index: mm2-2.6.9-rc2/include/asm-mips/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-mips/pgtable.h	2004-09-12 22:31:59.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-mips/pgtable.h	2004-09-23 17:03:29.512557538 -0700
@@ -245,7 +245,8 @@
  */
 #define HAVE_ARCH_UNMAPPED_AREA
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * No page table caches to initialise
Index: mm2-2.6.9-rc2/include/asm-arm26/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-arm26/pgtable.h	2004-09-12 22:31:31.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-arm26/pgtable.h	2004-09-23 17:03:29.515557082 -0700
@@ -288,7 +288,7 @@
  * into virtual address `from'
  */
 #define io_remap_page_range(vma,from,phys,size,prot) \
-		remap_page_range(vma,from,phys,size,prot)
+		remap_pfn_range(vma, from, (phys) >> PAGE_SHIFT, size, prot)
 
 #endif /* !__ASSEMBLY__ */
 
Index: mm2-2.6.9-rc2/include/asm-ppc/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-ppc/pgtable.h	2004-09-12 22:31:57.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-ppc/pgtable.h	2004-09-23 17:03:29.518556626 -0700
@@ -714,7 +714,8 @@
 /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * No page table caches to initialise
Index: mm2-2.6.9-rc2/include/asm-m32r/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-m32r/pgtable.h	2004-09-22 21:31:14.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-m32r/pgtable.h	2004-09-23 17:03:29.530554802 -0700
@@ -408,7 +408,8 @@
 /* Needs to be defined here and not in linux/mm.h, as it is arch dependent */
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range	remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
 #define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
Index: mm2-2.6.9-rc2/include/asm-sh64/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-sh64/pgtable.h	2004-09-12 22:33:11.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-sh64/pgtable.h	2004-09-23 17:03:29.533554346 -0700
@@ -479,7 +479,8 @@
 #define PageSkip(page)		(0)
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 #endif /* !__ASSEMBLY__ */
 
 /*
Index: mm2-2.6.9-rc2/include/asm-m68knommu/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-m68knommu/pgtable.h	2004-09-12 22:32:54.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-m68knommu/pgtable.h	2004-09-23 17:03:29.535554042 -0700
@@ -54,7 +54,8 @@
  * No page table caches to initialise.
  */
 #define pgtable_cache_init()	do { } while (0)
-#define io_remap_page_range	remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /*
  * All 32bit addresses are effectively valid for vmalloc...
Index: mm2-2.6.9-rc2/include/asm-m68k/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-m68k/pgtable.h	2004-09-12 22:33:23.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-m68k/pgtable.h	2004-09-23 17:03:29.537553738 -0700
@@ -138,7 +138,8 @@
 
 #define kern_addr_valid(addr)	(1)
 
-#define io_remap_page_range remap_page_range
+#define io_remap_page_range(vma, vaddr, paddr, size, prot)		\
+		remap_pfn_range(vma, vaddr, (paddr) >> PAGE_SHIFT, size, prot)
 
 /* MMU-specific headers */
 
Index: mm2-2.6.9-rc2/include/asm-alpha/pgtable.h
===================================================================
--- mm2-2.6.9-rc2.orig/include/asm-alpha/pgtable.h	2004-09-12 22:31:59.000000000 -0700
+++ mm2-2.6.9-rc2/include/asm-alpha/pgtable.h	2004-09-23 17:03:29.540553282 -0700
@@ -328,7 +328,7 @@
 #endif
 
 #define io_remap_page_range(vma, start, busaddr, size, prot) \
-    remap_page_range(vma, start, virt_to_phys((void *)__ioremap(busaddr, size)), size, prot)
+    remap_pfn_range(vma, start, virt_to_phys((void *)__ioremap(busaddr, size)) >> PAGE_SHIFT, size, prot)
 
 #define pte_ERROR(e) \
 	printk("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e))

  reply	other threads:[~2004-09-24  2:28 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-23 23:22 Problem with remap_page_range on IA32 with more than 4GB RAM John Fusco
2004-09-23 23:27 ` William Lee Irwin III
2004-09-24  2:17 ` [vm 0/4] replace remap_page_range() with remap_pfn_range() William Lee Irwin III
2004-09-24  2:19   ` [vm 1/4] convert remap_page_range() to remap_pfn_range() William Lee Irwin III
2004-09-24  2:21     ` William Lee Irwin III [this message]
2004-09-24  2:23       ` [vm 3/4] convert direct callers of remap_page_range() William Lee Irwin III
2004-09-24  2:25         ` [vm 4/4] remove remap_page_range() William Lee Irwin III
2004-09-24  2:27         ` [vm 3/4] convert direct callers of remap_page_range() William Lee Irwin III
2004-09-24  3:29   ` [vm 0/4] replace remap_page_range() with remap_pfn_range() William Lee Irwin III
2004-09-24  3:22 ` Is there a node-affinity memory allocation benchmark? Annie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040924022123.GN9106@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=fusco_john@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.