summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot/biosboot/boot.c
diff options
context:
space:
mode:
authorjoerg <joerg@FreeBSD.org>1995-06-25 14:02:57 +0000
committerjoerg <joerg@FreeBSD.org>1995-06-25 14:02:57 +0000
commitc54e2295b7f2db09802e0bc1874072840e4d75f7 (patch)
tree11d2af9626479eeb2779d418af536370d62162a8 /sys/i386/boot/biosboot/boot.c
parentadeb3e01da6a734bd8cba36acb8160a633948c35 (diff)
downloadFreeBSD-src-c54e2295b7f2db09802e0bc1874072840e4d75f7.zip
FreeBSD-src-c54e2295b7f2db09802e0bc1874072840e4d75f7.tar.gz
Reset defaults in case of boot() is looping several times (e.g. the
user has entered a bogus kernel name in the first place). Also fix the broken #ifdef FORCE_COMCONSOLE, it has been disabled by accident. (NB: the keyboard probe remains disabled however.) Few cosmetic fixes (declare functions to be void instead of int), while i've been at this. Pointed out by: wosch@cs.tu-berlin.de (Wolfram Schneider), for the init bug
Diffstat (limited to 'sys/i386/boot/biosboot/boot.c')
-rw-r--r--sys/i386/boot/biosboot/boot.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/i386/boot/biosboot/boot.c b/sys/i386/boot/biosboot/boot.c
index 723a829..c4e7b85 100644
--- a/sys/i386/boot/biosboot/boot.c
+++ b/sys/i386/boot/biosboot/boot.c
@@ -24,7 +24,7 @@
* the rights to redistribute these changes.
*
* from: Mach, [92/04/03 16:51:14 rvb]
- * $Id: boot.c,v 1.43.2.1 1995/05/31 21:42:38 jkh Exp $
+ * $Id: boot.c,v 1.44 1995/06/11 19:31:10 rgrimes Exp $
*/
@@ -74,21 +74,20 @@ void
boot(int drive)
{
int ret;
- char *t;
-#if 0
#ifndef FORCE_COMCONSOLE
+#ifdef notyet
if (probe_keyboard()) {
init_serial();
loadflags |= RB_SERIAL;
printf("\nNo keyboard found.");
}
-#else
+#endif /* notyet */
+#else /* FORCE_COMCONSOLE */
init_serial();
loadflags |= RB_SERIAL;
printf("\nSerial console forced.");
-#endif
-#endif
+#endif /* FORCE_COMCONSOLE */
/* Pick up the story from the Bios on geometry of disks */
@@ -125,6 +124,8 @@ loadstart:
ouraddr, bootinfo.bi_basemem, bootinfo.bi_extmem,
devs[maj], unit, name);
+ name = dflname; /* re-initialize in case of loop */
+ loadflags &= RB_SERIAL; /* clear all, but leave serial console */
getbootdev(namebuf, &loadflags);
ret = openrd();
if (ret != 0) {
OpenPOWER on IntegriCloud