Skip to content
Snippets Groups Projects
Commit 2a7714ce authored by Andreas Huber's avatar Andreas Huber Committed by Wolfgang Denk
Browse files

km/common: fix ramfs development target


Calucations of PRAM needs to take into account the 'rootfssize'.
Memory available to the linux kernel 'mem=' is in all cases set to the total
memory size minus the pram size.

Signed-off-by: default avatarAndreas Huber <andreas.huber@keymile.com>
Signed-off-by: default avatarHolger Brunck <holger.brunck@keymile.com>
cc: Wolfgang Denk <wd@denx.de>
parent 0eb0e59e
No related branches found
No related tags found
No related merge requests found
...@@ -64,20 +64,32 @@ int set_km_env(void) ...@@ -64,20 +64,32 @@ int set_km_env(void)
unsigned int pnvramaddr; unsigned int pnvramaddr;
unsigned int pram; unsigned int pram;
unsigned int varaddr; unsigned int varaddr;
unsigned int kernelmem;
char *p;
unsigned long rootfssize = 0;
pnvramaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM pnvramaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM
- CONFIG_KM_PNVRAM; - CONFIG_KM_PNVRAM;
sprintf((char *)buf, "0x%x", pnvramaddr); sprintf((char *)buf, "0x%x", pnvramaddr);
setenv("pnvramaddr", (char *)buf); setenv("pnvramaddr", (char *)buf);
pram = (CONFIG_KM_RESERVED_PRAM + CONFIG_KM_PHRAM + CONFIG_KM_PNVRAM) / /* try to read rootfssize (ram image) from envrionment */
0x400; p = getenv("rootfssize");
if (p != NULL)
strict_strtoul(p, 16, &rootfssize);
pram = (rootfssize + CONFIG_KM_RESERVED_PRAM + CONFIG_KM_PHRAM +
CONFIG_KM_PNVRAM) / 0x400;
sprintf((char *)buf, "0x%x", pram); sprintf((char *)buf, "0x%x", pram);
setenv("pram", (char *)buf); setenv("pram", (char *)buf);
varaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM; varaddr = gd->ram_size - CONFIG_KM_RESERVED_PRAM - CONFIG_KM_PHRAM;
sprintf((char *)buf, "0x%x", varaddr); sprintf((char *)buf, "0x%x", varaddr);
setenv("varaddr", (char *)buf); setenv("varaddr", (char *)buf);
kernelmem = gd->ram_size - 0x400 * pram;
sprintf((char *)buf, "0x%x", kernelmem);
setenv("kernelmem", (char *)buf);
return 0; return 0;
} }
......
...@@ -4,3 +4,4 @@ configure=km_setboardid && saveenv && reset ...@@ -4,3 +4,4 @@ configure=km_setboardid && saveenv && reset
subbootcmds=tftpfdt tftpkernel nfsargs add_default boot subbootcmds=tftpfdt tftpkernel nfsargs add_default boot
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:/opt/eldk/${arch} nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:/opt/eldk/${arch}
tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage
rootfssize=0
addramfs=setenv bootargs "${bootargs} mem=${rootfsaddr} phram.phram=rootfs${boot_bank},${rootfsaddr},${rootfssize}" addramfs=setenv bootargs "${bootargs} phram.phram=rootfs${boot_bank},${rootfsaddr},${rootfssize}"
actual_bank=-1 actual_bank=-1
altbootcmd=run ${subbootcmds} altbootcmd=run ${subbootcmds}
bootcmd=run ${subbootcmds} bootcmd=run ${subbootcmds}
subbootcmds=tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs add_default addpanic addramfs boot subbootcmds=tftpfdt tftpkernel setrootfsaddr tftpramfs flashargs add_default addpanic addramfs boot
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath} nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=${serverip}:${rootpath}
configure=km_setboardid && run setramfspram && saveenv && reset configure=km_setboardid && saveenv && reset
setramfspram=setexpr value 0 + ${rootfssize} && setexpr value 0x${value} / 0x400 && setexpr value 0x${value} + ${pram} && setenv pram 0x${value}
rootfsfile=${hostname}/rootfsImage rootfsfile=${hostname}/rootfsImage
setrootfsaddr=setexpr value ${pnvramaddr} - ${rootfssize} && setenv rootfsaddr 0x${value} setrootfsaddr=setexpr value ${pnvramaddr} - ${rootfssize} && setenv rootfsaddr 0x${value}
tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage tftpkernel=tftpboot ${load_addr_r} ${hostname}/uImage
......
...@@ -170,7 +170,7 @@ ...@@ -170,7 +170,7 @@
"ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \ "ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}" \
":${hostname}:${netdev}:off3" \ ":${hostname}:${netdev}:off3" \
" console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}" \ " console=" CONFIG_KM_CONSOLE_TTY ",${baudrate}" \
" mem=${pnvramaddr} init=${init}" \ " mem=${kernelmem} init=${init}" \
" phram.phram=phvar,${varaddr}," xstr(CONFIG_KM_PHRAM) \ " phram.phram=phvar,${varaddr}," xstr(CONFIG_KM_PHRAM) \
" ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \ " ubi.mtd=" CONFIG_KM_UBI_LINUX_MTD_NAME " " \
CONFIG_KM_DEF_BOOT_ARGS_CPU \ CONFIG_KM_DEF_BOOT_ARGS_CPU \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment