Hello,
We use the system that's described in the signatrue (I hope). It has 1GB of RAM, but until now we treated it as it it has only 512GB to have some spare. Guess what, we need more memory ;)
So until now, the kernel bootparams were:
console=ttyO0,115200n8 rootwait quiet root=ubi0:ubi-rootfs rootfstype=ubifs ubi.mtd=9 ro mem=296M vram=16M ti814xfb.vram=0:16M ip=off noinitrd libata.force=1.5G
Where, of course, only the mem=296M is interesting for now.
According to this wiki page and this excel sheet from the same page, there's an additional wealth of memory for Linux at 0xA0000000. So I tried this:
console=ttyO0,115200n8 rootwait root=ubi0:ubi-rootfs rootfstype=ubifs ubi.mtd=9 ro mem=296M@0x80000000 mem=296M@0xa0000000 vram=16M ti814xfb.vram=0:16M ip=off noinitrd libata.force=1.5G
Good news: The kernel boots and reports more memory :)
Bad new: It doesn't go far:
Uncompressing Linux... done, booting the kernel. Linux version 2.6.37 (charly@PC-VM-KRACH-UBUNTU-1404) (gcc version 4.3.3 (Sourcery G++ Lite 2009q1-203) ) #1 Wed Aug 13 16:20:14 CEST 2014 CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine: damian vram size = 16777216 at 0x0 ti81xx_reserve: ### Reserved DDR region @b2700000 reserved size = 16777216 at 0x0 FB: Reserving 16777216 bytes SDRAM for VRAM Memory policy: ECC disabled, Data cache writeback OMAP chip is TI8148 2.1 SRAM: Mapped pa 0x402f1000 to va 0xfe400000 size: 0xf000 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 145584 Kernel command line: console=ttyO0,115200n8 rootwait root=ubi0:ubi-rootfs rootfstype=ubifs ubi.mtd=9 ro mem=296M@0x80000000 mem=296M@0xa0000000 vram=16M ti814xfb.vram=0:16M ip=off noinitrd libata.force=1.5G PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 296MB 279MB = 575MB total Memory: 578916k/578916k available, 27292k reserved, 23552K highmem . . . OMAP Watchdog Timer Rev 0x00: initial timeout 60 sec BUG: Your driver calls ioremap() on system memory. This leads to architecturally unpredictable behaviour on ARMv6+, and ioremap() will fail in the next kernel release. Please fix your driver. ------------[ cut here ]------------ WARNING: at arch/arm/mm/ioremap.c:211 __arm_ioremap_pfn_caller+0x58/0x190() Modules linked in: Backtrace: [<c0045bd0>] (dump_backtrace+0x0/0x110) from [<c02cc8fc>] (dump_stack+0x18/0x1c) r7:00000000 r6:c004976c r5:c036757f r4:000000d3 [<c02cc8e4>] (dump_stack+0x0/0x1c) from [<c006a3f4>] (warn_slowpath_common+0x54/0x6c) [<c006a3a0>] (warn_slowpath_common+0x0/0x6c) from [<c006a430>] (warn_slowpath_null+0x24/0x2c) r9:00000000 r8:c002597c r7:c0025b0c r6:000a0000 r5:00002100 r4:00000000 [<c006a40c>] (warn_slowpath_null+0x0/0x2c) from [<c004976c>] (__arm_ioremap_pfn_caller+0x58/0x190) [<c0049714>] (__arm_ioremap_pfn_caller+0x0/0x190) from [<c0049928>] (__arm_ioremap_caller+0x64/0x6c) [<c00498c4>] (__arm_ioremap_caller+0x0/0x6c) from [<c005bdfc>] (omap_ioremap+0x60/0x64) r6:00000000 r5:00002100 r4:a0000000 [<c005bd9c>] (omap_ioremap+0x0/0x64) from [<c0025b0c>] (notify_init+0x190/0x2cc) r7:00000000 r6:c04326bc r5:00000020 r4:00000002 [<c002597c>] (notify_init+0x0/0x2cc) from [<c003742c>] (do_one_initcall+0xd0/0x1a4) r7:00000013 r6:c006d5fc r5:c00086b0 r4:c002bd48 [<c003735c>] (do_one_initcall+0x0/0x1a4) from [<c000874c>] (kernel_init+0x9c/0x154) [<c00086b0>] (kernel_init+0x0/0x154) from [<c006d5fc>] (do_exit+0x0/0x5e4) r5:c00086b0 r4:00000000 ---[ end trace eef563f49cdac562 ]--- notify_init : notify drivercreated for remote proc id 2 at physical Address 0xa0000000 . . . Loading DSP Firmware FIRMWARE: I2cInit will be done by M3 FIRMWARE: Memory map bin file not passed Usage : firmware_loader <Processor Id> <Location of Firmware> <start|stop> [-mmap <memory_map_file>] [-i2c <0|1>] ===Mandatory arguments=== <Processor Id> 0: DSP, 1: Video-M3, 2: Vpss-M3 <Location of Firmware> firmware binary file <start|stop> to start/stop the firmware ===Optional arguments=== -mmap input memory map bin file name -i2c 0: i2c init not done by M3, 1(default): i2c init done by M3 FIRMWARE: isI2cInitRequiredOnM3: 1 FIRMWARE: Default memory configuration is used Firmware Loader debugging not configured Default FL_DEBUG: warning Allowed FL_DEBUG levels: error, warning, info, debug, log MemCfg: DCMM (Dynamically Configurable Memory Map) Version : 2.1.2.1 vmap allocation for size 87162880 failed: use vmalloc=<size> to increase size. Unable to handle kernel paging request at virtual address ffffffff pgd = ef088000 [ffffffff] *pgd=afffe021, *pte=00000000, *ppte=00000000 Internal error: Oops: 817 [#1] last sysfs file: /sys/devices/virtual/syslinkipc/syslinkipc_Osal/dev Modules linked in: syslink CPU: 0 Tainted: G W (2.6.37 #1) PC is at memset+0xb8/0xc0 LR is at ElfLoaderTrgWrite_copy+0x154/0x388 [syslink] pc : [<c0164398>] lr : [<bf013134>] psr: 20000013 sp : ef085cb0 ip : 00000000 fp : ef085d1c r10: ffffffff r9 : f28ba000 r8 : f297d000 r7 : 06a85000 r6 : 0531e7d8 r5 : bf0fd9b8 r4 : ef085d48 r3 : 00000003 r2 : 00000000 r1 : 0531e7d4 r0 : ffffffff Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user Control: 10c5387d Table: af088019 DAC: 00000015 Process firmware_loader (pid: 637, stack limit = 0xef0842e8) Stack: (0xef085cb0 to 0xef086000) 5ca0: 94d00000 bf02a408 f2a5d000 00000001 5cc0: f29d2000 ffffffff 00000001 94d00000 94d00000 ef085ce0 0531e7d8 bf020000 5ce0: f2a5d000 00000001 f297d01c 94d00000 ef085d0c f29f3000 f29d2000 00000001 5d00: 0000000b f297d000 f29cf000 00000001 ef085d2c ef085d20 bf01672c bf012fec 5d20: ef085d9c ef085d30 bf015468 bf016728 ef2c0580 ef085db4 f29cf000 9a07cc4c 5d40: 0000000b f297d01c f29cf000 f29f6000 c00d0a60 ef2c0580 00000038 00000000 5d60: 00000002 00000008 f29d2000 f29d2000 00000000 f28ba000 03046000 f28b4000 5d80: becd0bf8 00000001 ef085ec0 00000001 ef085de4 ef085da0 bf012150 bf014d40 5da0: f29cc000 00000001 becd0bf8 00000000 bf034d84 f29cf000 ef085df4 f28b4000 5dc0: 00000001 becd0bf8 f29cc000 ef085ec0 f29cc000 00000000 ef085e1c ef085de8 5de0: bf002c10 bf011ee8 00000000 ef085ec0 becd0bf8 00000000 f0b98000 00000001 5e00: f28c6000 becd0bf8 00000000 ef085ec0 ef085e5c ef085e20 bf007104 bf002b30 5e20: 00000000 ef085ec0 becd0bf8 00000000 0000002c 00000000 ef2fd580 f29cc000 5e40: becd0b68 bf0fd9b8 ef084000 00000000 ef085ef4 ef085e60 bf0090a8 bf006ef0 5e60: 00000000 ef085ec0 00000000 00000000 0000003d 00000000 ef2ab780 000000f4 5e80: c00acef0 c0167c40 ef045688 ef2ab780 ef085eac ef085ea0 00000204 ef085fb0 5ea0: ef2cedc0 0485f000 f28c6000 becd0f5e 0000002c 00000001 becd0bf8 00000000 5ec0: 00000000 c0085f10 c00b7b5c c00b571c ef04585c 00000000 ef2fd580 00000008 5ee0: 00000008 becd0b68 ef085f04 ef085ef8 c00d1880 bf008538 ef085f74 ef085f08 5f00: c00d1f90 c00d1864 c03c5d0c 00000000 fffffffe 00000000 ef085f54 ef085f28 5f20: c02d0a7c c003d1c4 ffffffff ef87001c ef2cedc0 00000017 ef839340 ef084000 5f40: ef084000 400dc000 ef085f6c 00000000 becd0b68 c020e0a2 00000008 ef2fd580 5f60: ef084000 00000000 ef085fa4 ef085f78 c00d2028 c00d1a9c ef085fac 00000001 5f80: c02cd1bc 00000000 00000000 00008e20 00000036 c0041fa8 00000000 ef085fa8 5fa0: c0041e00 c00d1fdc 00000000 00000000 00000008 c020e0a2 becd0b68 00000008 5fc0: 00000000 00000000 00008e20 00000036 00000000 00000000 400dc000 becd0b44 5fe0: 00068704 becd0b1c 00040108 4027e06c 60000010 00000008 e7ff5db6 91b55d59 Backtrace: [<bf012fe0>] (ElfLoaderTrgWrite_copy+0x0/0x388 [syslink]) from [<bf01672c>] (DLIF_copy+0x10/0x1c [syslink]) [<bf01671c>] (DLIF_copy+0x0/0x1c [syslink]) from [<bf015468>] (DLOAD_load+0x734/0xa58 [syslink]) [<bf014d34>] (DLOAD_load+0x0/0xa58 [syslink]) from [<bf012150>] (ElfLoader_load+0x274/0x37c [syslink]) [<bf011edc>] (ElfLoader_load+0x0/0x37c [syslink]) from [<bf002c10>] (Loader_load+0xec/0x164 [syslink]) [<bf002b24>] (Loader_load+0x0/0x164 [syslink]) from [<bf007104>] (ProcMgr_load+0x220/0x2fc [syslink]) [<bf006ee4>] (ProcMgr_load+0x0/0x2fc [syslink]) from [<bf0090a8>] (ProcMgrDrv_ioctl+0xb7c/0x1b74 [syslink]) [<bf00852c>] (ProcMgrDrv_ioctl+0x0/0x1b74 [syslink]) from [<c00d1880>] (vfs_ioctl+0x28/0x44) r8:becd0b68 r7:00000008 r6:00000008 r5:ef2fd580 r4:00000000 [<c00d1858>] (vfs_ioctl+0x0/0x44) from [<c00d1f90>] (do_vfs_ioctl+0x500/0x540) [<c00d1a90>] (do_vfs_ioctl+0x0/0x540) from [<c00d2028>] (sys_ioctl+0x58/0x7c) [<c00d1fd0>] (sys_ioctl+0x0/0x7c) from [<c0041e00>] (ret_fast_syscall+0x0/0x30) r8:c0041fa8 r7:00000036 r6:00008e20 r5:00000000 r4:00000000 Code: ba00001d e3530002 b4c02001 d4c02001 (e4c02001) ---[ end trace eef563f49cdac564 ]---
So it seems that syslink/notify is interfering somehow. I didn't expect this, because until now nothing should have accessed memory at 0xA0000000...
What do I have to do now? The MemSegmentDefinition.xs doesn't mention anything at this address... Do we have to rebuild syslink/ezsdk? If so, which changes have to be applied?
Thanks for your help,
Markus
(Oh, and BTW: I can't find a "Preview" button, only "Post" in the new forum. Is it hidden somewhere?)