Hi Finn,
it looks as though early_memtest() does skip allocated and unmapped
areas, so I'd say this looks fine.
Cheers,
Michael
On 13/09/21 15:40, Michael Schmitz wrote:
Hi Finn,
On 13/09/21 13:34, Finn Thain wrote:
This appears to work on Aranym, QEMU and the Quadra 630 I have here.
It is completely untested on Coldfire etc. I don't even know whether the
right memory mappings are in place for this to actually work as intended.
The comment just above the section from paging_init() in your patch
states that all physical memory is mapped into kernel virtual address
space. I don't think that mapping is contiguous though.
Would someone take a look please?
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index 6e40f7f29ebc..d87e12b4855b 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
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/mm/motorola.c b/arch/m68k/mm/motorola.c
index 3a653f0a4188..d6301a094fc1 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
I'd rather start that from availmem, not from min_addr ... I'm amazed
this works - I'd expect the kernel text segment to get trashed by the
memory test routines.
Cheers,
Michael