hmm, ok, if I understand properly the root issue is the memory atags passed to the kernel from the bootloader.. Putting 'mem=2G@0x80000000' in the cmdline also does the trick without requiring sparsemem BR, -R On Mon, Dec 16, 2013 at 12:00 PM, Rob Clark <robdclark@xxxxxxxxx> wrote: > fixes: > > ------------[ cut here ]------------ > WARNING: CPU: 0 PID: 0 at /home/robclark/src/linux/lib/list_debug.c:29 __list_add+0x6c/0xc0() > list_add corruption. next->prev should be prev (c09eb13c), but was c09eb138. (next=c1077814). > Modules linked in: > CPU: 0 PID: 0 Comm: swapper Not tainted 3.13.0-rc2-00172-g0a3e79c-dirty #214 > [<c0214e2c>] (unwind_backtrace+0x0/0x138) from [<c021270c>] (show_stack+0x10/0x14) > [<c021270c>] (show_stack+0x10/0x14) from [<c06f53ac>] (dump_stack+0x6c/0xac) > [<c06f53ac>] (dump_stack+0x6c/0xac) from [<c022c218>] (warn_slowpath_common+0x68/0x8c) > [<c022c218>] (warn_slowpath_common+0x68/0x8c) from [<c022c2d0>] (warn_slowpath_fmt+0x30/0x40) > [<c022c2d0>] (warn_slowpath_fmt+0x30/0x40) from [<c04c5564>] (__list_add+0x6c/0xc0) > [<c04c5564>] (__list_add+0x6c/0xc0) from [<c02d3078>] (__free_pages_ok.part.47+0x144/0x2bc) > [<c02d3078>] (__free_pages_ok.part.47+0x144/0x2bc) from [<c0963f28>] (free_all_bootmem+0x114/0x2a4) > [<c0963f28>] (free_all_bootmem+0x114/0x2a4) from [<c095582c>] (mem_init+0xe4/0x404) > [<c095582c>] (mem_init+0xe4/0x404) from [<c095090c>] (start_kernel+0x16c/0x358) > [<c095090c>] (start_kernel+0x16c/0x358) from [<80208074>] (0x80208074) > ---[ end trace 3406ff24bd97382e ]--- > ------------[ cut here ]------------ > > Signed-off-by: Rob Clark <robdclark@xxxxxxxxx> > > Conflicts: > arch/arm/mach-msm/Kconfig > --- > arch/arm/mach-msm/Kconfig | 3 +++ > arch/arm/mach-msm/include/mach/memory.h | 22 ++++++++++++++++++++++ > 2 files changed, 25 insertions(+) > create mode 100644 arch/arm/mach-msm/include/mach/memory.h > > diff --git a/arch/arm/mach-msm/Kconfig b/arch/arm/mach-msm/Kconfig > index 702553b..24c76a0 100644 > --- a/arch/arm/mach-msm/Kconfig > +++ b/arch/arm/mach-msm/Kconfig > @@ -54,6 +54,9 @@ config ARCH_MSM8X60 > config ARCH_MSM8960 > bool "MSM8960" > select ARCH_MSM_DT > + select ARCH_HAS_HOLES_MEMORYMODEL > + select ARCH_SPARSEMEM_ENABLE > + select NEED_MACH_MEMORY_H > select ARM_GIC > select CPU_V7 > select HAVE_SMP > diff --git a/arch/arm/mach-msm/include/mach/memory.h b/arch/arm/mach-msm/include/mach/memory.h > new file mode 100644 > index 0000000..15aa2cd > --- /dev/null > +++ b/arch/arm/mach-msm/include/mach/memory.h > @@ -0,0 +1,22 @@ > +/* arch/arm/mach-msm/include/mach/memory.h > + * > + * Copyright (C) 2007 Google, Inc. > + * Copyright (c) 2009-2012, Code Aurora Forum. All rights reserved. > + * > + * This software is licensed under the terms of the GNU General Public > + * License version 2, as published by the Free Software Foundation, and > + * may be copied, distributed, and modified under those terms. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + */ > +#ifndef __ASM_ARCH_MEMORY_H > +#define __ASM_ARCH_MEMORY_H > + > +#define MAX_PHYSMEM_BITS 32 > +#define SECTION_SIZE_BITS 28 > + > +#endif > -- > 1.8.4.2 > -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html