From: Tim R. <tim...@us...> - 2002-04-27 08:33:56
|
Update of /cvsroot/blob/blob/src/blob In directory usw-pr-cvs1:/tmp/cvs-serv16681/src/blob Modified Files: idr.c main.c shannon.c Log Message: set boot_delay in platform source, allow 0 value Index: idr.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/idr.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- idr.c 13 Feb 2002 00:08:54 -0000 1.9 +++ idr.c 27 Apr 2002 08:10:31 -0000 1.10 @@ -25,6 +25,7 @@ # include <blob/config.h> #endif +#include <blob/main.h> #include <blob/flash.h> #include <blob/init.h> #include <blob/serial.h> @@ -120,6 +121,9 @@ { /* select serial driver */ serial_driver = &sa11x0_serial_driver; + + /* tweak blob config */ + blob_status.boot_delay = 1; } __initlist(idr_init_hardware, INIT_LEVEL_DRIVER_SELECTION); Index: main.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/main.c,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- main.c 19 Apr 2002 20:00:46 -0000 1.43 +++ main.c 27 Apr 2002 08:10:31 -0000 1.44 @@ -45,7 +45,6 @@ #include <blob/flash.h> #include <blob/init.h> #include <blob/led.h> -#include <blob/load_kernel.h> #include <blob/main.h> #include <blob/md5.h> #include <blob/md5support.h> @@ -86,14 +85,9 @@ blob_status.terminalSpeed = TERMINAL_SPEED; blob_status.load_ramdisk = LOAD_RAMDISK; blob_status.cmdline[0] = '\0'; -#if defined(IDR) || defined(SHANNON) - /* This should be configurable in the arch header */ - blob_status.boot_delay = 1; -#else blob_status.boot_delay = 10; -#endif - /* call subsystems */ + /* call subsystems (blob_status.* may change) */ init_subsystems(); /* call serial_init() because the default 9k6 speed might not @@ -139,21 +133,26 @@ if(blob_status.load_ramdisk) do_reload("ramdisk"); - if (blob_status.boot_delay > 0) { + if (blob_status.boot_delay > -1) { int i; int retval = 0; - /* wait 10 seconds before starting autoboot */ + /* wait boot_delay seconds before starting autoboot */ printf("Autoboot (%i seconds) in progress, press any key to stop ", blob_status.boot_delay); - for(i = 0; i < blob_status.boot_delay; i++) { - serial_write('.'); - retval = SerialInputBlock(commandline, 1, 1); + if (blob_status.boot_delay == 0) { + retval = SerialInputBlock(commandline, 1, 0); + } else { + for(i = 0; i < blob_status.boot_delay; i++) { + serial_write('.'); - if(retval > 0) - break; + retval = SerialInputBlock(commandline, 1, 1); + + if(retval > 0) + break; + } } /* no key was pressed, so proceed booting the kernel */ Index: shannon.c =================================================================== RCS file: /cvsroot/blob/blob/src/blob/shannon.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- shannon.c 26 Feb 2002 17:19:56 -0000 1.9 +++ shannon.c 27 Apr 2002 08:10:31 -0000 1.10 @@ -25,6 +25,7 @@ # include <blob/config.h> #endif +#include <blob/main.h> #include <blob/flash.h> #include <blob/init.h> #include <blob/serial.h> @@ -67,6 +68,9 @@ { /* select serial driver */ serial_driver = &sa11x0_serial_driver; + + /* tweak blob config */ + blob_status.boot_delay = 0; } __initlist(shannon_init_hardware, INIT_LEVEL_DRIVER_SELECTION); |