提交 6e76d4b2 编写于 作者: K Kirill A. Shutemov 提交者: Linus Torvalds

s390: drop pte_file()-related helpers

We've replaced remap_file_pages(2) implementation with emulation.  Nobody
creates non-linear mapping anymore.
Signed-off-by: NKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Acked-by: NMartin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 8d55da81
...@@ -249,10 +249,10 @@ static inline int is_module_addr(void *addr) ...@@ -249,10 +249,10 @@ static inline int is_module_addr(void *addr)
_PAGE_YOUNG) _PAGE_YOUNG)
/* /*
* handle_pte_fault uses pte_present, pte_none and pte_file to find out the * handle_pte_fault uses pte_present and pte_none to find out the pte type
* pte type WITHOUT holding the page table lock. The _PAGE_PRESENT bit * WITHOUT holding the page table lock. The _PAGE_PRESENT bit is used to
* is used to distinguish present from not-present ptes. It is changed only * distinguish present from not-present ptes. It is changed only with the page
* with the page table lock held. * table lock held.
* *
* The following table gives the different possible bit combinations for * The following table gives the different possible bit combinations for
* the pte hardware and software bits in the last 12 bits of a pte: * the pte hardware and software bits in the last 12 bits of a pte:
...@@ -279,7 +279,6 @@ static inline int is_module_addr(void *addr) ...@@ -279,7 +279,6 @@ static inline int is_module_addr(void *addr)
* *
* pte_present is true for the bit pattern .xx...xxxxx1, (pte & 0x001) == 0x001 * pte_present is true for the bit pattern .xx...xxxxx1, (pte & 0x001) == 0x001
* pte_none is true for the bit pattern .10...xxxx00, (pte & 0x603) == 0x400 * pte_none is true for the bit pattern .10...xxxx00, (pte & 0x603) == 0x400
* pte_file is true for the bit pattern .11...xxxxx0, (pte & 0x601) == 0x600
* pte_swap is true for the bit pattern .10...xxxx10, (pte & 0x603) == 0x402 * pte_swap is true for the bit pattern .10...xxxx10, (pte & 0x603) == 0x402
*/ */
...@@ -671,13 +670,6 @@ static inline int pte_swap(pte_t pte) ...@@ -671,13 +670,6 @@ static inline int pte_swap(pte_t pte)
== (_PAGE_INVALID | _PAGE_TYPE); == (_PAGE_INVALID | _PAGE_TYPE);
} }
static inline int pte_file(pte_t pte)
{
/* Bit pattern: (pte & 0x601) == 0x600 */
return (pte_val(pte) & (_PAGE_INVALID | _PAGE_PROTECT | _PAGE_PRESENT))
== (_PAGE_INVALID | _PAGE_PROTECT);
}
static inline int pte_special(pte_t pte) static inline int pte_special(pte_t pte)
{ {
return (pte_val(pte) & _PAGE_SPECIAL); return (pte_val(pte) & _PAGE_SPECIAL);
...@@ -1756,19 +1748,6 @@ static inline pte_t mk_swap_pte(unsigned long type, unsigned long offset) ...@@ -1756,19 +1748,6 @@ static inline pte_t mk_swap_pte(unsigned long type, unsigned long offset)
#define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) }) #define __pte_to_swp_entry(pte) ((swp_entry_t) { pte_val(pte) })
#define __swp_entry_to_pte(x) ((pte_t) { (x).val }) #define __swp_entry_to_pte(x) ((pte_t) { (x).val })
#ifndef CONFIG_64BIT
# define PTE_FILE_MAX_BITS 26
#else /* CONFIG_64BIT */
# define PTE_FILE_MAX_BITS 59
#endif /* CONFIG_64BIT */
#define pte_to_pgoff(__pte) \
((((__pte).pte >> 12) << 7) + (((__pte).pte >> 1) & 0x7f))
#define pgoff_to_pte(__off) \
((pte_t) { ((((__off) & 0x7f) << 1) + (((__off) >> 7) << 12)) \
| _PAGE_INVALID | _PAGE_PROTECT })
#endif /* !__ASSEMBLY__ */ #endif /* !__ASSEMBLY__ */
#define kern_addr_valid(addr) (1) #define kern_addr_valid(addr) (1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册