Hi, I'm using the TI814x EVM with a custom build using the standard PSP Linux kernel based on v2.6.37_TI81XXPSP_04.04.00.01.
My intention it to eventually run a system with 256 MB RAM. I'm not using the graphics, video or DSP so I'd like to reserve all that memory for use by Linux.
I have remapped the DMM LISA region to be only 256MB in size, however when I try to boot the Linux kernel with the mem=256M parameter I get an "Unhandled fault: external abort on non-linefetch (0x1018) at 0xffff0fe8" and the kernel crashes. The kernel boots fine if I uses mem=145M as per the memory map instructions I found in the wiki, but obviously in my case that is somewhat suboptimal.
I would like to know if there is a way to make more of the total memory available to Linux since I'm not using any of the aforementioned devices. If that's the case, where and what do I need to change to make this possible?
Thanks for any suggestions.
Here is the full stack trace in case it helps anyone figure out my issue:
bootconsole [earlycon0] enabled
reserved size = 0 at 0x0
Memory policy: ECC disabled, Data cache writeback
OMAP chip is TI8148 2.0
SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000
Unhandled fault: external abort on non-linefetch (0x1018) at 0xffff0fe8
Internal error: : 1018 [#1]
last sysfs file:
Modules linked in:
CPU: 0 Not tainted (2.6.37 #84)
PC is at memcpy+0x8c/0x330
LR is at early_trap_init+0x60/0xfc
pc : [<c01b124c>] lr : [<c000c15c>] psr: 00000193
sp : c0497f54 ip : 0000001c fp : c0497f84
r10: 00000009 r9 : c0497fd4 r8 : 00000018
r7 : 00000002 r6 : c002a244 r5 : c04d94c0 r4 : ffff0000
r3 : e59f0008 r2 : ffffffe4 r1 : ffff0fe8 r0 : ffff0fe0
Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 10c5387f Table: 80004019 DAC: 0000001f
Process swapper (pid: 0, stack limit = 0xc04962e8)
Stack: (0xc0497f54 to 0xc0498000)
7f40: c04d94c0 c002a244 00000002
7f60: 00000018 ffff0fe0 ffff0000 c000c15c c071b840 c04d94c0 c0497fc4 c0497f88
7f80: c000bf98 c000c108 c044e13b 10c53c7f c0497fb4 c002ba1c c036a778 ffffffff
7fa0: c04d92c0 c002be4c c049a0f4 80000000 413fc082 0000001f c0497ff4 c0497fc8
7fc0: c0008ac0 c000b9dc 00000000 00000000 00000000 c002be50 00000000 10c53c7d
7fe0: c04d945c c002be4c 00000000 c0497ff8 80008048 c0008a60 00000000 00000000
Backtrace:
[<c000c0fc>] (early_trap_init+0x0/0xfc) from [<c000bf98>] (setup_arch+0x5c8/0x6b8) r5:c04d94c0 r4:c071b840
[<c000b9d0>] (setup_arch+0x0/0x6b8) from [<c0008ac0>] (start_kernel+0x6c/0x2c8)
[<c0008a54>] (start_kernel+0x0/0x2c8) from [<80008048>] (0x80008048) r6:c002be4c r5:c04d945c r4:10c53c7d
Code: e4915004 e4916004 e4917004 e4918004 (e491e004)
---[ end trace 1b75b31a2719ed1c ]---
Kernel panic - not syncing: Attempted to kill the idle task!
Backtrace:
[<c0044bf4>] (dump_backtrace+0x0/0x110) from [<c036a5cc>] (dump_stack+0x18/0x1c) r7:c01b1250 r6:c04990c8 r5:c01b124e r4:c04d9a10
[<c036a5b4>] (dump_stack+0x0/0x1c) from [<c036a630>] (panic+0x60/0x184)
[<c036a5d0>] (panic+0x0/0x184) from [<c006b468>] (do_exit+0x74/0x5e4) r3:00000000 r2:c0497da0 r1:c0496000 r0:c0431199
[<c006b3f4>] (do_exit+0x0/0x5e4) from [<c0044fa0>] (die+0x29c/0x2d8)
[<c0044d04>] (die+0x0/0x2d8) from [<c004509c>] (arm_notify_die+0x5c/0x60)
[<c0045040>] (arm_notify_die+0x0/0x60) from [<c00362f0>] (do_DataAbort+0x88/0x9c) r5:c049a7c0 r4:00000007
[<c0036268>] (do_DataAbort+0x0/0x9c) from [<c036c5ec>] (__dabt_svc+0x4c/0x60)
Exception stack(0xc0497f08 to 0xc0497f50)
7f00: ffff0fe0 ffff0fe8 ffffffe4 e59f0008 ffff0000 c04d94c0
7f20: c002a244 00000002 00000018 c0497fd4 00000009 c0497f84 0000001c c0497f54
7f40: c000c15c c01b124c 00000193 ffffffff
r8:00000018 r7:00000002 r6:c002a244 r5:c0497f3c r4:ffffffff
[<c000c0fc>] (early_trap_init+0x0/0xfc) from [<c000bf98>] (setup_arch+0x5c8/0x6b8) r5:c04d94c0 r4:c071b840
[<c000b9d0>] (setup_arch+0x0/0x6b8) from [<c0008ac0>] (start_kernel+0x6c/0x2c8)
[<c0008a54>] (start_kernel+0x0/0x2c8) from [<80008048>] (0x80008048) r6:c002be4c r5:c04d945c r4:10c53c7d