Commit 5df1abdb authored by Geert Uytterhoeven's avatar Geert Uytterhoeven

m68k/amiga: Fix "debug=mem"

`debug=mem' on Amiga has been broken for a while.
early_param() processing is done very/too early, i.e. before
amiga_identify() / amiga_chip_init(), causing amiga_savekmsg_setup() not
to find any Chip RAM.

As we don't plan to free this memory anyway, just steal it from the initial
Chip RAM memory block instead.
Signed-off-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
parent de339e4b
...@@ -610,17 +610,17 @@ static void amiga_mem_console_write(struct console *co, const char *s, ...@@ -610,17 +610,17 @@ static void amiga_mem_console_write(struct console *co, const char *s,
static int __init amiga_savekmsg_setup(char *arg) static int __init amiga_savekmsg_setup(char *arg)
{ {
static struct resource debug_res = { .name = "Debug" };
if (!MACH_IS_AMIGA || strcmp(arg, "mem")) if (!MACH_IS_AMIGA || strcmp(arg, "mem"))
goto done; return 0;
if (!AMIGAHW_PRESENT(CHIP_RAM)) { if (amiga_chip_size < SAVEKMSG_MAXMEM) {
printk("Warning: no chipram present for debugging\n"); pr_err("Not enough chipram for debugging\n");
goto done; return -ENOMEM;
} }
savekmsg = amiga_chip_alloc_res(SAVEKMSG_MAXMEM, &debug_res); /* Just steal the block, the chipram allocator isn't functional yet */
amiga_chip_size -= SAVEKMSG_MAXMEM;
savekmsg = (void *)ZTWO_VADDR(CHIP_PHYSADDR + amiga_chip_size);
savekmsg->magic1 = SAVEKMSG_MAGIC1; savekmsg->magic1 = SAVEKMSG_MAGIC1;
savekmsg->magic2 = SAVEKMSG_MAGIC2; savekmsg->magic2 = SAVEKMSG_MAGIC2;
savekmsg->magicptr = ZTWO_PADDR(savekmsg); savekmsg->magicptr = ZTWO_PADDR(savekmsg);
...@@ -628,8 +628,6 @@ static int __init amiga_savekmsg_setup(char *arg) ...@@ -628,8 +628,6 @@ static int __init amiga_savekmsg_setup(char *arg)
amiga_console_driver.write = amiga_mem_console_write; amiga_console_driver.write = amiga_mem_console_write;
register_console(&amiga_console_driver); register_console(&amiga_console_driver);
done:
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment