aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2016-01-15 19:56:08 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-15 20:56:32 -0500
commit16da306849d0335af7c353ec14121cf422433d33 (patch)
tree0397613223430e84f140ff144737089da95870d3 /arch/um/include
parent59bf4fb9d386601cbaa70a9b00159abb846dedaa (diff)
um: kill pfn_t
The core has developed a need for a "pfn_t" type [1]. Convert the usage of pfn_t by usermode-linux to an unsigned long, and update pfn_to_phys() to drop its expectation of a typed pfn. [1]: https://lists.01.org/pipermail/linux-nvdimm/2015-September/002199.html Signed-off-by: Dan Williams <dan.j.williams@intel.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Richard Weinberger <richard@nod.at> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um/include')
-rw-r--r--arch/um/include/asm/page.h7
-rw-r--r--arch/um/include/asm/pgtable-3level.h4
-rw-r--r--arch/um/include/asm/pgtable.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/arch/um/include/asm/page.h b/arch/um/include/asm/page.h
index 71c5d132062a..e13d41c392ae 100644
--- a/arch/um/include/asm/page.h
+++ b/arch/um/include/asm/page.h
@@ -18,6 +18,7 @@
18 18
19struct page; 19struct page;
20 20
21#include <linux/pfn.h>
21#include <linux/types.h> 22#include <linux/types.h>
22#include <asm/vm-flags.h> 23#include <asm/vm-flags.h>
23 24
@@ -52,7 +53,6 @@ typedef struct { unsigned long pgd; } pgd_t;
52#define pmd_val(x) ((x).pmd) 53#define pmd_val(x) ((x).pmd)
53#define __pmd(x) ((pmd_t) { (x) } ) 54#define __pmd(x) ((pmd_t) { (x) } )
54 55
55typedef unsigned long long pfn_t;
56typedef unsigned long long phys_t; 56typedef unsigned long long phys_t;
57 57
58#else 58#else
@@ -76,7 +76,6 @@ typedef struct { unsigned long pmd; } pmd_t;
76#define pte_is_zero(p) (!((p).pte & ~_PAGE_NEWPAGE)) 76#define pte_is_zero(p) (!((p).pte & ~_PAGE_NEWPAGE))
77#define pte_set_val(p, phys, prot) (p).pte = (phys | pgprot_val(prot)) 77#define pte_set_val(p, phys, prot) (p).pte = (phys | pgprot_val(prot))
78 78
79typedef unsigned long pfn_t;
80typedef unsigned long phys_t; 79typedef unsigned long phys_t;
81 80
82#endif 81#endif
@@ -109,8 +108,8 @@ extern unsigned long uml_physmem;
109#define __pa(virt) to_phys((void *) (unsigned long) (virt)) 108#define __pa(virt) to_phys((void *) (unsigned long) (virt))
110#define __va(phys) to_virt((unsigned long) (phys)) 109#define __va(phys) to_virt((unsigned long) (phys))
111 110
112#define phys_to_pfn(p) ((pfn_t) ((p) >> PAGE_SHIFT)) 111#define phys_to_pfn(p) ((p) >> PAGE_SHIFT)
113#define pfn_to_phys(pfn) ((phys_t) ((pfn) << PAGE_SHIFT)) 112#define pfn_to_phys(pfn) PFN_PHYS(pfn)
114 113
115#define pfn_valid(pfn) ((pfn) < max_mapnr) 114#define pfn_valid(pfn) ((pfn) < max_mapnr)
116#define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v))) 115#define virt_addr_valid(v) pfn_valid(phys_to_pfn(__pa(v)))
diff --git a/arch/um/include/asm/pgtable-3level.h b/arch/um/include/asm/pgtable-3level.h
index 2b4274e7c095..bae8523a162f 100644
--- a/arch/um/include/asm/pgtable-3level.h
+++ b/arch/um/include/asm/pgtable-3level.h
@@ -98,7 +98,7 @@ static inline unsigned long pte_pfn(pte_t pte)
98 return phys_to_pfn(pte_val(pte)); 98 return phys_to_pfn(pte_val(pte));
99} 99}
100 100
101static inline pte_t pfn_pte(pfn_t page_nr, pgprot_t pgprot) 101static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot)
102{ 102{
103 pte_t pte; 103 pte_t pte;
104 phys_t phys = pfn_to_phys(page_nr); 104 phys_t phys = pfn_to_phys(page_nr);
@@ -107,7 +107,7 @@ static inline pte_t pfn_pte(pfn_t page_nr, pgprot_t pgprot)
107 return pte; 107 return pte;
108} 108}
109 109
110static inline pmd_t pfn_pmd(pfn_t page_nr, pgprot_t pgprot) 110static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot)
111{ 111{
112 return __pmd((page_nr << PAGE_SHIFT) | pgprot_val(pgprot)); 112 return __pmd((page_nr << PAGE_SHIFT) | pgprot_val(pgprot));
113} 113}
diff --git a/arch/um/include/asm/pgtable.h b/arch/um/include/asm/pgtable.h
index 18eb9924dda3..7485398d0737 100644
--- a/arch/um/include/asm/pgtable.h
+++ b/arch/um/include/asm/pgtable.h
@@ -271,7 +271,7 @@ static inline int pte_same(pte_t pte_a, pte_t pte_b)
271 271
272#define phys_to_page(phys) pfn_to_page(phys_to_pfn(phys)) 272#define phys_to_page(phys) pfn_to_page(phys_to_pfn(phys))
273#define __virt_to_page(virt) phys_to_page(__pa(virt)) 273#define __virt_to_page(virt) phys_to_page(__pa(virt))
274#define page_to_phys(page) pfn_to_phys((pfn_t) page_to_pfn(page)) 274#define page_to_phys(page) pfn_to_phys(page_to_pfn(page))
275#define virt_to_page(addr) __virt_to_page((const unsigned long) addr) 275#define virt_to_page(addr) __virt_to_page((const unsigned long) addr)
276 276
277#define mk_pte(page, pgprot) \ 277#define mk_pte(page, pgprot) \