Re: [RFC] m68k: Enable memtest kernel parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Finn,

On Mon, Sep 13, 2021 at 03:17:33PM +1000, Finn Thain wrote:
On Mon, 13 Sep 2021, Michael Schmitz wrote:


I'm amazed this works - I'd expect the kernel text segment to get 
trashed by the memory test routines.

I think the initramfs may get clobbered when the 'memtest' parameter is 
set. But that may be expected behaviour...

It's not the expected behaviour. The initramfs is clobbered because memtest
runs before initramfs memory is reserved. The patch below (not even compile
tested) should help. Now, for some reason the reservation of initrd does
not happen on SUN3, which is probably wrong, so maybe we can drop that 
#ifndef CONFIG_SUN3 before #ifdef CONFIG_BLK_DEV_INITRD.

diff --git a/arch/m68k/kernel/setup_mm.c b/arch/m68k/kernel/setup_mm.c
index 4b51bfd38e5f..4ca8f1120abc 100644
--- a/arch/m68k/kernel/setup_mm.c
+++ b/arch/m68k/kernel/setup_mm.c
@@ -338,12 +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) {
@@ -352,8 +346,16 @@ void __init setup_arch(char **cmdline_p)
 		initrd_end = initrd_start + m68k_ramdisk.size;
 		pr_info("initrd: %08lx - %08lx\n", initrd_start, initrd_end);
 	}
+#endif
 #endif
 
+	paging_init();
+
+#ifdef CONFIG_NATFEAT
+	nf_init();
+#endif
+
+#ifndef CONFIG_SUN3
 #ifdef CONFIG_ATARI
 	if (MACH_IS_ATARI)
 		atari_stram_reserve_pages((void *)availmem);
 
-- 
Sincerely yours,
Mike.



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux