[U-Boot] ctrl-c detection (on 4xx platforms)
Matthias Fuchs
matthias.fuchs at esd-electronics.com
Thu Sep 11 17:23:53 CEST 2008
Hi,
I noticed some strange CTRL-C behavior in a BSP command.
When I run my bsp command interactively everything is fine.
The command waits for a condition and displays a rotating cursor
(see board/esd/common/cmd_loadpci.c):
...
int do_loadpci(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
{
...
char str[] = "\\|/-";
...
while(1) {
...
*ptr = 0xffffffff;
puts("\nWaiting for action from pci host -");
/*
* Wait for host to write the start address
*/
while (*ptr == 0xffffffff) {
count++;
if (!(count % 100)) {
count2++;
putc(0x08); /* backspace */
putc(str[count2 % 4]);
}
/* Abort if ctrl-c was pressed */
if (ctrlc()) {
puts("\nAbort\n");
return 0;
}
udelay(1000);
}
}
...
}
But when I call this bsp command as bootcmd CTRL-C does not stop the while loop. So CTRL-C
is not detected. Any idea?
Matthias
More information about the U-Boot
mailing list