Mike Smith
c2e3e002f6
Disable build/install of boot.help until we sort out how to construct it
...
in the makeworld environment.
1998-12-16 02:27:15 +00:00
Mike Smith
8719fada36
Reformat help to improve subtopic display appearance, other minor
...
cleaning. The 'help' command in the loader should now be usable and
hopefully informative.
1998-12-15 14:32:17 +00:00
Mike Smith
aa203600d5
Build the composite help file from the generic and architecture-specific
...
help files, sorting topics and subtopics to allow maximum flexibility.
1998-12-15 14:21:30 +00:00
Andrey A. Chernov
722135c358
unlocalize date
...
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
1998-12-07 16:17:41 +00:00
Robert Nordier
b956ca7ca4
Revise some comments and labels.
1998-12-05 11:58:33 +00:00
Robert Nordier
12c38b04f1
Drop EDD support detection, though retain configurable use of disk
...
packet interface. Add booteasy-style F5 support. Add no-update
option. Implement various space optimizations and consistency fixes.
1998-11-29 14:09:00 +00:00
Robert Nordier
5103ed619b
Drop use of BIOS int 0x14 services in favor of direct port I/O.
...
Feedback and testing: Adrian Filipi-Martin <adrian@ubergeeks.com>
1998-11-22 07:59:16 +00:00
Mike Smith
8f0a6b5b8c
Add a new variable $num_ide_disks which is used to offset the unit number
...
for SCSI disks when converting from BIOS unit numbers to da unit numbers.
Prompted by Kevin Street <street@iname.com>
1998-11-13 23:40:02 +00:00
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
Robert Nordier
0ad50c1c9d
Improve drive recognition and handling.
1998-10-13 17:41:06 +00:00
Robert Nordier
4d8eda2252
New boot blocks: support for /boot/loader; a.out & ELF; cyl > 1023;
...
multiple 0xa5 slices; etc.
1998-10-12 21:16:26 +00:00
Robert Nordier
dfce019974
Drop .MAKEFLAGS: hack.
1998-10-12 02:05:44 +00:00
Robert Nordier
7870a52598
Do without head and tail: they're pretty unnecessary here anyway.
1998-10-12 01:44:15 +00:00
Robert Nordier
36e85d353d
Use rather than for linking. This allows the new rather
...
than stale version of libstand.a to be found.
After this change, the new boot code is apparently building correctly
in a make world.
1998-10-12 01:03:00 +00:00
Robert Nordier
1339399694
Override for ELF.
1998-10-11 12:59:40 +00:00
Robert Nordier
10806461a7
Override for ELF. Override .s.o suffix rule.
1998-10-11 11:27:48 +00:00
Peter Wemm
7532a55a62
Fix a warning that's been bugging me for ages.
1998-10-11 10:29:49 +00:00
Peter Wemm
7d9cbdec8f
Only call vidc_init() once (unless forced).
...
Cosmetic change to the init-time character eater (like, make it increment
the index counter - if there's a problem, it would sit there in an infinite
loop instead of only running 10 times).
1998-10-11 10:07:52 +00:00
Peter Wemm
a1c1935fa8
Fix comconsole mode. The int 0x14 read and status commands were reversed.
...
Also, make sure we set %dx each time around otherwise the commands
suddenly start trying to work on things like com92 instead of com1.
Make sure comc_init() is only run once.
Cosmetic change to init-time character eater.
1998-10-11 10:05:13 +00:00
Peter Wemm
1206a4f594
Warn that one of the DEBUG statements has a v86 recursion bug.
1998-10-11 10:01:55 +00:00
Peter Wemm
00fe329527
Fix comment to match code
1998-10-11 09:53:30 +00:00
Robert Nordier
0def18d819
Fix a typo.
...
Output another newline before invoking bootstrap.
1998-10-10 14:03:03 +00:00
Robert Nordier
91284f875f
Turn off the new /sys/boot stuff (except boot0) unless OBJFORMAT
...
is elf. (The BTX client must be ELF, though it is packaged as a.out
for compatibility.)
1998-10-09 23:30:16 +00:00
Peter Wemm
7deb2dabef
Attempt to at least align MODINFO_* blocks. IMHO, decoding this stuff
...
should be MD code since one day we'll have to recover pages from deleted
preload data. MI code can't be expected to know how to deal with pmap
internals, assuming it gets done via pmap that is. :-)
1998-10-09 23:24:55 +00:00
Peter Wemm
1d59e49683
Turn symbol table info passing back on, although it's probably not
...
particularly useful in this form. KLD can deal with it much better.
setenv kernelname moved earlier.
1998-10-09 23:22:30 +00:00
Peter Wemm
f62f10b275
Remove kernelname setenv, the common code does it.
...
Use the metadata for symtab pointers, mainly to keep it common with
elf_freebsd.c.
1998-10-09 23:20:47 +00:00
Robert Nordier
4025ae9d2a
Get this building as a.out or ELF.
...
With thanks to: jdp
1998-10-09 17:19:51 +00:00
Mike Smith
cab57be9ae
Remove some debugging code.
...
Do a much better job of DWIM with partial device specifications.
Fix the module metadata build process, which was completely broken.
Use a larger read buffer when copying large objects in; this
improves performance marginally and will avoid flushning any small caches
we might choose to implement.
1998-10-09 07:11:19 +00:00
Peter Wemm
e3de88f4ff
Fix that pesky boot aguments parsing bug. (I think :-)
1998-10-07 10:55:46 +00:00
Mike Smith
ee4f7b62a0
Request the flags back when checking for keyboard status.
...
Submitted by: rnordier
1998-10-07 07:34:31 +00:00
Mike Smith
0bab8c3243
Enable the DOS filesystem. NOTE: you will have to rebuild libstand in
...
order to be able to build again.
1998-10-07 02:39:32 +00:00
Mike Smith
0f7d15efd8
- Drain the keyboard buffer when initialising.
...
- Be pedantic about the return from int 16 fn 01.
1998-10-07 02:39:06 +00:00
Mike Smith
afcd516b82
bootinfo.c
...
Strip any device name information from the kernel name
before passing it in.
biosdisk.c
Be more strict about matching device names to slice entries.
Only allow unsliced syntax on unsliced disks.
1998-10-06 07:27:05 +00:00
Robert Nordier
b7b32c2745
Fix for "get base memory" bug found and mostly fixed by Mike.
1998-10-06 07:15:35 +00:00
Mike Smith
024e2ede72
The BIOS memory size is only a word. Some BIOSsen have garbage in the other
...
16 bits we were reading here, causing loss of arguments.
1998-10-06 06:13:36 +00:00
Mike Smith
58d4e8e80f
Build boot0 as well.
1998-10-06 06:12:55 +00:00
Robert Nordier
09c7ea1cc8
Install in /boot.
1998-10-05 19:20:36 +00:00
Robert Nordier
264ba5c0fe
boot0 is a booteasy (boot manager) workalike with EDD support.
1998-10-05 10:08:37 +00:00
Robert Nordier
731a4a01db
Adjust setting of argument pointer for BTX 0.87.
1998-10-04 21:15:45 +00:00
Robert Nordier
18577050a0
Allocate space for storing of arguments at the end of conventional
...
memory.
1998-10-04 21:14:33 +00:00
Mike Smith
5f8edb2c4d
Don't include ELF symbol information yet - it causes the ELF DDB to
...
explode.
1998-10-04 20:58:46 +00:00
Mike Smith
7546830370
Improve the handling of the initial bootdev value from the previous loader.
...
Remove some unused code.
1998-10-04 09:12:54 +00:00
Mike Smith
58b7e8766e
biosdisk.c
...
Allocate space for, and copy, NDOSPART slice entries from the
MBR, not just one. Add some extra debugging while we're at it.
elf_freebsd.c
Initialise the symbol table start/end pointers in case we don't
have them.
1998-10-04 09:12:15 +00:00
Robert Nordier
a2a87ebc0b
Missing newline in heap command display.
...
Noticed by: jkh
1998-10-03 18:27:50 +00:00
Robert Nordier
3948b979ba
For system calls, reboot without prompting; for exceptions, display
...
message and await reset.
1998-10-03 18:05:12 +00:00
Robert Nordier
9cd66506dd
Map all BTX system pages readable at ring 3.
...
This resolves the firmware problem first raised in connection
with PR 8105, although unrelated.
1998-10-03 14:33:06 +00:00
Robert Nordier
0860fb8f8c
bootinfo bi_vesa no longer exists.
1998-10-03 14:13:30 +00:00
Mike Smith
bf72f68088
Consolidate the bootinfo-loading code, greatly simplifying the _exec
...
functions.
1998-10-02 20:53:17 +00:00
Mike Smith
9d38269bae
Fix an egregious precedence bug.
1998-10-02 20:52:26 +00:00
Mike Smith
41e43bf627
Set $currdev according to our best guess at the BIOS device that the previous
...
bootstrap loaded us from.
1998-10-02 16:33:43 +00:00
Mike Smith
6b15efd961
aout_freebsd.c
...
Use bd_getdev() to work out a dev_t for the root device.
Allow $rootdev to override $currdev as the root device.
biosdisk.c
Save the slice table and disklabel when opening a disk.
Add bd_getdev(), which attempts to return a dev_t corresponding
to a given device. Cases which it still doesn't get right:
- The inevitable da-when-wd-also-exists
- Disks with no slice table (the slice number is not set correctly)
The first is difficult to get right, the second will be
fixed in an upcoming commit.
comconsole.c
vidconsole.c
getchar() should return an 8-bit value; some BIOSsen pack extra
information in %eax.
libi386.h
Remove some stale prototypes, add new ones.
1998-10-02 16:32:45 +00:00