On Fri, Nov 19, 2021 at 09:29:38AM +1100, Finn Thain wrote: > Enable the memtest functionality and rearrange some code to prevent it > from clobbering the initrd. > > The code to implement CONFIG_BLK_DEV_INITRD was conditional on > !defined(CONFIG_SUN3). For simplicity, remove that test on the basis > that m68k_ramdisk.size == 0 on Sun 3. The SLIME source code at > http://sammy.net/sun3/ftp/pub/m68k/sun3/slime/slime-2.0.tar.gz > indicates that no BI_RAMDISK entry is ever passed to the kernel due > to #ifdef 0 around the relevant code. > > Cc: Mike Rapoport <rppt@xxxxxxxxxx> > Cc: Sam Creasey <sammy@xxxxxxxxx> > Cc: Jonathan Corbet <corbet@xxxxxxx> > Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxx> Acked-by: Mike Rapoport <rppt@xxxxxxxxxxxxx> > --- > Is SLIME the only Linux bootloader on Sun 3? > --- > Changed since v2: > - Made conditional on MMU_MOTOROLA. > > Changed since v1: > - Updated documentation. > --- > Documentation/admin-guide/kernel-parameters.txt | 2 +- > arch/m68k/Kconfig | 1 + > arch/m68k/kernel/setup_mm.c | 15 ++++++--------- > arch/m68k/mm/motorola.c | 2 ++ > 4 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index 43dc35fe5bc0..ac42b421a95c 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -2924,7 +2924,7 @@ > both parameters are enabled, hugetlb_free_vmemmap takes > precedence over memory_hotplug.memmap_on_memory. > > - memtest= [KNL,X86,ARM,PPC,RISCV] Enable memtest > + memtest= [KNL,X86,ARM,M68K,PPC,RISCV] Enable memtest > Format: <integer> > default : 0 <disable> > Specifies the number of memtest passes to be > diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig > index 0b50da08a9c5..4cae3fbe7f97 100644 > --- a/arch/m68k/Kconfig > +++ b/arch/m68k/Kconfig > @@ -9,6 +9,7 @@ config M68K > select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS > select ARCH_MIGHT_HAVE_PC_PARPORT if ISA > select ARCH_NO_PREEMPT if !COLDFIRE > + select ARCH_USE_MEMTEST if MMU_MOTOROLA > select ARCH_WANT_IPC_PARSE_VERSION > select BINFMT_FLAT_ARGVP_ENVP_ON_STACK > select DMA_DIRECT_REMAP if HAS_DMA && MMU && !COLDFIRE > diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c > index 4b51bfd38e5f..49e573b94326 100644 > --- a/arch/m68k/kernel/setup_mm.c > +++ b/arch/m68k/kernel/setup_mm.c > @@ -338,13 +338,6 @@ void __init setup_arch(char **cmdline_p) > panic("No configuration setup"); > } > > - paging_init(); > - > -#ifdef CONFIG_NATFEAT > - nf_init(); > -#endif > - > -#ifndef CONFIG_SUN3 > #ifdef CONFIG_BLK_DEV_INITRD > if (m68k_ramdisk.size) { > memblock_reserve(m68k_ramdisk.addr, m68k_ramdisk.size); > @@ -354,6 +347,12 @@ void __init setup_arch(char **cmdline_p) > } > #endif > > + paging_init(); > + > +#ifdef CONFIG_NATFEAT > + nf_init(); > +#endif > + > #ifdef CONFIG_ATARI > if (MACH_IS_ATARI) > atari_stram_reserve_pages((void *)availmem); > @@ -364,8 +363,6 @@ void __init setup_arch(char **cmdline_p) > } > #endif > > -#endif /* !CONFIG_SUN3 */ > - > /* set ISA defs early as possible */ > #if defined(CONFIG_ISA) && defined(MULTI_ISA) > if (MACH_IS_Q40) { > diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c > index 9f3f77785aa7..5b6575eb6d02 100644 > --- a/arch/m68k/mm/motorola.c > +++ b/arch/m68k/mm/motorola.c > @@ -455,6 +455,8 @@ void __init paging_init(void) > > flush_tlb_all(); > > + early_memtest(min_addr, max_addr); > + > /* > * initialize the bad page table and bad page to point > * to a couple of allocated pages > -- > 2.26.3 > -- Sincerely yours, Mike.