summaryrefslogtreecommitdiffstats
path: root/sys/i386/boot/biosboot/io.c
diff options
context:
space:
mode:
authorroot <root@FreeBSD.org>1993-07-13 18:15:32 +0000
committerroot <root@FreeBSD.org>1993-07-13 18:15:32 +0000
commitae749d9344aaf2ad0739bf08ae8a0f0938de5082 (patch)
tree51306832be63742b44caad84a09067fb8b357a3a /sys/i386/boot/biosboot/io.c
parent2cc7800d8398861914434a53bcf57a236c95e859 (diff)
downloadFreeBSD-src-ae749d9344aaf2ad0739bf08ae8a0f0938de5082.zip
FreeBSD-src-ae749d9344aaf2ad0739bf08ae8a0f0938de5082.tar.gz
New boot blocks, from Bruce Evans, and NetBSD fixes. Allows kernel to
be loaded above 1MB. Same boot code for floppies now. Speed improvements. etc etc etc. (I don't have much history on this, but then have been tested)
Diffstat (limited to 'sys/i386/boot/biosboot/io.c')
-rw-r--r--sys/i386/boot/biosboot/io.c38
1 files changed, 37 insertions, 1 deletions
diff --git a/sys/i386/boot/biosboot/io.c b/sys/i386/boot/biosboot/io.c
index 237b21c..5327f88 100644
--- a/sys/i386/boot/biosboot/io.c
+++ b/sys/i386/boot/biosboot/io.c
@@ -28,7 +28,19 @@
/*
* HISTORY
- * $Log: io.c,v $
+ * $Log: io.c,v $
+ * Revision 1.3 1993/07/11 12:02:24 andrew
+ * Fixes from bde, including support for loading @ any MB boundary (e.g. a
+ * kernel linked for 0xfe100000 will load at the 1MB mark) and read-ahead
+ * buffering to speed booting from floppies. Also works with aha174x
+ * controllers in enhanced mode.
+ *
+ * Revision 1.2 1993/06/18 02:28:59 cgd
+ * make it *do* something when loading the kernel, a la sun twiddling-thing
+ *
+ * Revision 1.1 1993/03/21 18:08:38 cgd
+ * after 0.2.2 "stable" patches applied
+ *
* Revision 2.2 92/04/04 11:35:57 rpd
* Fixed for IBM L40's A20 initialization.
* [92/03/30 rvb]
@@ -82,6 +94,8 @@ printf(format,data)
{
int *dataptr = &data;
char c;
+
+ reset_twiddle();
while (c = *format++)
if (c != '%')
putchar(c);
@@ -187,3 +201,25 @@ int len;
while (len-- > 0)
*to++ = *from++;
}
+
+static int tw_on;
+static int tw_pos;
+static char tw_chars[] = "|/-\\";
+
+reset_twiddle()
+{
+ if (tw_on)
+ putchar('\b');
+ tw_on = 0;
+ tw_pos = 0;
+}
+
+twiddle()
+{
+ if (tw_on)
+ putchar('\b');
+ else
+ tw_on = 1;
+ putchar(tw_chars[tw_pos++]);
+ tw_pos %= (sizeof(tw_chars) - 1);
+}
OpenPOWER on IntegriCloud