Commit Graph

128 Commits

Author SHA1 Message Date
Jordan K. Hubbard
207fe43d59 bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
1998-11-12 07:40:51 +00:00
Robert Nordier
21ffb6774a Revise error messages. 1998-11-11 08:56:17 +00:00
Robert Nordier
0293eac42c Prevent boot.config being parsed more than once. 1998-11-08 18:37:28 +00:00
Robert Nordier
7ac90f7d65 Drop the familiar 'text=xxxx data=xxxx bss=xxxx ...' display while
loading.  This eliminates noise when loading boot/loader; and when
loading a kernel, they generally flash by too fast to be
intelligible anyway.
1998-11-08 18:29:29 +00:00
Robert Nordier
9888bdcd29 boot1: Eliminate EDD detection and optional use of disk packet
interface.  Do some general consistency fixes and space optimizations.
Use of some freed-up space to defend against possible BIOS misfeatures.

boot2: Revise disk read interface to provide for boot1 changes.  Free
up space for this.
1998-11-08 15:36:35 +00:00
Robert Nordier
548bf5dd17 Make use of BIOS int 0x13 extensions configurable, and disabled
by default.
1998-11-05 20:52:25 +00:00
Mike Smith
95bd40d634 Turn off -g accidentally left in from testing. 1998-11-04 03:42:36 +00:00
Jordan K. Hubbard
12b2c0d82e Respect ${.OBJDIR} properly when looking for libficl.a 1998-11-04 02:36:18 +00:00
Mike Smith
48fe834fda Add required parts for BootForth building (currently disabled and
untested).  Only suitable for i386 at the moment, as we are missing
setjmp/longjmp on the Alpha.
1998-11-04 00:30:47 +00:00
Mike Smith
af1f6e0673 Implement a simple LRU block cache. By default this is initialised to 16k,
and will bypass transfers for more than 8k.  Blocks are invalidated after
2 seconds, so removable media should not confuse the cache.

The 8k threshold is a compromise; all UFS transfers performed by
libstand are 8k or less, so large file reads thrash the cache.
However many filesystem metadata operations are also performed using
8k blocks, so using a lower threshold gives poor performance.

Those of you with an eye for cache algorithms are welcome to tell me
how badly this one sucks; you can start with the 'bcachestats' command
which will print the contents of the cache and access statistics.
1998-11-02 23:28:11 +00:00
Robert Nordier
3d04f230e5 Revise a few comments. 1998-11-02 17:53:08 +00:00
Robert Nordier
3b1bd5ae35 Ignore, rather than emulate, an i386 'hlt' instruction (though for
most practical purposes, this should be indistinguishable from a
more strictly correct approach).

Feedback and testing: msmith
1998-11-01 13:52:52 +00:00
Mike Smith
dc8be6a8f5 - Add a new command 'lsdev' to list devices which might be likely to host
filesystems.
 - New 'help' command and data in the help.* files (not yet installed),
   provides topic and subtopic help, indexes, etc.
 - Don't crash if the user tries to set an invalid console.  Be helpful
   instead.
 - Expand tabs (badly) on the i386 video console.
 - Some minor cosmetic changes.
1998-10-31 02:53:12 +00:00
Luoqi Chen
36159e3d1e Fix an uninitialized variable in the `dangerously dedicated disk' case. 1998-10-30 07:15:52 +00:00
Mike Smith
4c1a7a5a8f Make the BTX loader much more quiet about what it's doing. This removes
most of the "what the (*^&%(*^ was that?" stuff that normally flies by.
1998-10-30 00:11:35 +00:00
Mike Smith
8879e57b3e Simplify the "is a character ready" test, so that we don't return a false
negative for keypresses with zero ascii values.  This is in line with the
comconsole test, rather than being more ambitious.

Submitted by:	rnordier
1998-10-28 19:24:15 +00:00
Robert Nordier
9244e1a412 Avoid interruptions while talking to keyboard controller. 1998-10-27 20:19:24 +00:00
Robert Nordier
c589107988 biosboot compatibility fix: change behavior of backspace in getstr().
Noticed by: abial

Optimize away a few bytes to make space for the above.
1998-10-27 20:16:36 +00:00
Mike Smith
0cae710c49 Clean the ${BASE}.sym file as well. 1998-10-23 22:32:27 +00:00
Mike Smith
4558ccdf6f Remove a debugging copy of offsetof() that snuck in. 1998-10-23 22:30:52 +00:00
Mike Smith
c93cd32637 Enable the PCI BIOS PnP enumerator. 1998-10-23 22:29:19 +00:00
Mike Smith
a1c0b1c5c5 PnP enumerator using the PCI BIOS. This is needlessly complex due to the
lack of a simple "enumerate all PCI devices" function.
1998-10-23 22:29:08 +00:00
Mike Smith
8d35fb65a0 PnP BIOS enumerator; mostly useful for hunting PnP devices that are supported
by the system BIOS rather than supporting ISA PnP.
1998-10-22 20:25:06 +00:00
Mike Smith
051837da04 Add a dependancy on the BTX crt0 object
Add the biospnp handler to the pnp handler array
Drop some old debugging code
1998-10-22 20:23:58 +00:00
Mike Smith
13aedae3d7 Add biospnp.c 1998-10-22 20:23:15 +00:00
Mike Smith
f41c619d3d Pop the return address off the stack before making a V86_CALLF call;
this allows us to implement what look like C function calls from user
space "directly" to v86 mode code.  (Used for calling the PnP BIOS)
1998-10-22 20:22:07 +00:00
Mike Smith
b259863db2 Bye-bye setdefs. 1998-10-21 20:11:03 +00:00
Mike Smith
d8ef941c2f - Enable PnP and ISA PnP code.
- Use the ISA PnP enumerator.
 - Use the new linker set code, throw out the gensetdefs stuff.
 - Produce an intermediate loader image that has symbols stripped, to aid
 - in debugging.
 - Supply ISA port access functions required for ISA PnP
1998-10-21 20:10:33 +00:00
Mike Smith
c90625d230 Don't depend on being part of the kernel tree. If we are, use the kernel's
<machine> includes rather than the system's.
1998-10-21 20:07:57 +00:00
Robert Nordier
1a8efde980 Make serial port, data format, and bps configurable. 1998-10-20 20:20:48 +00:00
Robert Nordier
4e108bf052 Make configurable (a) whether to use int 0x13 extensions; (b) timeout
value.  Ignore failure to update mbr sector.  Disable interrupts while
using extended registers.  Default to F1 not F2.
1998-10-19 19:13:53 +00:00
Robert Nordier
f59f5db544 Set BINMODE to 444. 1998-10-17 14:20:25 +00:00
Robert Nordier
ae99ddc79e Fix some glitches in the input routine:
Don't display a \b if not acting on it.
Don't process binary zero chars (which result from pressing function
keys, etc. on the PC).
1998-10-17 11:25:05 +00:00
Robert Nordier
918ddbed16 Having probed the keyboard, turn off the -P flag. 1998-10-17 10:35:15 +00:00
Robert Nordier
93d51dcaf9 Treat all options as toggles (ie. -c -c is the same no -c). Since
the boot.config settings are persistent, this seems to provide a
useful override capability, and should break only on broken
boot.config's.

Output a cosmetic newline if booting with no input.
1998-10-17 09:50:09 +00:00
Robert Nordier
3044a22097 biosboot compatibility fix:
If we have a boot.config command, display it.
1998-10-17 09:16:01 +00:00
Robert Nordier
7fa25d805a biosboot compatibility fix:
Read boot.help before parsing boot.config.  We were parsing
boot.config first, which could result in boot.help being read
from a different location (or not found), which would probably
just cause surprise, without being useful.
1998-10-17 09:01:13 +00:00
Robert Nordier
67ac585edf Fix path to sio.s 1998-10-15 22:08:13 +00:00
Robert Nordier
da55c91100 Add serial, dual, and probe-keyboard support. 1998-10-15 20:04:21 +00:00
Peter Wemm
f03d6f87b3 Get the last used address via a more conservative method, don't depend
on the module chain being in increasing address order.
1998-10-15 17:06:36 +00:00
Robert Nordier
898adc1c96 Activate boot2. 1998-10-14 20:40:56 +00:00
Peter Wemm
eb9022e791 Try and get the sys/* and machine/* includes via relative paths. This
saves having to do a 'make includes' after touching any header file for
the boot code.
1998-10-14 07:08:16 +00:00
Peter Wemm
2a26e9ea83 Align to sizeof(long) rather than sizeof(int32_t). It needs to be
long because this code is shared with the alpha.  I hope the alpha can
read 32 bit ints at 32 bit alignment (vs. 64 bit alignment).
1998-10-14 05:07:23 +00:00
Robert Nordier
ee2e4f9b32 Fix btx include path. 1998-10-14 01:53:56 +00:00
Robert Nordier
59ea046e5d Include <bsd.prog.mk>. Add install target (to /boot for now). 1998-10-14 00:24:16 +00:00
Robert Nordier
757ee5cca9 Fix flow of control after directory listing; enable EDD support;
cosmetics.
1998-10-13 23:43:38 +00:00
Robert Nordier
b2848194f5 Make v86.ctl default more explicit; simplify read error-handling;
twiddle.
1998-10-13 23:00:47 +00:00
Robert Nordier
c71b9b3c24 Adjust NDEV value.
Optimize reading of system time.
1998-10-13 22:17:05 +00:00
Robert Nordier
fd4afc6487 Change to a 15-sector boot2.
Refine slice-handling.
1998-10-13 21:35:42 +00:00
Robert Nordier
8f65b6a695 Don't use an absolute path to objcopy.
Noticed by: Scott Mace <smace@intt.org>
1998-10-13 18:29:18 +00:00