Message ID | 20240215103205.2607016-6-ryan.roberts@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Transparent Contiguous PTEs for User Mappings | expand |
On 15.02.24 11:31, Ryan Roberts wrote: > Core-mm needs to be able to advance the pfn by an arbitrary amount, so > override the new pte_advance_pfn() API to do so. > > Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> > --- > arch/x86/include/asm/pgtable.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h > index b50b2ef63672..69ed0ea0641b 100644 > --- a/arch/x86/include/asm/pgtable.h > +++ b/arch/x86/include/asm/pgtable.h > @@ -955,13 +955,13 @@ static inline int pte_same(pte_t a, pte_t b) > return a.pte == b.pte; > } > > -static inline pte_t pte_next_pfn(pte_t pte) > +static inline pte_t pte_advance_pfn(pte_t pte, unsigned long nr) > { > if (__pte_needs_invert(pte_val(pte))) > - return __pte(pte_val(pte) - (1UL << PFN_PTE_SHIFT)); > - return __pte(pte_val(pte) + (1UL << PFN_PTE_SHIFT)); > + return __pte(pte_val(pte) - (nr << PFN_PTE_SHIFT)); > + return __pte(pte_val(pte) + (nr << PFN_PTE_SHIFT)); > } > -#define pte_next_pfn pte_next_pfn > +#define pte_advance_pfn pte_advance_pfn > > static inline int pte_present(pte_t a) > { Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/arch/x86/include/asm/pgtable.h b/arch/x86/include/asm/pgtable.h index b50b2ef63672..69ed0ea0641b 100644 --- a/arch/x86/include/asm/pgtable.h +++ b/arch/x86/include/asm/pgtable.h @@ -955,13 +955,13 @@ static inline int pte_same(pte_t a, pte_t b) return a.pte == b.pte; } -static inline pte_t pte_next_pfn(pte_t pte) +static inline pte_t pte_advance_pfn(pte_t pte, unsigned long nr) { if (__pte_needs_invert(pte_val(pte))) - return __pte(pte_val(pte) - (1UL << PFN_PTE_SHIFT)); - return __pte(pte_val(pte) + (1UL << PFN_PTE_SHIFT)); + return __pte(pte_val(pte) - (nr << PFN_PTE_SHIFT)); + return __pte(pte_val(pte) + (nr << PFN_PTE_SHIFT)); } -#define pte_next_pfn pte_next_pfn +#define pte_advance_pfn pte_advance_pfn static inline int pte_present(pte_t a) {
Core-mm needs to be able to advance the pfn by an arbitrary amount, so override the new pte_advance_pfn() API to do so. Signed-off-by: Ryan Roberts <ryan.roberts@arm.com> --- arch/x86/include/asm/pgtable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)