summaryrefslogtreecommitdiffstats
path: root/sys/boot/i386/boot0
Commit message (Collapse)AuthorAgeFilesLines
* Fix column alignment (whitespace-only change).rnordier2000-12-191-1/+1
|
* Add a magic number, for easier identification of boot0. At present,rnordier2000-12-121-1/+5
| | | | this is used only by libdisk.
* Go back to occupying just a single sector, reverting r1.17 - r1.20.rnordier2000-10-022-166/+82
| | | | | | | | | | | | Taking over the sector following the MBR causes problems on some machines, and the actual gains are fairly small in terms of how the space is presently used. Since we need a number of further features (eg. handling extended partitions) that can't be readily accommodated in the basic boot0 design anyway, rather choose to implement the additional stuff separately and concentrate on compatibility rather than features here.
* Set MAINTAINER.rnordier2000-10-021-0/+2
|
* Correct BSD/OS slice type.rnordier2000-09-091-2/+2
| | | | | PR: 21099 Submitted by: Alan Clegg <abc@bsdi.com>
* Typo/spelling fixes.rnordier2000-08-081-4/+4
|
* Argh! Fix a brainfart of mine. In the old boot0, we relocated ourselfjhb2000-08-041-1/+1
| | | | | | | | | | | | | | | | to 0x600 via a 'rep movsw'. Once that was done, %cx was zero, so we could simply use 'movb' to update the lower byte of %cx in preparation for zeroing out the fake partition entry used to boot to other drives via F5. Well, in the new boot0, we don't actually relocate ourselves, instead it is easier to create the fake partition entry first and then just use it to get the BIOS to load all of boot0 into memory at 0x600. However, since we aren't doing the relocate code anymore, we don't know that %cx == 0 when we hit the 'movb' to setup %cx for clearning the fake partition entry. Thus, if %ch != 0 when the BIOS started boot0, then it would end up zeroing a lot more memory than just 8 words. The solution is to do a word move of $8 into %cx. Debugging help from: David Wolfskill <dhw@whistle.com>
* Cleanup warnings. Most of these are signed/unsigned warnings, as well asjhb2000-08-031-8/+17
| | | | some added const's.
* Oops. Remove some debugging code used to display a hexdump of the sectorjhb2000-07-171-66/+3
| | | | | | we just loaded from the disk. The code to call it was commented out, and it easily fit into the extra sector, but remove it anyway as it is unneeded.
* The new and improved boot0, v1.1. This version adds the following:jhb2000-07-122-74/+213
| | | | | | | | | | | | | | - Autodetection and support of the BIOS EDD extensions to work around the 1024 cylinder limit on all but really ancient BIOS's. - To work around some BIOS's which break when EDD is used with older drives, we only attempt to use EDD if the cylinder is > 1023. - Since this new code required more space than we had left, expand boot0 to 2 sectors (1024 bytes) in length. - Add support for boot0 being multiple sectors using predefined constants. If boot0 needs to be extended in the future, all that is required is bumping the NUM_SECTORS constant. - Now that we have more room to work with, add a few more fs type descriptions while making others more verbose.
* Clean up all of the 16-bit assembly code in the x86 bootstrap to workjhb2000-05-233-196/+44
| | | | | | | | with the new binutils. Now that we have a decent assembler, all the old m4 macros are no longer needed. Instead, straight assembly can be used since as(1) now understands 16-bit addressing, branches, etc. Also, several bugs have been fixed in as(1), allowing boot0.s to be further cleaned up.
* Switch to using the .code16 as(1) directive and using 16-bit assemblyjhb2000-05-052-63/+138
| | | | | | | | | | | | code instead of using 32-bit code and having to just "know" that it's really 16-bit instructions when things run. This also allows the code to use fewer macros and more actual assembly statements, which eases maintenance. Unfortunately, due to as(1) brokenness, we still use m4 macros for all 16-bit addresses, and all short jumps (i.e., 8-bit relative addresses in the jump instruction) must be wrapped in .code32 directives to avoid useless bloat by as(1). This also fixes a few problems that were preventing boot0 from compiling with the latest and greatest version of as(1).
* Remove accidental cut&paste garbage in a comment.julian1999-09-031-4/+1
|
* Comment the boot manager. So I don't have to work it all out again :-)julian1999-09-031-12/+159
| | | | Reviewed by: rnordier@freebsd.org
* $Id$ -> $FreeBSD$peter1999-08-283-3/+3
|
* Recognise NetBSD slices.rnordier1999-07-241-3/+4
| | | | | Submitted by : Lars Koeller <lkoeller@cc.fh-lippe.de> PR : 12772
* Provide for enabling/disabling each slice individually.rnordier1999-06-192-3/+5
|
* Change active flag handling; sanity check passed drive number; passrnordier1999-06-182-77/+81
| | | | partition pointer to bootstrap; optimise away 10 bytes; cosmetics.
* Save option, rather than slice, selected. This permits unattendedrnordier1999-03-011-18/+26
| | | | | | | booting from other than drive 0, as the F5 keypress is saved and "replayed." Requested (some time ago) by: archie
* Implement "setdrv" optionrnordier1999-02-261-5/+10
|
* Revise some comments and labels.rnordier1998-12-051-16/+22
|
* Drop EDD support detection, though retain configurable use of diskrnordier1998-11-292-104/+110
| | | | | packet interface. Add booteasy-style F5 support. Add no-update option. Implement various space optimizations and consistency fixes.
* Make configurable (a) whether to use int 0x13 extensions; (b) timeoutrnordier1998-10-193-17/+25
| | | | | value. Ignore failure to update mbr sector. Disable interrupts while using extended registers. Default to F1 not F2.
* Set BINMODE to 444.rnordier1998-10-171-1/+2
|
* Don't use an absolute path to objcopy.rnordier1998-10-131-2/+2
| | | | Noticed by: Scott Mace <smace@intt.org>
* Fix a typo.rnordier1998-10-101-3/+4
| | | | Output another newline before invoking bootstrap.
* Get this building as a.out or ELF.rnordier1998-10-092-3/+8
| | | | With thanks to: jdp
* Install in /boot.rnordier1998-10-051-4/+7
|
* boot0 is a booteasy (boot manager) workalike with EDD support.rnordier1998-10-053-0/+326
OpenPOWER on IntegriCloud