#
344290 |
|
19-Feb-2019 |
kevans |
MFC r335117: stand bootprog_info consolidation
bootprog_info is generated in vers.c. Move it's definition to bootstrap.h and remove all the redundant copies.
|
#
339405 |
|
17-Oct-2018 |
imp |
Direct commit to stable, file not present in current
Catch up to r332154: Fix d_dev removal of d_type.
|
#
332154 |
|
06-Apr-2018 |
kevans |
MFC r330806-r330815, r330837, r330864, r330883
pc98 changes associated with the named commits are also included in this commit, despite not having been made with the original commits due to its removal in head.
r330806: Minor cosmetic changes.
Make sure { on the same line as struct for all struct *devdesc. Move some type definitions to next to the dv_type define, since that's what sets the d_type.
r330807: We can't use d_opendata for blkio storage.
open_disk uses d_opendata for it's own purpse. We can't store blkio there. Fortunately, blkio is stored elsewhere and we never actually retrieve blkio from d_opendata. Eliminate it as a source of confusion. Eliminate all stores of d_opendata in efi since this layer doesn't own that field.
r330808: Make struct libi386_devdesc match the struct devdesc better
Move data to top and call it d_opendata.
r330809: Use the actual struct devdesc at the start of all *_devdesc structs
The current system is fragile and requires very careful layout of all *_devdesc structures. It also makes it hard to change the base devdesc. Take a page from CAM and put the 'header' in all the derived classes and adjust the code to match.
For OFW, move the iHandle h_handle out of a slot conflicting with d_opendata. Due to quirks in the alignment rules, this worked. However changing the code to use d_opendata storage now that it's a pointer is hard, so just have a separate field for it.
All other cleanups were to make the *_devdesc structures match where they'd taken some liberties that were none-the-less compatible enough to work.
r330810: Remove d_type from devdesc. It's not needed as we can fetch it from d_dev->dv_type when we need it.
r330811: GC unused routines.
Sponsored by: Netflix
r330812: Use the one-line-per-file pattern here, and sort the file names.
Sponsored by: Netflix
r330813: Move the env convenience routines out of boot1.c.
These routines are more generally useful. Even though boot1 is on its way out, it's better to make these common during the transition than copy them.
r330814: Star BootCurrent entry when booting.
Sponsored by: Netflix
r330815: Print the load and device path as well as BootCurrent and BootOrder
Sponsored by: Netflix
r330837: biosdisk.c should not set d_opendata.
Same as 330807, d_opendata is owned by open_disk and we should not set it.
M stand/i386/libi386/biosdisk.c
r330864: Prefer uintXX_t to u_intXX_t
A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines. With consistency a great soul has simply nothing to do. -- Ralph Waldo Emerson
r330883: Fix typo that misteriously passes compilation.
|
#
330311 |
|
03-Mar-2018 |
kevans |
stand: Make pc98 build
This is a direct commit to stable/11 due to pc98 removal from head.
Several improvements in head that were MFC'd left the pc98 build broken in stable/11. Massage the pc98 bits to get it to at least build.
|
#
329145 |
|
12-Feb-2018 |
kevans |
MFC r325834,r325997,326502: Move sys/boot to stand/
This is effectively a direct commit to stable/11, due to differences between stable/11 and head. Changes to DTS in sys/boot/fdt/dts were often accompanied by kernel changes. Many of these were also risc-v updates that likely had many more dependencies to MFC.
Because of this, sys/boot/fdt/dts remains as-is while everything else in sys/boot relocates to stand/.
r325834: Move sys/boot to stand. Fix all references to new location
r325997: Remove empty directories.
r326502: Document the sys/boot -> stand move in hier.7 and the top-level README. |
#
312318 |
|
17-Jan-2017 |
emaste |
MFC r310225: Reduce boot loader version string duplication
Instead of repeating "%s, Revision %s" "(%s %s)" in each loader, just create the full version string in vers.c |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
298230 |
|
18-Apr-2016 |
allanjude |
A new implementation of the loader block cache
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
|
#
269153 |
|
27-Jul-2014 |
marcel |
Give loaders more control over the Forth initialization process. In 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.
|
#
240854 |
|
23-Sep-2012 |
nyan |
MFi386: revision 240637
loader/i386: replace ugly inb/outb re-implementations with cpufunc.h
|
#
240852 |
|
23-Sep-2012 |
nyan |
Cosmetic changes.
|
#
235264 |
|
11-May-2012 |
avg |
MFi386: improve argument passing via btxldr
use related definitions in i386 bootargs.h
Reviewed by: nyan, jhb MFC after: 1 month
|
#
226746 |
|
25-Oct-2011 |
jhb |
Consolidate duplicate definitions of V86_CY() and V86_ZR() which check for the carry and zero flags being set, respectively, in <btxv86.h> and use them throughout the x86 boot code.
|
#
220311 |
|
03-Apr-2011 |
marcel |
Add 2 new archsw interfaces: 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).
|
#
201339 |
|
31-Dec-2009 |
nyan |
Add setting machine type support to the loader.
MFC after: 2 week
|
#
200255 |
|
08-Dec-2009 |
nyan |
MFi386: revision 200219
Improve the algorithm the loader uses to choose a memory range for its heap when using a range above 1MB.
MFC after: 1 week
|
#
200253 |
|
08-Dec-2009 |
nyan |
MFi386: revision 200216
Various small whitespace and style fixes.
|
#
190046 |
|
19-Mar-2009 |
nyan |
Reduce diffs against i386.
|
#
181436 |
|
08-Aug-2008 |
jhb |
- Initialize the vm86 structure to a known-good state. Specifically, always 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
|
#
172924 |
|
24-Oct-2007 |
nyan |
MFi386: revision 1.41
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.
|
#
163897 |
|
02-Nov-2006 |
marcel |
Extend struct devdesc with a unit field, called d_unit. Promote the 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.
|
#
160964 |
|
04-Aug-2006 |
yar |
Commit the results of the typo hunt by Darren Pilgrim. 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
|
#
153600 |
|
21-Dec-2005 |
nyan |
MFi386: revisions 1.34 and 1.36.
|
#
150751 |
|
30-Sep-2005 |
nyan |
MFi386: revision 1.33. > 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.
|
#
146698 |
|
27-May-2005 |
jhb |
- Add support to the loader for multiple consoles. - 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
|
#
146011 |
|
08-May-2005 |
nyan |
Remove ifdef PC98.
|
#
136891 |
|
24-Oct-2004 |
nyan |
MFi386: Set bi_basemem and bi_extmem variables. Respect RB_MULTIPLE flag.
|
#
126970 |
|
14-Mar-2004 |
nyan |
MFi386: revision 1.29.
|
#
119880 |
|
08-Sep-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
#
86131 |
|
06-Nov-2001 |
nyan |
MFi386: sys/boot/i386/loader/main.c revision 1.25
|
#
83532 |
|
16-Sep-2001 |
nyan |
MFi386: sys/boot/i386/loader/main.c revision 1.24.
|
#
68358 |
|
05-Nov-2000 |
nyan |
Merged from the following changes.
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
|
#
67136 |
|
15-Oct-2000 |
nyan |
Merged from sys/boot/i386/loader/main.c revision 1.21.
|
#
66246 |
|
22-Sep-2000 |
kato |
Merged from sys/boot/i386/loader/main.c revision 1.23.
|
#
59535 |
|
23-Apr-2000 |
nyan |
Sync with the following changes.
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
|
#
59167 |
|
12-Apr-2000 |
kato |
Merged from sys/boot/i386/loader/main.c rev 1.19.
|
#
58871 |
|
31-Mar-2000 |
kato |
Synced with following files: 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
|
#
55342 |
|
03-Jan-2000 |
nyan |
Merge from the following changes.
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
|
#
54819 |
|
19-Dec-1999 |
nyan |
- Supported the bd_getbigeom function and use this function to get BIOS geometry. - Use i386/libi386/bootinfo.c instead of pc98/libpc98/bootinfo.c.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
#
53218 |
|
16-Nov-1999 |
nyan |
Fixed warnings.
|
#
50477 |
|
28-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
45241 |
|
02-Apr-1999 |
kato |
Use files under sys/boot/i386 instead of copying under sys/boot/pc98.
Submitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>
|
#
44463 |
|
04-Mar-1999 |
kato |
When SCSI IDs are not contiguous, the loader could not find correct unit number for da device. This commit fixes this problem.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|
#
43561 |
|
03-Feb-1999 |
kato |
PC98 version of new boot loader. Because boot2 has not yet ported, files in boot2 directory are copies from legacy biosboot.
Submitted by: IMAI Takeshi <take-i@ceres.dti.ne.jp>
|