summaryrefslogtreecommitdiffstats
path: root/sys/boot
Commit message (Collapse)AuthorAgeFilesLines
* This patch to BTX fixes several small things:jhb2000-02-162-12/+58
| | | | | | | | | | | | | | | | | | | | | 1) Fix a bug in the int15 function 87 emulation where we only copied half of what the BIOS asked for. This caused the Mylex RAID adapter to go haywire and start trashing memory when you tried to boot from it. 2) Don't use interrupt 19 to reboot. Instead, set the reboot flag to a warm boot and jump to the BIOS's reboot handler. int 19 doesn't clear memory or restore the interrupt vector table, and thus really isn't safe. For example, when booting off of PXE, the PXE BIOS eats up a chunk of memory for its internal data and structures. Since we rebooted via int 19, using the 'reboot' command in the loader resulted in that memory not being reclaimed by the BIOS. Thus, after a few PXE boots, the system was out of lower memory. 3) Catch any int 19 calls made by a BTX client or a user pressing Ctrl-Alt-Delete and shutdown BTX and reboot the machine cleanly. This fixes Ctrl-Alt-Delete in the loader and in boot2 instead of presenting the user with a BTX fault. Approved by: jkh Found by: 1) by msmith
* Support the new ata(4) syntax, while providing backward compatibility for wd(4).ru2000-02-092-20/+26
| | | | | Reviewed by: jkh, msmith, sos Approved by: jkh
* Synced with sys/boot/i386/loader/Makefile rev 1.41.kato2000-02-051-0/+2
|
* Add a NOFORTH variable so we can build a smaller loader withoutluigi2000-02-041-0/+2
| | | | | | Forth support, for use with PicoBSD Approved-By: jordan
* Fix bogon in previous commit. Re-enable Forth in the loader.jhb2000-01-301-2/+2
| | | | | Noticed by: dcs Approved by: jkh
* Synced with sys/boot/i386/btx/btx/btx.s rev 1.14.kato2000-01-292-2/+6
|
* Allow for cdldr to be built in ${.OBJDIR}/../cdldr/cdldr instead ofjhb2000-01-281-3/+9
| | | | only looking for it in ${.CURDIR}/../cdldr/cdldr. This fixes world.
* Implement a machine-independent (word size-independent) FICL_TRUE.dcs2000-01-281-1/+1
|
* ANS Forth for logical not is 0=, not invert. Replace wrong usage.dcs2000-01-281-2/+2
|
* Add testmain.o to CLEANFILES.dcs2000-01-281-1/+1
|
* Try my hand again at removing ugly testmain target.dcs2000-01-281-14/+12
|
* Add the new cdldr CD bootstrap loader. This patch includes the following:jhb2000-01-279-8/+589
| | | | | | | | | | | | | | | | - Fix btxldr to preserve a NULL bootinfo pointer when it copies the kernel arguments. - Add the cdldr bootstrap program. This program is tacked onto the beginning of the standard 3rd stage boot loader (/boot/loader) to form the CD boot loader (/boot/cdboot). When a CD is booted, the cdboot file is copied into memory instead and executed. The cdldr stub emulates the environment normally provided by boot2 and then starts the loader. This booting method does not emulate a floppy drive, but boots directly off of the CD. This should fix the problems some BIOS's have with emulating a 2.88 MB floppy image. - Add support to the loader to recognize that it has been booted by cdldr instead of boot2 and use a simpler method of extracting the BIOS boot device.
* Fix brokenness introduced with the PAGING conditional variable. The valuejhb2000-01-272-2/+6
| | | | | | | | | of %cr0 wasn't reloaded into %eax before being modified to turn protected mode off if PAGING was not defined. The result was that the processor did not exit protected mode, so when it tried to jump to segment 0x0 in the next instruction to clear the prefetch cache like one should when leaving protected mode, it actually tried to jump to a null selector, causing a GPF.
* Add driver support for the Aironet 4500/4800 series wireless 802.11wpaul2000-01-141-1/+2
| | | | | | | | | | | | | | NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported, though only the ISA and PCI ones will work on the alpha for now. PCCARD, ISA and PCI attachments are all provided. Also provided an ancontrol(8) utility for configuring the NIC, man pages, and updated pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired mode, although you must configure the kernel explicitly to support the hardwired mode since you have to know the I/O address and port ahead of time. Special thanks to Doug Ambrisko for doing the initial newbus hackery and getting it to work in infrastructure mode.
* Add device driver support for USB ethernet adapters based on the CATCwpaul2000-01-141-0/+1
| | | | | | | | | | | | | | | | USB-EL1202A chipset. Between this and the other two drivers, we should have support for pretty much every USB ethernet adapter on the market. The only other USB chip that I know of is the SMC USB97C196, and right now I don't know of any adapters that use it (including the ones made by SMC :/ ). Note that the CATC chip supports a nifty feature: read and write combining. This allows multiple ethernet packets to be transfered in a single USB bulk in/out transaction. However I'm again having trouble with large bulk in transfers like I did with the ADMtek chip, which leads me to believe that our USB stack needs some work before we can really make use of this feature. When/if things improve, I intend to revisit the aue and cue drivers. For now, I've lost enough sanity points.
* Add device driver support for USB ethernet adapters based on thewpaul2000-01-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com 3c19250 and the ADS Technologies USB-10BT. This device is 10mbs half-duplex only, so there's miibus or ifmedia support. This device also requires firmware to be loaded into it, however KLSI allows redistribution of the firmware images (I specifically asked about this; they said it was ok). Special thanks to Annelise Anderson for getting me in touch with KLSI (eventually) and thanks to KLSI for providing the necessary programming info. Highlights: - Add driver files to /sys/dev/usb - update usbdevs and regenerate attendate files - update usb_quirks.c - Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha - Update LINT, GENERIC and others for i386, alpha and pc98 - Add man page - Add module - Update sysinstall and userconfig.c
* Merge from the following changes.nyan2000-01-033-48/+121
| | | | | | sys/boot/i386/libi386/biosmem.c Rev 1.4 sys/boot/i386/libi386/time.c Rev 1.3 sys/boot/i386/loader/main.c Rev 1.16
* Fixed to get the BIOS geometry.nyan2000-01-031-4/+5
|
* Substantially revamp the way that we determine the amount of memory availablemsmith1999-12-298-58/+165
| | | | | | | | | | | | | | | for our use. Use the same search order for BIOS memory size functions as the kernel will later use. Allow the loader to use all of the detected physical memory (this will greatly help people trying to load enormous memory disk images). More correctly handle running out of memory when loading an object. Use the end of base memory for the top of the heap, rather than blindly hoping that there is 384k left. Add copyrights to a couple of files I forgot.
* Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"peter1999-12-291-3/+3
| | | | | | is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
* Correctly handle a user-requested abort in the middle of displaying amsmith1999-12-281-2/+4
| | | | | | | help subtopic. PR: kern/13196 Submitted by: MIHIRA Sanpei Yoshiro <sanpei@sanpei.org>
* This commit adds device driver support for the ADMtek AN986 Pegasuswpaul1999-12-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | USB ethernet chip. Adapters that use this chip include the LinkSys USB100TX. There are a few others, but I'm not certain of their availability in the U.S. I used an ADMtek eval board for development. Note that while the ADMtek chip is a 100Mbps device, you can't really get 100Mbps speeds over USB. Regardless, this driver uses miibus to allow speed and duplex mode selection as well as autonegotiation. Building and kldloading the driver as a module is also supported. Note that in order to make this driver work, I had to make what some may consider an ugly hack to sys/dev/usb/usbdi.c. The usbd_transfer() function will use tsleep() for synchronous transfers that don't complete right away. This is a problem since there are times when we need to do sync transfers from an interrupt context (i.e. when reading registers from the MAC via the control endpoint), where tsleep() us a no-no. My hack allows the driver to have the code poll for transfer completion subject to the xfer->timeout timeout rather that calling tsleep(). This hack is controlled by a quirk entry and is only enabled for the ADMtek device. Now, I'm sure there are a few of you out there ready to jump on me and suggest some other approach that doesn't involve a busy wait. The only solution that might work is to handle the interrupts in a kernel thread, where you may have something resembling a process context that makes it okay to tsleep(). This is lovely, except we don't have any mechanism like that now, and I'm not about to implement such a thing myself since it's beyond the scope of driver development. (Translation: I'll be damned if I know how to do it.) If FreeBSD ever aquires such a mechanism, I'll be glad to revisit the driver to take advantage of it. In the meantime, I settled for what I perceived to be the solution that involved the least amount of code changes. In general, the hit is pretty light. Also note that my only USB test box has a UHCI controller: I haven't I don't have a machine with an OHCI controller available. Highlights: - Updated usb_quirks.* to add UQ_NO_TSLEEP quirk for ADMtek part. - Updated usbdevs and regenerated generated files - Updated HARDWARE.TXT and RELNOTES.TXT files - Updated sysinstall/device.c and userconfig.c - Updated kernel configs -- device aue0 is commented out by default - Updated /sys/conf/files - Added new kld module directory
* Connect up the bootforth glue and compile it, but don't initialize itpeter1999-12-271-3/+13
| | | | | | at runtime as it has a nasty habit of crashing on the Alpha :-(. This is being done this way so we have a common starting point for debugging.
* Close PR #15422; fix loader.conf to reflect new driver support (oldwpaul1999-12-231-5/+2
| | | | | | tulip clone NICs merged into if_dc driver). PR: conf/15422
* - Supported the bd_getbigeom function and use this function to get BIOSnyan1999-12-193-350/+26
| | | | | | | geometry. - Use i386/libi386/bootinfo.c instead of pc98/libpc98/bootinfo.c. Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
* Don't build gensetdefs when we can use /usr/bin/gensetdefs. The lattermarcel1999-12-167-532/+17
| | | | | | also creates setdef{0|1}.c so there's no need to have those in the repository. Using /usr/bin/gensetdefs has no consequences for the output.
* Add -L${DESTDIR}${LIBDIR} to ld's command line so that the rightmarcel1999-12-151-1/+3
| | | | libstand is used.
* Remove BAD144 support, it has already been disabled for some time.phk1999-12-086-121/+2
|
* Update the sample for $init_path to reflect the kernel default.msmith1999-12-071-1/+2
|
* Update to reflect use of : not ; as separator in paths passed to themsmith1999-12-071-2/+2
| | | | kernel.
* Make some examples reflect defaults.dcs1999-12-071-7/+7
|
* Supported to sound beep.nyan1999-12-031-1/+17
| | | | Submitted by: chi@bd.mbn.or.jp (Chiharu Shibata)
* Add bus suffix to mii.dcs1999-12-021-1/+1
|
* Add if_ prefix to network drivers.dcs1999-12-021-14/+14
|
* Add fairings. Do not depend on user actually supplying the argumentsdcs1999-12-011-0/+4
| | | | he is supposed to supply.
* Make the prompt look like on OpenBoot.dcs1999-11-271-1/+1
|
* Zeroes structure before using it.dcs1999-11-271-0/+1
|
* Belatedly add splash_pcx_load to the documented variables. Reworddcs1999-11-261-1/+7
| | | | splash_bmp_load.
* Sync with sys/boot/i386/loader/Makefile revision 1.37.nyan1999-11-251-1/+1
|
* Activates password protection (if a password is defined).dcs1999-11-241-0/+4
| | | | Adds $FreeBSD$.
* Add silly password feature. If people want to depend on a flaweddcs1999-11-243-14/+101
| | | | | | | security measures, so be it. It costs us almost nothing. Document some code in support.4th that I was unable to understand just by reading.
* Add machine-specific include path to ficl's sysdep.h. Wishes I haddcs1999-11-231-1/+1
| | | | | | gone to bed earlier. Pointed by: peter
* Revert ill-considered simplification in 1.13.dcs1999-11-231-8/+11
| | | | Pointed by: peter
* Improve Makefile by using .PATH.dcs1999-11-231-2/+4
| | | | Taught by: peter
* Improve on ficl port to alpha.dcs1999-11-235-462/+7
| | | | | | | | | | | Files sysdep.[ch] are now in ${MACHINE_ARCH} subdirectory. Internal #if's used to identify the platform where removed. Make rule for target testmain was greatly simplified, because it was easier simplifying it than changing it to support the new location of sysdep.[ch]. (a repo-copy was done on sysdep.[ch], of course)
* (Hopefully) make all necessary changes for ficl to support alpha.dcs1999-11-235-6/+18
|
* Add comments on what it the USB modules are. Add the usb module.n_hibma1999-11-221-5/+8
| | | | | | The USB module contains the OHCI and UHCI controllers as well. Sticking them into separate modules might be possible after I have untangled the mess.
* Change the name of the modules from <name>_mod to <name>n_hibma1999-11-171-5/+0
| | | | Suggested by: David O'Brien <obrien@FreeBSD.ORG>
* Add the USB modules.n_hibma1999-11-161-0/+15
|
* Fixed warnings.nyan1999-11-163-6/+7
|
OpenPOWER on IntegriCloud