
On Thu, 2008-05-29 at 15:41 -0400, Hugo Villeneuve wrote:
u-boot-users-bounces@lists.sourceforge.net wrote:
Hi, I have observed that after this commit, the command history is no longer working:
commit 597f6c26a18b389903a64692bacbf9a1ca69355b Author: James Yang James.Yang@freescale.com Date: Mon May 5 10:22:53 2008 -0500
Fix readline_into_buffer() with CONFIG_CMDLINE_EDITING before
relocating
When CONFIG_CMDLINE_EDITING is enabled, readline_into_buffer()
doesn't work before relocating to RAM because command history is written into a global array that is not writable before relocation. This patch defers to the no-editing and no-history code in readline_into_buffer() if it is called before relocation.
Based on the comments, I dont understand why it ceases to work because, in my case, U-Boot runs entirely from RAM (it is copied from flash to RAM by a first stage bootloader).
I have CONFIG_CMDLINE_EDITING defined.
Well after reading through the code in common/main.c, I figured that by setting GD_FLG_RELOC in my board init function:
gd->flags |= GD_FLG_RELOC;
command history would be working again, and it did.
But is it the right thing to do?
Yes.
I noticed that not a lot of platforms/boards set GD_FLG_RELOC so command history will probably cease to work for these boards also?
Most boards do the relocation and then it gets set by the common board_init_r() function.