History log of /freebsd-11.0-release/sys/boot/pc98/loader/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

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


286368 06-Aug-2015 allanjude

Remove guards around overwriting loader.rc and menu.rc

There have been .local version of each for user modifications for some time
This allows users to receive future updates to these files

PR: 183765
Submitted by: Bertram Scharpf, Nikolai Lifanov (patch)
Reviewed by: dteske, loos, eadler
Approved by: bapt (mentor)
MFC after: 1 month
Relnotes: yes
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D3176


284597 19-Jun-2015 bapt

Fix fallouts from r284590

Reported by: kib


281009 03-Apr-2015 jkim

Revert .PATH changes to fix mips build.

Reported by: bz
Pointy hat to: jkim


281002 02-Apr-2015 jkim

Install newly added brand-*.4th and logo-*.4th files and reduce duplication.

Reviewed by: dteske
Pointy hat to: dteske


274537 15-Nov-2014 nyan

MFi386: r274398

Move NFS and TFTP filesystems before the synthetic filesystems (bzip,
gzip, and split).


272256 28-Sep-2014 nyan

MFi386: r261567

Switch from lib/libstand to sys/boot/libstand32.


270168 19-Aug-2014 bdrewery

Revert r267233 for now. PIE support needs to be reworked.

1. 50+% of NO_PIE use is fixed by adding -fPIC to INTERNALLIB and other
build-only utility libraries.
2. Another 40% is fixed by generating _pic.a variants of various libraries.
3. Some of the NO_PIE use is a bit absurd as it is disabling PIE (and ASLR)
where it never would work anyhow, such as csu or loader. This suggests
there may be better ways of adding support to the tree. Many of these
cases can be fixed such that -fPIE will work but there is really no
reason to have it in those cases.
4. Some of the uses are working around hacks done to some Makefiles that are
really building libraries but have been using bsd.prog.mk because the code
is cleaner. Had they been using bsd.lib.mk then NO_PIE would not have
been needed.

We likely do want to enable PIE by default (opt-out) for non-tree consumers
(such as ports). For in-tree though we probably want to only enable PIE
(opt-in) for common attack targets such as remote service daemons and setuid
utilities. This is also a great performance compromise since ASLR is expected
to reduce performance. As such it does not make sense to enable it in all
utilities such as ls(1) that have little benefit to having it enabled.

Reported by: kib


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.


267233 08-Jun-2014 bdrewery

In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.

This is currently an opt-in build flag. Once ASLR support is ready and stable
it should changed to opt-out and be enabled by default along with ASLR.

Each application Makefile uses opt-out to ensure that ASLR will be enabled by
default in new directories when the system is compiled with PIE/ASLR. [2]

Mark known build failures as NO_PIE for now.

The only known runtime failure was rtld.

[1] http://www.bsdcan.org/2014/schedule/events/452.en.html
Submitted by: Shawn Webb <lattera@gmail.com>
Discussed between: des@ and Shawn Webb [2]


265420 06-May-2014 imp

Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.


242688 07-Nov-2012 dteske

Hook in new files menusets.4th and manual.

Approved by: adrian (co-mentor) (implicit)


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


231387 10-Feb-2012 nyan

Reduce diffs against i386.

MFC after: 1 week


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.


222417 28-May-2011 julian

New boot loader menus from Devin Teske.
Discussed on hackers and recommended for inclusion into 9.0 at the devsummit.
All support email to devin dteske at vicor dot ignoreme dot com .

Submitted by: dteske at vicor dot ignoreme dot com
Reviewed by: me and many others


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).


210459 25-Jul-2010 nyan

MFi386: revision 210387

Correctly setup LDADD with regards to libstand.


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.


199864 27-Nov-2009 sobomax

Remove spinconsole from pc98, some parts seem to be missed and it's
too late (early?) to figure out what exactly.

Reported by: TAKAHASHI Yoshihiro


199855 27-Nov-2009 sobomax

Add new loader console type: "spinconsole". This console selects the
video console which doesn't take any input from keyboard and hides
all output replacing it with ``spinning'' character (useful for
embedded products and custom installations).

Sponsored by: Sippy Software, Inc.


190046 19-Mar-2009 nyan

Reduce diffs against i386.


188895 21-Feb-2009 ru

Fix build when WITH_SSP is set explicitly.

Submitted by: Jeremie Le Hen


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


180208 03-Jul-2008 peter

Set magic fbsd:nokeywords property that allows files to bypass
keyword expansion. (file-specific replacement for CVSROOT/exclude)


180012 25-Jun-2008 ru

Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
turned opt-in for stable branches depending on the consensus. You
can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
It is harmless to steal the knob as SSP symbols have been provided
by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
(sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
libc will be automatically downgraded to -fstack-protector because it
breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by: Jeremie Le Hen <jeremie@le-hen.org>


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.


163893 02-Nov-2006 marcel

Don't unconditionally compile-in the bcache code. It's only used on
i386/amd64 and pc98. Remove useless calls to bcache_init() from the
ia64 and sparc64 loaders, as well as from the OFW common code.


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


156813 17-Mar-2006 ru

Reimplementation of world/kernel build options. For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)


153600 21-Dec-2005 nyan

MFi386: revisions 1.34 and 1.36.


151882 30-Oct-2005 nyan

MFi386: Enable beastie.4th.


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.


139123 21-Dec-2004 ru

NOFORTH -> NO_FORTH


138249 01-Dec-2004 scottl

Remove the last vestiges of the userconfig option. None of this actually
did anything, so this commit should be considered a NO-OP.


138190 29-Nov-2004 nyan

MFi386: revisions 1.77 and 1.78.


136891 24-Oct-2004 nyan

MFi386: Set bi_basemem and bi_extmem variables.
Respect RB_MULTIPLE flag.


136890 24-Oct-2004 nyan

MFi386: Add support for preloading ELF relocatable object format modules.


135967 30-Sep-2004 ru

Document boot_cdrom, boot_multicons, and boot_serial.
Reduce diffs between help.common and loader(8).
Mention that boot_userconfig is currently a no-op.


126970 14-Mar-2004 nyan

MFi386: revision 1.29.


126969 14-Mar-2004 nyan

MFi386: revision 1.76.


125779 13-Feb-2004 nyan

MFi386: revisions 1.74 and 1.75.
- kzip(8) is long dead.
- Clean CLEANFILES.


125625 09-Feb-2004 nyan

MFi386: Factor out -nostdlib and use PROG.


125567 07-Feb-2004 ru

MFi386: Removed -elf and duplicate -ffreestanding.


125563 07-Feb-2004 nyan

MFi386: Cleanups to sys/boot makefiles.


119880 08-Sep-2003 obrien

Use __FBSDID().
Also some minor style cleanups.


116003 08-Jun-2003 nyan

Add help file for pc98.


116002 08-Jun-2003 nyan

Enable new boot menu.


114407 01-May-2003 nyan

Fix to build pc98 boot loader after support amd64.


109637 21-Jan-2003 nyan

MFi386: revision 1.63.


102556 29-Aug-2002 peter

Initiate deorbit burn of i386 a.out kld "support" in loader. Note that
this was quite broken, it never was updated for metadata support.
The a.out kld file support was never really used, as it wasn't necessary.
You could always load elf kld's, even in an a.out kernel.


96342 10-May-2002 obrien

-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)


95450 25-Apr-2002 nyan

MFi386: revision 1.56


93416 30-Mar-2002 nyan

MFi386: revision 1.55


86131 06-Nov-2001 nyan

MFi386: sys/boot/i386/loader/main.c revision 1.25


85060 17-Oct-2001 nyan

Merged from sys/boot/i386/loader/Makefile revision 1.54.


83532 16-Sep-2001 nyan

MFi386: sys/boot/i386/loader/main.c revision 1.24.


83368 12-Sep-2001 ru

Create backup copies using install(1).


78522 21-Jun-2001 peter

Remove -DNEW_LINKERSET, it is not used here anymore. This is now native.


70082 16-Dec-2000 kato

Merged from sys/boot/i386/loader/Makefile revision 1.49.


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.


65607 08-Sep-2000 kato

Merged from sys/boot/i386/loader/Makefile revision 1.47.


61064 29-May-2000 nyan

Sync with the following changes.

sys/boot/i386/btx/btx/Makefile 1.8
sys/boot/i386/btx/btx/btx.s 1.16 and 1.17
sys/boot/i386/btx/btxldr/btxldr.s 1.10
sys/boot/i386/loader/Makefile 1.45


60702 19-May-2000 dcs

Move man page directives to common/Makefile.inc.


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


59228 14-Apr-2000 nyan

Merged from sys/boot/i386/loader/Makefile revision 1.43.


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


56994 05-Feb-2000 kato

Synced with sys/boot/i386/loader/Makefile rev 1.41.


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>


53688 25-Nov-1999 nyan

Sync with sys/boot/i386/loader/Makefile revision 1.37.


53218 16-Nov-1999 nyan

Fixed warnings.


53206 16-Nov-1999 nyan

Install loader.rc.


50477 28-Aug-1999 peter

$Id$ -> $FreeBSD$


48351 29-Jun-1999 peter

Reconcile all the loader newvers.sh's into one common one.


46043 25-Apr-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.34.


45814 19-Apr-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.32.


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>


44897 19-Mar-1999 kato

Sync with sys/boot/i386/loader/version revision 1.4.


44859 18-Mar-1999 kato

Install the manual page in sys/boot/i386/loader.

Sumbmitted by: Takahashi Yoshihiro <nyan@dd.catv.ne.jp>


44630 10-Mar-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.30.


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>


44255 25-Feb-1999 kato

Sync with sys/boot/i386/loader/Makefile revision 1.29.


43768 08-Feb-1999 kato

Sync with sys/boot/i386/loader/version revision 1.3.


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>