aboutsummaryrefslogtreecommitdiff
path: root/sys/boot/pc98/loader/main.c
Commit message (Collapse)AuthorAgeFilesLines
* Remove sys/boot/pc98 accidentally restored in r313575Ed Maste2017-02-111-322/+0
| | | | | | | Reported by: rpokala Notes: svn path=/head/; revision=313576
* makefs: make the buffer functions look exactly like the kernel onesEd Maste2017-02-111-0/+322
| | | | | | | | | | | | | | | | | | | | | From NetBSD christos Sat Jan 26 00:19:39 2013 +0000 make the buffer functions look exactly like the kernel ones and add other cruft to make the kernel files compile. ffs.c 1.54 ffs/buf.c 1.13 ffs/buf.h 1.3 ffs/ffs_alloc.c 1.21 ffs/ffs_balloc.c 1.15 Reviewed by: marcel, ngie Obtained from: NetBSD Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8404 Notes: svn path=/head/; revision=313575
* Remove pc98 support completely.Yoshihiro Takahashi2017-01-281-322/+0
| | | | | | | | | I thank all developers and contributors for pc98. Relnotes: yes Notes: svn path=/head/; revision=312910
* Reduce boot loader version string duplicationEd Maste2016-12-181-4/+2
| | | | | | | | | | | | | Instead of repeating "%s, Revision %s" "(%s %s)" in each loader, just create the full version string in vers.c Reviewed by: bapt MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8823 Notes: svn path=/head/; revision=310225
* A new implementation of the loader block cacheAllan Jude2016-04-181-2/+2
| | | | | | | | | | | | | | | | | | | | The block cache implementation in loader has proven to be almost useless, and in worst case even slowing down the disk reads due to insufficient cache size and extra memory copy. Also the current cache implementation does not cache reads from CDs, or work with zfs built on top of multiple disks. Instead of an LRU, this code uses a simple hash (O(1) read from cache), and instead of a single global cache, a separate cache per block device. The cache also implements limited read-ahead to increase performance. To simplify read ahead management, the read ahead will not wrap over bcache end, so in worst case, single block physical read will be performed to fill the last block in bcache. Booting from a virtual CD over IPMI: 0ms latency, before: 27 second, after: 7 seconds 60ms latency, before: over 12 minutes, after: under 5 minutes. Submitted by: Toomas Soome <tsoome@me.com> Reviewed by: delphij (previous version), emaste (previous version) Relnotes: yes Differential Revision: https://reviews.freebsd.org/D4713 Notes: svn path=/head/; revision=298230
* Give loaders more control over the Forth initialization process. InMarcel Moolenaar2014-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | particular, allow loaders to define the name of the RC script the interpreter needs to use. Use this new-found control to have the PXE loader (when compiled with TFTP support and not NFS support) read from ${bootfile}.4th, where ${bootfile} is the name of the file fetched by the PXE firmware. The normal startup process involves reading the following files: 1. /boot/boot.4th 2. /boot/loader.rc or alternatively /boot/boot.conf When these come from a FreeBSD-defined file system, this is all good. But when we boot over the network, subdirectories and fixed file names are often painful to administrators and there's really no way for them to change the behaviour of the loader. Obtained from: Juniper Networks, Inc. Notes: svn path=/head/; revision=269153
* MFi386: revision 240637Yoshihiro Takahashi2012-09-231-20/+6
| | | | | | | loader/i386: replace ugly inb/outb re-implementations with cpufunc.h Notes: svn path=/head/; revision=240854
* Cosmetic changes.Yoshihiro Takahashi2012-09-231-6/+6
| | | | Notes: svn path=/head/; revision=240852
* MFi386: improve argument passing via btxldrAndriy Gapon2012-05-111-11/+7
| | | | | | | | | | use related definitions in i386 bootargs.h Reviewed by: nyan, jhb MFC after: 1 month Notes: svn path=/head/; revision=235264
* Consolidate duplicate definitions of V86_CY() and V86_ZR() which check forJohn Baldwin2011-10-251-1/+0
| | | | | | | | the carry and zero flags being set, respectively, in <btxv86.h> and use them throughout the x86 boot code. Notes: svn path=/head/; revision=226746
* Add 2 new archsw interfaces:Marcel Moolenaar2011-04-031-0/+17
| | | | | | | | | | | | | | | | | 1. arch_loadaddr - used by platform code to adjust the address at which the object gets loaded. Implement PC98 using this new interface instead of using conditional compilation. For ELF objects the ELF header is passed as the data pointer. For raw files it's the filename. Note that ELF objects are first considered as raw files. 2. arch_loadseg - used by platform code to keep track of actual segments, so that (instruction) caches can be flushed or translations can be created. Both the ELF header as well as the program header are passed to allow platform code to treat the kernel proper differently from any additional modules and to have all the relevant details of the loaded segment (e.g. protection). Notes: svn path=/head/; revision=220311
* Add setting machine type support to the loader.Yoshihiro Takahashi2009-12-311-0/+4
| | | | | | | MFC after: 2 week Notes: svn path=/head/; revision=201339
* MFi386: revision 200219Yoshihiro Takahashi2009-12-081-6/+10
| | | | | | | | | | Improve the algorithm the loader uses to choose a memory range for its heap when using a range above 1MB. MFC after: 1 week Notes: svn path=/head/; revision=200255
* MFi386: revision 200216Yoshihiro Takahashi2009-12-081-1/+1
| | | | | | | Various small whitespace and style fixes. Notes: svn path=/head/; revision=200253
* Reduce diffs against i386.Yoshihiro Takahashi2009-03-191-9/+10
| | | | Notes: svn path=/head/; revision=190046
* - Initialize the vm86 structure to a known-good state. Specifically, alwaysJohn Baldwin2008-08-081-0/+5
| | | | | | | | | | | | set the %eflags used during a BIOS call via BTX to 0x202. Previously the flags field was uninitialized garbage, and thus it was "random" if interrupts were enabled or not during BIOS calls. - Use constants from <machine/psl.h> for fields in %eflags. MFC after: 3 days Notes: svn path=/head/; revision=181436
* MFi386: revision 1.41Yoshihiro Takahashi2007-10-241-2/+1
| | | | | | | | | | Slightly cleanup the 'bootdev' concept on x86 by changing the various macros to treat the 'slice' field as a real part of the bootdev instead of as hack that spans two other fields (adaptor (sic) and controller) that are not used in any modern FreeBSD boot code. Notes: svn path=/head/; revision=172924
* Extend struct devdesc with a unit field, called d_unit. Promote theMarcel Moolenaar2006-11-021-4/+4
| | | | | | | | | | | | device (kind) specific unit field to the common field. This change allows a future version of libefi to work without requiring anything more than what is defined in struct devdesc and as such makes it possible to compile said version of libefi for different platforms without requiring that those platforms have identical derivatives of struct devdesc. Notes: svn path=/head/; revision=163897
* Commit the results of the typo hunt by Darren Pilgrim.Yaroslav Tykhiy2006-08-041-1/+1
| | | | | | | | | | | | | This change affects documentation and comments only, no real code involved. PR: misc/101245 Submitted by: Darren Pilgrim <darren pilgrim bitfreak org> Tested by: md5(1) MFC after: 1 week Notes: svn path=/head/; revision=160964
* MFi386: revisions 1.34 and 1.36.Yoshihiro Takahashi2005-12-211-2/+14
| | | | Notes: svn path=/head/; revision=153600
* MFi386: revision 1.33.Yoshihiro Takahashi2005-09-301-1/+1
| | | | | | | | | > Cause all flags passed by boot2 to set the respective loader(8) > boot_* variable. The end effect is that all flags from boot2 > are now passed to the kernel. Notes: svn path=/head/; revision=150751
* - Add support to the loader for multiple consoles.John Baldwin2005-05-271-4/+8
| | | | | | | | | | | | | | | | - Teach the i386 and pc98 loaders to honor multiple console requests from their respective boot2 binaries so that the same console(s) are used in both boot2 and the loader. - Since the kernel doesn't support multiple consoles, whichever console is listed first is treated as the "primary" console and is passed to the kernel in the boot_howto flags. PR: kern/66425 Submitted by: Gavin Atkinson gavin at ury dot york dot ac dot uk MFC after: 1 week Notes: svn path=/head/; revision=146698
* Remove ifdef PC98.Yoshihiro Takahashi2005-05-081-10/+0
| | | | Notes: svn path=/head/; revision=146011
* MFi386: Set bi_basemem and bi_extmem variables.Yoshihiro Takahashi2004-10-241-0/+6
| | | | | | | Respect RB_MULTIPLE flag. Notes: svn path=/head/; revision=136891
* MFi386: revision 1.29.Yoshihiro Takahashi2004-03-141-2/+2
| | | | Notes: svn path=/head/; revision=126970
* Use __FBSDID().David E. O'Brien2003-09-081-2/+3
| | | | | | | Also some minor style cleanups. Notes: svn path=/head/; revision=119880
* MFi386: sys/boot/i386/loader/main.c revision 1.25Yoshihiro Takahashi2001-11-061-14/+16
| | | | Notes: svn path=/head/; revision=86131
* MFi386: sys/boot/i386/loader/main.c revision 1.24.Yoshihiro Takahashi2001-09-161-0/+5
| | | | Notes: svn path=/head/; revision=83532
* Merged from the following changes.Yoshihiro Takahashi2000-11-051-21/+28
| | | | | | | | | | | | | | | | sys/boot/i386/btx/btx/Makefile 1.9 sys/boot/i386/btx/btx/btx.s 1.23 sys/boot/i386/libi386/biosdisk.c 1.32 and 1.33 sys/boot/i386/libi386/biosmem.c 1.5 sys/boot/i386/libi386/comconsole.c 1.8 sys/boot/i386/libi386/gatea20.c 1.3 sys/boot/i386/libi386/time.c 1.4 sys/boot/i386/libi386/vidconsole.c 1.13 sys/boot/i386/loader/Makefile 1.48 sys/boot/i386/loader/main.c 1.22 Notes: svn path=/head/; revision=68358
* Merged from sys/boot/i386/loader/main.c revision 1.21.Yoshihiro Takahashi2000-10-151-10/+0
| | | | Notes: svn path=/head/; revision=67136
* Merged from sys/boot/i386/loader/main.c revision 1.23.KATO Takenori2000-09-221-0/+2
| | | | Notes: svn path=/head/; revision=66246
* Sync with the following changes.Yoshihiro Takahashi2000-04-231-0/+5
| | | | | | | | | sys/boot/i386/libi386/Makefile 1.16 and 1.17 sys/boot/i386/loader/Makefile 1.44 sys/boot/i386/loader/main.c 1.20 Notes: svn path=/head/; revision=59535
* Merged from sys/boot/i386/loader/main.c rev 1.19.KATO Takenori2000-04-121-0/+11
| | | | Notes: svn path=/head/; revision=59167
* Synced with following files:KATO Takenori2000-03-311-9/+45
| | | | | | | | | | | | | | | | src/sys/boot/i386/Makefile.inc 1.1 src/sys/boot/i386/btx/btx/btx.s 1.15 src/sys/boot/i386/btx/btxldr/Makefile 1.8 src/sys/boot/i386/btx/btxldr/btxldr.s 1.9 src/sys/boot/i386/libi386/biosdisk.c 1.29 src/sys/boot/i386/loader/Makefile 1.42 src/sys/boot/i386/loader/main.c 1.18 (entry point address of loader was not changed.) Reviewed by: nyan Notes: svn path=/head/; revision=58871
* Merge from the following changes.Yoshihiro Takahashi2000-01-031-4/+4
| | | | | | | | | 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 Notes: svn path=/head/; revision=55342
* - Supported the bd_getbigeom function and use this function to get BIOSYoshihiro Takahashi1999-12-191-4/+0
| | | | | | | | | | geometry. - Use i386/libi386/bootinfo.c instead of pc98/libpc98/bootinfo.c. Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp> Notes: svn path=/head/; revision=54819
* Fixed warnings.Yoshihiro Takahashi1999-11-161-1/+2
| | | | Notes: svn path=/head/; revision=53218
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Use files under sys/boot/i386 instead of copying under sys/boot/pc98.KATO Takenori1999-04-021-2/+2
| | | | | | | Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp> Notes: svn path=/head/; revision=45241
* When SCSI IDs are not contiguous, the loader could not find correctKATO Takenori1999-03-041-6/+7
| | | | | | | | | unit number for da device. This commit fixes this problem. Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp> Notes: svn path=/head/; revision=44463
* PC98 version of new boot loader. Because boot2 has not yet ported,KATO Takenori1999-02-031-0/+244
files in boot2 directory are copies from legacy biosboot. Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp> Notes: svn path=/head/; revision=43561