summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* Add a new compile-time tweak to BTX. If you set the make(1) variablejhb2000-08-243-2/+10
| | | | | | | | BOOT_BTX_NOHANG, then BTX will be compiled with the appropriate flags so that it reboots after a fault instead of hanging forever. Requested by: ps Approved by: rnordier
* List loader.conf and friends in the FILES section.sheldonh2000-08-241-0/+6
| | | | Requested by: obrien
* Fixed determination method for sector size of the 2nd IDE HDD.kato2000-08-151-1/+1
|
* Merged from sys/boot/i386/Makefile.inc revision 1.2.kato2000-08-121-0/+1
|
* Add -mpreferred-stack-boundary=2 to CFLAGS for i386. This and libstandpeter2000-08-112-0/+4
| | | | | reduces /boot/loader from 163840 bytes to 155648 and pxeboot from 165888 bytes to 157696 bytes.
* Add missing "is".dcs2000-08-111-1/+1
| | | | | PR: 20524 Submitted by: Peter Pentchev <roam@orbitel.bg>
* Add support to send the string 'PXEClient' as the Vendor classps2000-08-113-2/+6
| | | | | | identifier to the DHCP server. Now you can check for this string in your dhcp configuration to decide whether you will hand out a lease to the client or not.
* Pass along the interesting variables we were given from DHCP so weps2000-08-111-0/+6
| | | | can utilize them in the kernel and with kenv.
* Typo/spelling fixes.rnordier2000-08-081-4/+4
|
* - Fixed missing initialization of current device number.kato2000-08-062-1/+2
| | | | | | - Fixed comment. Pointed out by: nyan
* 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>
* Fix this so it is a Makefile and not a shell script -- now issuing `make'obrien2000-08-041-3/+3
| | | | a second time does not rebuild the binary.
* Fix some of the arcdisk devsw functions to catch up with warning fixes injhb2000-08-041-8/+15
| | | | | | | <stand.h>. Also, since bcache_strategy() used to not have a prototype, arcdisk happily called bcache_strategy() with 6 parameters instead of 7, leaving out the disk unit number, which is the 2nd parameter. Add in the unit number to the bcache_strategy() call to fix this.
* Bring back the perform() function. However, conditionionalize it onjhb2000-08-041-0/+36
| | | | BOOT_FORTH as it is only used if BOOT_FORTH is not defined.
* - Fixed %si (offset to partition table) in boot.kato2000-08-031-3/+3
| | | | - Fixed comment.
* Fix the more obvious warnings to deal with my earlier warning cleanups.jhb2000-08-035-20/+20
|
* Cleanup warnings. Most of these are signed/unsigned warnings, as well asjhb2000-08-0332-274/+278
| | | | some added const's.
* Fix several BDECFLAGS warnings. Also, actually use the 'verbose' parameterjhb2000-08-031-71/+104
| | | | | for lsdev when printing out slice information. Now, you only get the sizes and LBA's of slices if you use 'lsdev -v'.
* - Fixed pointer to the partition table in the buffer.kato2000-08-031-12/+7
| | | | - Use shift by %cl instead of five shifts by 1.
* Added PC-98 HDD boot manager. The boot0 is the `IPL' which occupieskato2000-08-0211-1/+1752
| | | | | | | | | | | | sector 0 of a disk and boot0.5 is the `boot selector' which starts from address 0x400. The IPL loads boot0.5 and boot0.5 loads bootblock of a slice. The boot manager stuff was developed by me (kato) with Borland C++, and then, translated into bcc in the ports collection by Nokubi-san. After that, boot0 has been translated into gas with the .code16 directive by Takahashi-san (nyan) and boot0.5 has been rewritten in gas by me.
* Merged from sys/boot/i386/btx/btx/btx.s revisions from 1.18 to 1.22.nyan2000-07-302-12/+74
|
* Rename the loadable nullfs kernel module: null -> nullfssheldonh2000-07-281-1/+1
|
* Remove an unnecessary .PATH entry.jhb2000-07-211-1/+0
|
* Declare our DEC Alpha cdboot to be a fully released version 1.0.obrien2000-07-181-0/+1
|
* 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.
* Unbreak the build -- no manual page for this yet.jlemon2000-07-171-1/+1
|
* Hook up liloldrjlemon2000-07-171-0/+1
|
* This is `liloboot', which creates a file which can be treated like ajlemon2000-07-173-0/+372
| | | | | | | Linux kernel image, and is designed to be dropped into a Linux system and booted via LILO. Once booted, the user is greeted by the FreeBSD loader. This still isn't quite complete, as the the root= specification from LILO isn't currently passed to the loader yet.
* Merged from sys/boot/i386/libi386/biosdisk.c revision 1.31.nyan2000-07-141-29/+94
|
* 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.
* Always install loader.4th, defaults/loader.conf, and support.4th instead ofjhb2000-07-101-1/+1
| | | | | | | only doing so if loader.rc does not exist. This fixes the problem where installworld doesn't update /boot/loader.4th, resulting in device.hints not being loaded after updating past the config(8) changes, which resulted in mcclock0 not being probed, and a nice kernel panic during boot.
* Don't call printf with no format string.kris2000-07-101-1/+1
|
* Don't call printf with no format string. This is technically a securitykris2000-07-101-2/+2
| | | | | vulnerability and could in principle be used to upload a new kernel from the bootloader :-)
* Remove commented out NOMAN variable.jhb2000-07-071-1/+0
|
* - Inline all the functions that are only called once. This results in ajhb2000-07-062-228/+214
| | | | | | savings of 68 bytes in boot2. - Also add a comment warning that you can't remove the empty exit() function.
* Doh. The disklabel is not 0x200 bytes of zeros, but it is 0x200 bytes long.jhb2000-07-062-2/+2
|
* Clarify the comments in here a bit. The first sector of boot2 is not justjhb2000-07-062-4/+4
| | | | | zeros, it is actually the disklabel itself. boot2.ldr is simply a placeholder in the boot2 binary.
* Emulate the WBINVD instruction when it is called by the BIOS.jhb2000-07-062-12/+30
|
* Change the fault message to say 'BTX halted' isntead of 'System halted' tojhb2000-06-292-2/+2
| | | | | | avoid confusion. Submitted by: George Scott <George.Scott@its.monash.edu.au>
* Add randomdev_load="NO"ache2000-06-291-0/+1
|
* Rework the detecting of the rdmsr and wrmsr instructions in the v86jhb2000-06-292-14/+14
| | | | | monitor so that the codepath is cleaner and easier to maintain in the future.
* - Don't blindly assume that there are 8 hard drives installed. Instead,jhb2000-06-271-10/+37
| | | | | | | | | | | | | use the BIOS Equipment List to determine how many hard drives are installed and if the drive number we received in %dl is valid. - Don't bother to disable interrupts when setting up the stack. The 8086 and beyond implicitly disable interrupts after an instruction that sets %ss (for example, a pop or a mov) so that you can safely set %ss and %sp in two consecutive instructions. An exception to this is the lss instruction, which can set both registers simultaneously and thus doesn't need this hack. - Add support for EDD BIOS extensions to support booting off of hard drives of nearly arbitrary length.
* Comment this.jhb2000-06-261-5/+36
|
* Add in support for EDD to support large disks via LBA. This uses ajhb2000-06-264-46/+48
| | | | | method similar to that of the loader to avoid potentially breaking older drives in that we only use EDD if the desired cylinder is > 1023.
* Typo fix: tunnable.mph2000-06-251-3/+2
| | | | | Backslash-parsing is not the role of printf(3), but is provided by the C language.
* Whitespace-only changes: apply accepted line breaking style as asheldonh2000-06-221-91/+138
| | | | | | pre-cursor to other markup changes. Accepted in principle by the author.
* Comment this bad boy. Hopefully the next person that comes along won'tjhb2000-06-192-58/+196
| | | | have to spend a few hours reading the code to figure all this out.
* - Add some more details to the 'lsdev' output for FAT file systems.jhb2000-06-191-27/+83
| | | | | | | | | | - Add in support for the EDD (Enhanced Disk Drive) BIOS extensions to use LBA mode for accessing drives past cylinder 1024. This should allow us to load a kernel from anywhere on a newer drive up to 2 TB. Part of this came from the PR below. PR: i386/13847 Submitted by: Tor Egge <Tor.Egge@fast.no>
* Add wx and ispfw loadable module defaults.mjacob2000-06-171-0/+2
|
* Add support for emulating the RDMSR and WRMSR instructions into BTX. Injhb2000-06-172-4/+48
| | | | | | | | theory, this should allow the K7V Athlon motherboard to boot ok with boot virus protection enabled. However, I have no hardware to test this. It shouldn't break anything though. :) Prodded by: Kelly Yancey <kbyanc@posi.net>
OpenPOWER on IntegriCloud