Hi Mike,

On Sun, Jun 30, 2019 at 10:58 AM Mike Rapoport <[email protected]> wrote:
> On Sun, Jun 30, 2019 at 12:54:49PM +1200, Michael Schmitz wrote:
> > Am 29.06.2019 um 23:30 schrieb Mike Rapoport:
> > >On Thu, Jun 20, 2019 at 06:46:28PM +0200, Geert Uytterhoeven wrote:
> > >>On Wed, Jun 19, 2019 at 4:18 PM Mike Rapoport <[email protected]> wrote:
> > >>>On Wed, Jun 19, 2019 at 09:39:40AM +0200, Geert Uytterhoeven wrote:
> > >>>>On Wed, Jun 19, 2019 at 9:06 AM Geert Uytterhoeven 
> > >>>><[email protected]> wrote:
> > >>>>>On Tue, Jun 18, 2019 at 8:10 AM Mike Rapoport <[email protected]> 
> > >>>>>wrote:
> > >>
> > >>Thanks, that hack did fix CONFIG_SINGLE_MEMORY_CHUNK=y.
> > >>
> > >>Back to sparsemem...
> > >>
> > >>With CONFIG_SINGLE_MEMORY_CHUNK=n, and CONFIG_SPARSEMEM=y,
> > >>it also fails.  Diff between working single memory chunk and failing
> > >>sparsemem:
> > >>
> > >>   -Memory: 7796K/12288K available (2555K kernel code, 259K rwdata,
> > >>700K rodata, 136K init, 153K bss, 4492K reserved, 0K cma-reserved)
> > >>   +Memory: 7816K/131072K available (2556K kernel code, 261K rwdata,
> > >>700K rodata, 136K init, 157K bss, 123256K reserved, 0K cma-reserved)
> > >>
> > >>Oops, looks like it thinks there's memory from 0x00000000-0x08000000,
> > >>instead of 0x07400000-0x08000000.
> > >
> > >Yeah, I've made a mistake in the zone/hole size calculations as it seems.
> > >
> > >Can you try this:
> > >
> > >diff --git a/arch/m68k/mm/motorola.c b/arch/m68k/mm/motorola.c
> > >index 87d09942be5c..bf438a0da173 100644
> > >--- a/arch/m68k/mm/motorola.c
> > >+++ b/arch/m68k/mm/motorola.c
> > >@@ -229,10 +229,8 @@ static void m68k_free_area_init(unsigned long 
> > >max_addr)
> > >     memblock_set_bottom_up(true);
> > >
> > >     zones_size[ZONE_DMA] = max_addr >> PAGE_SHIFT;
> > >-    if (m68k_num_memory > 1) {
> > >-            holes_size = max_addr - memblock_phys_mem_size();
> > >-            zholes_size[ZONE_DMA] = holes_size >> PAGE_SHIFT;
> > >-    }
> > >+    holes_size = max_addr - memblock_phys_mem_size();
> > >+    zholes_size[ZONE_DMA] =  >> PAGE_SHIFT;
> >
> > gcc fails to parse that line. Lost a holes_size, perhaps?
>
> Oops, indeed.

Thanks, we're getting progress.  My system is booting again from hard drive
with CONFIG_SINGLE_MEMORY_CHUNK=n.
When booting from an initrd, it still crashes, see attached dmesg.

Hence still to fix:
  1. Proper solution for CONFIG_SINGLE_MEMORY_CHUNK=y,
  2. CONFIG_SINGLE_MEMORY_CHUNK=n and initrd.

Thanks!

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Attachment: dmesg-5.2.0-rc7-amiga-nomod-01406-g31291cf69a083d9f.1
Description: Binary data

Reply via email to