Message ID | 20240215103205.2607016-5-ryan.roberts@arm.com (mailing list archive) |
---|---|
State | New |
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/arm64/include/asm/pgtable.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > index 52d0b0a763f1..b6d3e9e0a946 100644 > --- a/arch/arm64/include/asm/pgtable.h > +++ b/arch/arm64/include/asm/pgtable.h > @@ -351,10 +351,10 @@ static inline pgprot_t pte_pgprot(pte_t pte) > return __pgprot(pte_val(pfn_pte(pfn, __pgprot(0))) ^ pte_val(pte)); > } > > -#define pte_next_pfn pte_next_pfn > -static inline pte_t pte_next_pfn(pte_t pte) > +#define pte_advance_pfn pte_advance_pfn > +static inline pte_t pte_advance_pfn(pte_t pte, unsigned long nr) > { > - return pfn_pte(pte_pfn(pte) + 1, pte_pgprot(pte)); > + return pfn_pte(pte_pfn(pte) + nr, pte_pgprot(pte)); > } > > static inline void set_ptes(struct mm_struct *mm, > @@ -370,7 +370,7 @@ static inline void set_ptes(struct mm_struct *mm, > if (--nr == 0) > break; > ptep++; > - pte = pte_next_pfn(pte); > + pte = pte_advance_pfn(pte, 1); Acked-by: David Hildenbrand <david@redhat.com>
On Thu, Feb 15, 2024 at 10:31:51AM +0000, 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> Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > --- > arch/arm64/include/asm/pgtable.h | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h > index 52d0b0a763f1..b6d3e9e0a946 100644 > --- a/arch/arm64/include/asm/pgtable.h > +++ b/arch/arm64/include/asm/pgtable.h > @@ -351,10 +351,10 @@ static inline pgprot_t pte_pgprot(pte_t pte) > return __pgprot(pte_val(pfn_pte(pfn, __pgprot(0))) ^ pte_val(pte)); > } > > -#define pte_next_pfn pte_next_pfn > -static inline pte_t pte_next_pfn(pte_t pte) > +#define pte_advance_pfn pte_advance_pfn > +static inline pte_t pte_advance_pfn(pte_t pte, unsigned long nr) > { > - return pfn_pte(pte_pfn(pte) + 1, pte_pgprot(pte)); > + return pfn_pte(pte_pfn(pte) + nr, pte_pgprot(pte)); > } > > static inline void set_ptes(struct mm_struct *mm, > @@ -370,7 +370,7 @@ static inline void set_ptes(struct mm_struct *mm, > if (--nr == 0) > break; > ptep++; > - pte = pte_next_pfn(pte); > + pte = pte_advance_pfn(pte, 1); > } > } > #define set_ptes set_ptes > -- > 2.25.1 >
On Thu, Feb 15, 2024 at 10:31:51AM +0000, 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> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
diff --git a/arch/arm64/include/asm/pgtable.h b/arch/arm64/include/asm/pgtable.h index 52d0b0a763f1..b6d3e9e0a946 100644 --- a/arch/arm64/include/asm/pgtable.h +++ b/arch/arm64/include/asm/pgtable.h @@ -351,10 +351,10 @@ static inline pgprot_t pte_pgprot(pte_t pte) return __pgprot(pte_val(pfn_pte(pfn, __pgprot(0))) ^ pte_val(pte)); } -#define pte_next_pfn pte_next_pfn -static inline pte_t pte_next_pfn(pte_t pte) +#define pte_advance_pfn pte_advance_pfn +static inline pte_t pte_advance_pfn(pte_t pte, unsigned long nr) { - return pfn_pte(pte_pfn(pte) + 1, pte_pgprot(pte)); + return pfn_pte(pte_pfn(pte) + nr, pte_pgprot(pte)); } static inline void set_ptes(struct mm_struct *mm, @@ -370,7 +370,7 @@ static inline void set_ptes(struct mm_struct *mm, if (--nr == 0) break; ptep++; - pte = pte_next_pfn(pte); + pte = pte_advance_pfn(pte, 1); } } #define set_ptes set_ptes
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/arm64/include/asm/pgtable.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)