diff options
| author | Dan Williams <dan.j.williams@intel.com> | 2016-01-15 19:56:08 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-01-15 20:56:32 -0500 |
| commit | 16da306849d0335af7c353ec14121cf422433d33 (patch) | |
| tree | 0397613223430e84f140ff144737089da95870d3 /arch/um/include | |
| parent | 59bf4fb9d386601cbaa70a9b00159abb846dedaa (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.h | 7 | ||||
| -rw-r--r-- | arch/um/include/asm/pgtable-3level.h | 4 | ||||
| -rw-r--r-- | arch/um/include/asm/pgtable.h | 2 |
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 | ||
| 19 | struct page; | 19 | struct 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 | ||
| 55 | typedef unsigned long long pfn_t; | ||
| 56 | typedef unsigned long long phys_t; | 56 | typedef 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 | ||
| 79 | typedef unsigned long pfn_t; | ||
| 80 | typedef unsigned long phys_t; | 79 | typedef 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 | ||
| 101 | static inline pte_t pfn_pte(pfn_t page_nr, pgprot_t pgprot) | 101 | static 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 | ||
| 110 | static inline pmd_t pfn_pmd(pfn_t page_nr, pgprot_t pgprot) | 110 | static 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) \ |
