Message ID | 20230214140729.1649961-2-rppt@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fixups for generic implementation of pfn_valid() | expand |
On 15/2/23 00:07, Mike Rapoport wrote: > From: "Mike Rapoport (IBM)" <rppt@kernel.org> > > On m68k/nommu RAM does not necessarily start at 0x0 and when it does not > pfn_valid() uses a wrong offset into the memory map which causes silent > boot failures. > > Define ARCH_PFN_OFFSET to make pfn_valid() use the correct offset. > > Reported-by: Guenter Roeck <linux@roeck-us.net> > Fixes: d82f07f06cf8 ("m68k: use asm-generic/memory_model.h for both MMU and !MMU") > Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org> Acked-by: Greg Ungerer <gerg@linux-m68k.org> > --- > arch/m68k/include/asm/page_no.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/m68k/include/asm/page_no.h b/arch/m68k/include/asm/page_no.h > index 43ff6b109ebb..060e4c0e7605 100644 > --- a/arch/m68k/include/asm/page_no.h > +++ b/arch/m68k/include/asm/page_no.h > @@ -28,6 +28,8 @@ extern unsigned long memory_end; > #define virt_addr_valid(kaddr) (((unsigned long)(kaddr) >= PAGE_OFFSET) && \ > ((unsigned long)(kaddr) < memory_end)) > > +#define ARCH_PFN_OFFSET PHYS_PFN(PAGE_OFFSET_RAW) > + > #endif /* __ASSEMBLY__ */ > > #endif /* _M68K_PAGE_NO_H */
On 14.02.23 15:07, Mike Rapoport wrote: > From: "Mike Rapoport (IBM)" <rppt@kernel.org> > > On m68k/nommu RAM does not necessarily start at 0x0 and when it does not > pfn_valid() uses a wrong offset into the memory map which causes silent > boot failures. > > Define ARCH_PFN_OFFSET to make pfn_valid() use the correct offset. > > Reported-by: Guenter Roeck <linux@roeck-us.net> > Fixes: d82f07f06cf8 ("m68k: use asm-generic/memory_model.h for both MMU and !MMU") > Signed-off-by: Mike Rapoport (IBM) <rppt@kernel.org> > --- Reviewed-by: David Hildenbrand <david@redhat.com>
diff --git a/arch/m68k/include/asm/page_no.h b/arch/m68k/include/asm/page_no.h index 43ff6b109ebb..060e4c0e7605 100644 --- a/arch/m68k/include/asm/page_no.h +++ b/arch/m68k/include/asm/page_no.h @@ -28,6 +28,8 @@ extern unsigned long memory_end; #define virt_addr_valid(kaddr) (((unsigned long)(kaddr) >= PAGE_OFFSET) && \ ((unsigned long)(kaddr) < memory_end)) +#define ARCH_PFN_OFFSET PHYS_PFN(PAGE_OFFSET_RAW) + #endif /* __ASSEMBLY__ */ #endif /* _M68K_PAGE_NO_H */