[U-Boot] qemu_mips - CONFIG_SYS_MONITOR_LEN is too small

Daniel Schwierzeck daniel.schwierzeck at gmail.com
Tue Apr 11 21:50:41 UTC 2017



Am 09.04.2017 um 20:19 schrieb Kyle Edwards:
> Hi all,
> 
> I recently tried to use u-boot on the qemu_mips platform, and running
> the saveenv command causes u-boot to not boot after a reset. I followed
> these steps:
> 
> $ git clone git://git.denx.de/u-boot.git
> $ cd u-boot
> $ git checkout v2017.05-rc1
> $ export CROSS_COMPILE=mips-linux-gnu-
> $ make qemu_mips_defconfig
> $ make
> $ dd if=/dev/zero of=../flash.bin bs=1k count=4k
> $ dd if=u-boot.bin of=../flash.bin bs=1k conv=notrunc
> $ qemu-system-mips -nographic -M mips -pflash ../flash.bin
> 
> At this point I stopped autoboot, ran "saveenv" inside U-Boot, and reset
> qemu. After reset, U-Boot did not print any messages, and is stuck.
> 
> I tracked this down to an invalid CONFIG_SYS_MONITOR_LEN. It's currently
> configured for 196608 (192 << 10), but running "ls -l u-boot.bin" shows
> a size of 232296. When the environment is being saved, it overwrites
> part of the U-Boot code.

good catch, but your description is a little bit misleading. CONFIG_SYS_MONITOR_LEN 
is not used any more on MIPS. The main problem is the wrong env offset which is 
currently derived from CONFIG_SYS_MONITOR_LEN:

#define CONFIG_ENV_ADDR		(CONFIG_SYS_FLASH_BASE + CONFIG_SYS_MONITOR_LEN)

> 
> I am willing to write a patch for this bug, but I thought I would report
> it here first.
> 

please do. Patches are always preferred to bug reports because we only have a
patch-tracking system. Thus bug reports likely go missing whereas patches get picked
up by a maintainer eventually.

-- 
- Daniel

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170411/806e202b/attachment.sig>


More information about the U-Boot mailing list