diff mbox

[2/3] mach-msm: enable sparsemem for 8960

Message ID 1387213254-23020-3-git-send-email-robdclark@gmail.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Rob Clark Dec. 16, 2013, 5 p.m. UTC
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@gmail.com>

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

Comments

Rob Clark Dec. 16, 2013, 7:32 p.m. UTC | #1
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@gmail.com> 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@gmail.com>
>
> 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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

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