mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-09 12:13:00 -04:00
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: Andreas Huber <andreas.huber@keymile.com> Signed-off-by: Holger Brunck <holger.brunck@keymile.com> cc: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
0eb0e59ed3
commit
2a7714ce64
@ -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
|
|||||||
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
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
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 @@
|
|||||||
"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 \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user