因uboot不常改,所以需要在内核代码中修改启动参数,经调试后发现修改如下:

\linux-3.14.43\arch\arm\kernel\setup.c
void __init setup_arch(char **cmdline_p)
{
const struct machine_desc *mdesc;
int i;

setup_processor();


init_mm.end_data = (unsigned long) _edata;
init_mm.brk = (unsigned long) _end;

/* Added by Lizhu for error from NSS Firmware initialized as below:
ERROR: 2048 KiB atomic DMA coherent pool is too small!
*/
**strcat(boot_command_line, "coherent_pool=4M mem=476M@0x40000000 mem=32M@0x5E000000")**;
/* populate cmd_line too for later use, preserving boot_command_line */
strlcpy(cmd_line, boot_command_line, COMMAND_LINE_SIZE);

for ( i = 0; i < COMMAND_LINE_SIZE - 8; i++ ) {

}

增加的参数coherent_pool=4M mem=476M@0x40000000 mem=32M@0x5E000000的配置

更多推荐

内核中修改linux内核启动参数