Message ID | 1594388602-17790-1-git-send-email-kernelfans@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64/fixmap: make notes of fixed_addresses more precisely | expand |
On Fri, Jul 10, 2020 at 09:43:22PM +0800, Pingfan Liu wrote: > These 'compile-time allocated' memory buffers can occupy more than one > page. So improve the note about it. > > Signed-off-by: Pingfan Liu <kernelfans@gmail.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Will Deacon <will@kernel.org> > To: linux-arm-kernel@lists.infradead.org > --- > arch/arm64/include/asm/fixmap.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h > index f987b8a..318aee1 100644 > --- a/arch/arm64/include/asm/fixmap.h > +++ b/arch/arm64/include/asm/fixmap.h > @@ -29,7 +29,8 @@ > * in the boot process. > * > * These 'compile-time allocated' memory buffers are > - * page-sized. Use set_fixmap(idx,phys) to associate > + * page-sized (or larger if used with an increment > + * higher than 1). Use set_fixmap(idx,phys) to associate > * physical memory with fixmap indices. I don't get this. set_fixmap() only maps a page. Also, what's "increment" in this context?
On Thu, Jul 30, 2020 at 7:09 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > On Fri, Jul 10, 2020 at 09:43:22PM +0800, Pingfan Liu wrote: > > These 'compile-time allocated' memory buffers can occupy more than one > > page. So improve the note about it. > > > > Signed-off-by: Pingfan Liu <kernelfans@gmail.com> > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > Cc: Will Deacon <will@kernel.org> > > To: linux-arm-kernel@lists.infradead.org > > --- > > arch/arm64/include/asm/fixmap.h | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h > > index f987b8a..318aee1 100644 > > --- a/arch/arm64/include/asm/fixmap.h > > +++ b/arch/arm64/include/asm/fixmap.h > > @@ -29,7 +29,8 @@ > > * in the boot process. > > * > > * These 'compile-time allocated' memory buffers are > > - * page-sized. Use set_fixmap(idx,phys) to associate > > + * page-sized (or larger if used with an increment > > + * higher than 1). Use set_fixmap(idx,phys) to associate > > * physical memory with fixmap indices. > > I don't get this. set_fixmap() only maps a page. Also, what's > "increment" in this context? I refer to the notes in the counterpart in x86. And for the time being, it is the case for the ranges (FIX_FDT, FIX_FDT_END), which may cost more than one page size. Thanks, Pingfan
On Fri, Jul 31, 2020 at 10:47:13AM +0800, Pingfan Liu wrote: > On Thu, Jul 30, 2020 at 7:09 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > On Fri, Jul 10, 2020 at 09:43:22PM +0800, Pingfan Liu wrote: > > > These 'compile-time allocated' memory buffers can occupy more than one > > > page. So improve the note about it. > > > > > > Signed-off-by: Pingfan Liu <kernelfans@gmail.com> > > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > > Cc: Will Deacon <will@kernel.org> > > > To: linux-arm-kernel@lists.infradead.org > > > --- > > > arch/arm64/include/asm/fixmap.h | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h > > > index f987b8a..318aee1 100644 > > > --- a/arch/arm64/include/asm/fixmap.h > > > +++ b/arch/arm64/include/asm/fixmap.h > > > @@ -29,7 +29,8 @@ > > > * in the boot process. > > > * > > > * These 'compile-time allocated' memory buffers are > > > - * page-sized. Use set_fixmap(idx,phys) to associate > > > + * page-sized (or larger if used with an increment > > > + * higher than 1). Use set_fixmap(idx,phys) to associate > > > * physical memory with fixmap indices. > > > > I don't get this. set_fixmap() only maps a page. Also, what's > > "increment" in this context? > > I refer to the notes in the counterpart in x86. And for the time > being, it is the case for the ranges (FIX_FDT, FIX_FDT_END), which may > cost more than one page size. OK, so increment refers to the enum increment. But if we update this, we also need to state that set_fixmap() only maps page-size buffers, otherwise one may think that set_fixmap(FIX_FDT, phys) maps the whole FDT. We could say that each enum increment represents a page-sized buffer.
On Fri, Jul 31, 2020 at 8:13 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > On Fri, Jul 31, 2020 at 10:47:13AM +0800, Pingfan Liu wrote: > > On Thu, Jul 30, 2020 at 7:09 PM Catalin Marinas <catalin.marinas@arm.com> wrote: > > > On Fri, Jul 10, 2020 at 09:43:22PM +0800, Pingfan Liu wrote: > > > > These 'compile-time allocated' memory buffers can occupy more than one > > > > page. So improve the note about it. > > > > > > > > Signed-off-by: Pingfan Liu <kernelfans@gmail.com> > > > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > > > Cc: Will Deacon <will@kernel.org> > > > > To: linux-arm-kernel@lists.infradead.org > > > > --- > > > > arch/arm64/include/asm/fixmap.h | 3 ++- > > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h > > > > index f987b8a..318aee1 100644 > > > > --- a/arch/arm64/include/asm/fixmap.h > > > > +++ b/arch/arm64/include/asm/fixmap.h > > > > @@ -29,7 +29,8 @@ > > > > * in the boot process. > > > > * > > > > * These 'compile-time allocated' memory buffers are > > > > - * page-sized. Use set_fixmap(idx,phys) to associate > > > > + * page-sized (or larger if used with an increment > > > > + * higher than 1). Use set_fixmap(idx,phys) to associate > > > > * physical memory with fixmap indices. > > > > > > I don't get this. set_fixmap() only maps a page. Also, what's > > > "increment" in this context? > > > > I refer to the notes in the counterpart in x86. And for the time > > being, it is the case for the ranges (FIX_FDT, FIX_FDT_END), which may > > cost more than one page size. > > OK, so increment refers to the enum increment. But if we update this, we > also need to state that set_fixmap() only maps page-size buffers, > otherwise one may think that set_fixmap(FIX_FDT, phys) maps the whole > FDT. We could say that each enum increment represents a page-sized > buffer. What about description like: diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h index f987b8a..4335800 100644 --- a/arch/arm64/include/asm/fixmap.h +++ b/arch/arm64/include/asm/fixmap.h @@ -28,10 +28,9 @@ * compile time, but to set the physical address only * in the boot process. * - * These 'compile-time allocated' memory buffers are - * page-sized. Use set_fixmap(idx,phys) to associate - * physical memory with fixmap indices. - * + * Each enum increment in these 'compile-time allocated' + * memory buffers is page-sized. Use set_fixmap(idx,phys) + * to associate physical memory with a fixmap index. */ Thanks, Pingfan
On Mon, Aug 03, 2020 at 10:07:16AM +0800, Pingfan Liu wrote: > What about description like: > diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h > index f987b8a..4335800 100644 > --- a/arch/arm64/include/asm/fixmap.h > +++ b/arch/arm64/include/asm/fixmap.h > @@ -28,10 +28,9 @@ > * compile time, but to set the physical address only > * in the boot process. > * > - * These 'compile-time allocated' memory buffers are > - * page-sized. Use set_fixmap(idx,phys) to associate > - * physical memory with fixmap indices. > - * > + * Each enum increment in these 'compile-time allocated' > + * memory buffers is page-sized. Use set_fixmap(idx,phys) > + * to associate physical memory with a fixmap index. > */ It looks fine. Please send it as a separate patch. Thanks.
diff --git a/arch/arm64/include/asm/fixmap.h b/arch/arm64/include/asm/fixmap.h index f987b8a..318aee1 100644 --- a/arch/arm64/include/asm/fixmap.h +++ b/arch/arm64/include/asm/fixmap.h @@ -29,7 +29,8 @@ * in the boot process. * * These 'compile-time allocated' memory buffers are - * page-sized. Use set_fixmap(idx,phys) to associate + * page-sized (or larger if used with an increment + * higher than 1). Use set_fixmap(idx,phys) to associate * physical memory with fixmap indices. * */
These 'compile-time allocated' memory buffers can occupy more than one page. So improve the note about it. Signed-off-by: Pingfan Liu <kernelfans@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> To: linux-arm-kernel@lists.infradead.org --- arch/arm64/include/asm/fixmap.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)