mirror of
https://github.com/torvalds/linux.git
synced 2025-12-01 07:26:02 +07:00
mm: remove PFN_DEV, PFN_MAP, PFN_SPECIAL, PFN_SG_CHAIN and PFN_SG_LAST
The PFN_MAP flag is no longer used for anything, so remove it. The
PFN_SG_CHAIN and PFN_SG_LAST flags never appear to have been used so also
remove them. The last user of PFN_SPECIAL was removed by 653d7825c1
("dcssblk: mark DAX broken, remove FS_DAX_LIMITED support").
Users of PFN_DEV were removed earlier in this series by "mm: Remove
remaining uses of PFN_DEV".
Link: https://lkml.kernel.org/r/670b3950d70b4d97b905bb597dadfd3633de4314.1750323463.git-series.apopple@nvidia.com
Signed-off-by: Alistair Popple <apopple@nvidia.com>
Acked-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Cc: Balbir Singh <balbirs@nvidia.com>
Cc: Björn Töpel <bjorn@kernel.org>
Cc: Björn Töpel <bjorn@rivosinc.com>
Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Deepak Gupta <debug@rivosinc.com>
Cc: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
Cc: Inki Dae <m.szyprowski@samsung.com>
Cc: John Groves <john@groves.net>
Cc: John Hubbard <jhubbard@nvidia.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
d438d27341
commit
984921edea
@@ -5,26 +5,11 @@
|
||||
|
||||
/*
|
||||
* PFN_FLAGS_MASK - mask of all the possible valid pfn_t flags
|
||||
* PFN_SG_CHAIN - pfn is a pointer to the next scatterlist entry
|
||||
* PFN_SG_LAST - pfn references a page and is the last scatterlist entry
|
||||
* PFN_DEV - pfn is not covered by system memmap by default
|
||||
* PFN_MAP - pfn has a dynamic page mapping established by a device driver
|
||||
* PFN_SPECIAL - for CONFIG_FS_DAX_LIMITED builds to allow XIP, but not
|
||||
* get_user_pages
|
||||
*/
|
||||
#define PFN_FLAGS_MASK (((u64) (~PAGE_MASK)) << (BITS_PER_LONG_LONG - PAGE_SHIFT))
|
||||
#define PFN_SG_CHAIN (1ULL << (BITS_PER_LONG_LONG - 1))
|
||||
#define PFN_SG_LAST (1ULL << (BITS_PER_LONG_LONG - 2))
|
||||
#define PFN_DEV (1ULL << (BITS_PER_LONG_LONG - 3))
|
||||
#define PFN_MAP (1ULL << (BITS_PER_LONG_LONG - 4))
|
||||
#define PFN_SPECIAL (1ULL << (BITS_PER_LONG_LONG - 5))
|
||||
|
||||
#define PFN_FLAGS_TRACE \
|
||||
{ PFN_SPECIAL, "SPECIAL" }, \
|
||||
{ PFN_SG_CHAIN, "SG_CHAIN" }, \
|
||||
{ PFN_SG_LAST, "SG_LAST" }, \
|
||||
{ PFN_DEV, "DEV" }, \
|
||||
{ PFN_MAP, "MAP" }
|
||||
{ }
|
||||
|
||||
static inline pfn_t __pfn_to_pfn_t(unsigned long pfn, u64 flags)
|
||||
{
|
||||
@@ -46,7 +31,7 @@ static inline pfn_t phys_to_pfn_t(phys_addr_t addr, u64 flags)
|
||||
|
||||
static inline bool pfn_t_has_page(pfn_t pfn)
|
||||
{
|
||||
return (pfn.val & PFN_MAP) == PFN_MAP || (pfn.val & PFN_DEV) == 0;
|
||||
return true;
|
||||
}
|
||||
|
||||
static inline unsigned long pfn_t_to_pfn(pfn_t pfn)
|
||||
@@ -97,35 +82,4 @@ static inline pud_t pfn_t_pud(pfn_t pfn, pgprot_t pgprot)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_HAS_PTE_DEVMAP
|
||||
static inline bool pfn_t_devmap(pfn_t pfn)
|
||||
{
|
||||
const u64 flags = PFN_DEV|PFN_MAP;
|
||||
|
||||
return (pfn.val & flags) == flags;
|
||||
}
|
||||
#else
|
||||
static inline bool pfn_t_devmap(pfn_t pfn)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
pte_t pte_mkdevmap(pte_t pte);
|
||||
pmd_t pmd_mkdevmap(pmd_t pmd);
|
||||
#if defined(CONFIG_TRANSPARENT_HUGEPAGE) && \
|
||||
defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
|
||||
pud_t pud_mkdevmap(pud_t pud);
|
||||
#endif
|
||||
#endif /* CONFIG_ARCH_HAS_PTE_DEVMAP */
|
||||
|
||||
#ifdef CONFIG_ARCH_HAS_PTE_SPECIAL
|
||||
static inline bool pfn_t_special(pfn_t pfn)
|
||||
{
|
||||
return (pfn.val & PFN_SPECIAL) == PFN_SPECIAL;
|
||||
}
|
||||
#else
|
||||
static inline bool pfn_t_special(pfn_t pfn)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif /* CONFIG_ARCH_HAS_PTE_SPECIAL */
|
||||
#endif /* _LINUX_PFN_T_H_ */
|
||||
|
||||
@@ -2581,8 +2581,6 @@ static bool vm_mixed_ok(struct vm_area_struct *vma, pfn_t pfn, bool mkwrite)
|
||||
/* these checks mirror the abort conditions in vm_normal_page */
|
||||
if (vma->vm_flags & VM_MIXEDMAP)
|
||||
return true;
|
||||
if (pfn_t_special(pfn))
|
||||
return true;
|
||||
if (is_zero_pfn(pfn_t_to_pfn(pfn)))
|
||||
return true;
|
||||
return false;
|
||||
|
||||
@@ -137,10 +137,6 @@ EXPORT_SYMBOL_GPL(__wrap_devm_memremap_pages);
|
||||
|
||||
pfn_t __wrap_phys_to_pfn_t(phys_addr_t addr, unsigned long flags)
|
||||
{
|
||||
struct nfit_test_resource *nfit_res = get_nfit_res(addr);
|
||||
|
||||
if (nfit_res)
|
||||
flags &= ~PFN_MAP;
|
||||
return phys_to_pfn_t(addr, flags);
|
||||
}
|
||||
EXPORT_SYMBOL(__wrap_phys_to_pfn_t);
|
||||
|
||||
Reference in New Issue
Block a user