
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