x86/mm/pat: remove old pfnmap tracking interface
We can now get rid of the old interface along with get_pat_info() and follow_phys(). Link: https://lkml.kernel.org/r/20250512123424.637989-6-david@redhat.com Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Acked-by: Ingo Molnar <mingo@kernel.org> [x86 bits] Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Borislav Betkov <bp@alien8.de> Cc: Dave Airlie <airlied@gmail.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Jann Horn <jannh@google.com> Cc: Jonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: "Masami Hiramatsu (Google)" <mhiramat@kernel.org> Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: Peter Xu <peterx@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Thomas Gleinxer <tglx@linutronix.de> Cc: Tvrtko Ursulin <tursulin@ursulin.net> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
committed by
Andrew Morton
parent
f8e97613fe
commit
7bd7d74ec0
@@ -1485,17 +1485,6 @@ static inline pmd_t pmd_swp_clear_soft_dirty(pmd_t pmd)
|
||||
* vmf_insert_pfn.
|
||||
*/
|
||||
|
||||
/*
|
||||
* track_pfn_remap is called when a _new_ pfn mapping is being established
|
||||
* by remap_pfn_range() for physical range indicated by pfn and size.
|
||||
*/
|
||||
static inline int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot,
|
||||
unsigned long pfn, unsigned long addr,
|
||||
unsigned long size)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int pfnmap_setup_cachemode(unsigned long pfn, unsigned long size,
|
||||
pgprot_t *prot)
|
||||
{
|
||||
@@ -1511,55 +1500,7 @@ static inline int pfnmap_track(unsigned long pfn, unsigned long size,
|
||||
static inline void pfnmap_untrack(unsigned long pfn, unsigned long size)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* track_pfn_copy is called when a VM_PFNMAP VMA is about to get the page
|
||||
* tables copied during copy_page_range(). Will store the pfn to be
|
||||
* passed to untrack_pfn_copy() only if there is something to be untracked.
|
||||
* Callers should initialize the pfn to 0.
|
||||
*/
|
||||
static inline int track_pfn_copy(struct vm_area_struct *dst_vma,
|
||||
struct vm_area_struct *src_vma, unsigned long *pfn)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* untrack_pfn_copy is called when a VM_PFNMAP VMA failed to copy during
|
||||
* copy_page_range(), but after track_pfn_copy() was already called. Can
|
||||
* be called even if track_pfn_copy() did not actually track anything:
|
||||
* handled internally.
|
||||
*/
|
||||
static inline void untrack_pfn_copy(struct vm_area_struct *dst_vma,
|
||||
unsigned long pfn)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* untrack_pfn is called while unmapping a pfnmap for a region.
|
||||
* untrack can be called for a specific region indicated by pfn and size or
|
||||
* can be for the entire vma (in which case pfn, size are zero).
|
||||
*/
|
||||
static inline void untrack_pfn(struct vm_area_struct *vma,
|
||||
unsigned long pfn, unsigned long size,
|
||||
bool mm_wr_locked)
|
||||
{
|
||||
}
|
||||
|
||||
/*
|
||||
* untrack_pfn_clear is called in the following cases on a VM_PFNMAP VMA:
|
||||
*
|
||||
* 1) During mremap() on the src VMA after the page tables were moved.
|
||||
* 2) During fork() on the dst VMA, immediately after duplicating the src VMA.
|
||||
*/
|
||||
static inline void untrack_pfn_clear(struct vm_area_struct *vma)
|
||||
{
|
||||
}
|
||||
#else
|
||||
extern int track_pfn_remap(struct vm_area_struct *vma, pgprot_t *prot,
|
||||
unsigned long pfn, unsigned long addr,
|
||||
unsigned long size);
|
||||
|
||||
/**
|
||||
* pfnmap_setup_cachemode - setup the cachemode in the pgprot for a pfn range
|
||||
* @pfn: the start of the pfn range
|
||||
@@ -1614,13 +1555,6 @@ int pfnmap_track(unsigned long pfn, unsigned long size, pgprot_t *prot);
|
||||
* Untrack a pfn range previously tracked through pfnmap_track().
|
||||
*/
|
||||
void pfnmap_untrack(unsigned long pfn, unsigned long size);
|
||||
extern int track_pfn_copy(struct vm_area_struct *dst_vma,
|
||||
struct vm_area_struct *src_vma, unsigned long *pfn);
|
||||
extern void untrack_pfn_copy(struct vm_area_struct *dst_vma,
|
||||
unsigned long pfn);
|
||||
extern void untrack_pfn(struct vm_area_struct *vma, unsigned long pfn,
|
||||
unsigned long size, bool mm_wr_locked);
|
||||
extern void untrack_pfn_clear(struct vm_area_struct *vma);
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user