Home | History | Annotate | Download | only in boot
History log of /src/sys/arch/sparc/stand/boot/boot.c
RevisionDateAuthorComments
 1.30  11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.29  27-Nov-2015  joerg Don't use dynamically sized unions, they are a horrible GNUism. Just use
the existing upper limit all the time.
 1.28  28-May-2012  martin branches: 1.28.2; 1.28.16;
Pass the "boothowto" from the bootloader to the kernel.
If (an old) bootloader did not pass the flags, check explicitly if we
missed RB_USERCONF and invoke userconf_prompt() in MD code, as MI code
already missed it.
This fixes PR 46466.
 1.27  22-Jan-2011  joerg branches: 1.27.4; 1.27.8; 1.27.10;
Drop bootprog_maker (formerly enabled by -M) and bootprog_date (formerly
disabled by -D) from the output of newvers_stand.sh. Change -D to the
inverted logic, so that it adds the date to bootprog_rev in ().

Change all platforms accordingly. -D is added if MKREPRO is not yes and
wasn't present before. Platforms that didn't use -D don't depend on
MKREPRO now either.
 1.26  25-Aug-2010  christos branches: 1.26.2; 1.26.4;
factor out the floppy detection code.
 1.25  25-Aug-2010  christos Don't LOAD_BACKWARDS for floppies.
 1.24  04-Mar-2007  christos branches: 1.24.44; 1.24.64; 1.24.66;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.23  13-Jul-2006  uwe branches: 1.23.10;
De-__P. ANSIify.

Same object code is generated (except in prf.c, where putchar argument
type was changed to int to match the prototype and one instrcution
changes accordingly).

strategy() in ofdev.c was not ANSIified in this sweep, b/c that
changes code generated at call sites!
 1.22  11-Dec-2005  christos branches: 1.22.4; 1.22.8;
merge ktrace-lwp.
 1.21  03-Jun-2005  martin branches: 1.21.2;
constify
 1.20  27-Apr-2005  martin Do not rely on strings to which pointers are returned by promlib functions
to persist accross further promlib calls.
This fixes (at least) bootjs.net.
 1.19  08-Apr-2004  pk branches: 1.19.4; 1.19.10;
compat mode: skip double map at VA 0 if the physical load address is 0.
This allows a much wider range of historic kernels to be booted (w/ `-C').
 1.18  07-Aug-2003  agc branches: 1.18.2;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.
 1.17  30-Jul-2003  mrg sprinkle some: libkern.h, some -ffreestanding and some cast-y goodness,
all for the pleasure of the gcc 3 :-)
 1.16  10-Jul-2003  pk compat mode:
* print warning if kernel image is too large.
* adjust `required space' computation to be more compatible to
what it was before.
* since there's still no code to recognise `old kernels', provide
a way to turn on `compatmode' manually, using the `-C' boot option.
 1.15  01-Mar-2003  pk branches: 1.15.2;
Add support for large kernels by searching for a physical memory segment
to fit it in. As a bonus, the kernel is now also mapped to the virtual
address (i.e. KERNBASE) it is linked at.
 1.14  25-Feb-2003  pk * Use fdloadfile() to avoid opening the the underlying device twice.
* Cleanup old stuff.
 1.13  11-Dec-2002  pk * loadfile() return a file descriptor that must be closed.
* check the kernel size before loading
 1.12  09-Nov-2002  uwe Use BOOT_FLAG() macro to process flags.
 1.11  28-Mar-2002  pk Pass actual loaded kernel file in bootinfo[].
 1.10  21-Jun-2001  uwe branches: 1.10.2; 1.10.8;
Add PROM patches (forth code) as a table indexed with root node name
and prom version. Little tweaks to prom during secondary boot are
much easier then fragile work-arounds in the kernel. Currently this
is used for JavaStation 1 with OBP3.
 1.9  08-Nov-1999  pk Include <sys/exec.h> instead of <a.out.h>/
 1.8  12-Jun-1999  pk branches: 1.8.2; 1.8.4; 1.8.8;
Initialize the heap (for alloc()) explicitly, since the `end' symbol
is not necessarily double-word aligned.
 1.7  03-May-1999  christos Casts for PROM_LOADADDR which is not casted anymore.
 1.6  30-Apr-1999  christos Add bootinfo struct to pass symtab arguments.
XXX: This does not work with ELF yet, but I don't understand why...
 1.5  28-Apr-1999  christos Checkpoint of elf boot stuff:
- Use loadfile for both boot and installboot
- Fix problems with linking in bootxx
- Make installboot work with both a.out and ELF bootxx
- *WILL NOT BOOT YET ELF KERNELS* (a.out kernels work) I am working on it.
 1.4  15-Feb-1999  pk branches: 1.4.4;
Use PROMLIB to streamline this code. This also provides the bulk of
Open Firmware boot code.
 1.3  29-Aug-1998  mrg add support for finding kernels other than `netbsd'. the list is:
netbsd, netbsd.gz, netbsd.old, netbsd.old.gz, onetbsd, onetbsd.gz
and vmunix, in that order. this is used by the bootable `bootfs'
image (suitable for floppies and cdroms), which contains a netbsd.gz
by default.
while i'm here, fix up `boot [device] -s' which got broke when
booting kernels with a - in their name was fixed..
 1.2  14-Sep-1997  pk branches: 1.2.2;
Do not use KERNBASE to calculate the `end of symbols' location. Instead
use the `a_entry' field from the kernel's header as a base.

Pass on a new DDB magic number to the kernel, so kernels linked for a
different KERNBASE value can apply a correction when booted from old
bootblocks.
 1.1  01-Jun-1997  mrg branches: 1.1.4;
Completely rearrange SPARC boot code, modeling it after alpha and hp300
ports' boot programs. Also added support for loading gzip'd kernels,
useful for booting from floppy. From Jason R. Thorpe <thorpej@nas.nasa.gov>,
tested by Matthew Green <mrg@eterna.com.au> and Erik Fair <fair@clock.org>.
 1.1.4.1  16-Sep-1997  thorpej Update marc-pcmcia branch from trunk.
 1.2.2.1  19-Jan-1999  cgd pull up rev 1.3 from trunk (mrg)
 1.4.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.8.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.8.4.1  15-Nov-1999  fvdl Sync with -current
 1.8.2.1  20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.10.8.4  11-Dec-2002  thorpej Sync with HEAD.
 1.10.8.3  11-Nov-2002  nathanw Catch up to -current
 1.10.8.2  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.10.8.1  21-Jun-2001  nathanw file boot.c was added on branch nathanw_sa on 2002-04-01 07:42:56 +0000
 1.10.2.1  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.15.2.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.15.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.15.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.15.2.1  03-Aug-2004  skrll Sync with HEAD
 1.18.2.1  08-Apr-2004  jdc branches: 1.18.2.1.2;
Pull up revision 1.19 (requested by pk in ticket #95)

compat mode: skip double map at VA 0 if the physical load address is 0.
This allows a much wider range of historic kernels to be booted (w/ `-C').
 1.18.2.1.2.1  12-May-2005  riz Pull up revision 1.20 (requested by martin in ticket #1484):
Do not rely on strings to which pointers are returned by promlib functions
to persist accross further promlib calls.
This fixes (at least) bootjs.net.
 1.19.10.1  28-Apr-2005  tron Pull up revision 1.20 (requested by martin in ticket #210):
Do not rely on strings to which pointers are returned by promlib functions
to persist accross further promlib calls.
This fixes (at least) bootjs.net.
 1.19.4.1  29-Apr-2005  kent sync with -current
 1.21.2.2  03-Sep-2007  yamt sync with head.
 1.21.2.1  30-Dec-2006  yamt sync with head.
 1.22.8.1  11-Aug-2006  yamt sync with head
 1.22.4.1  09-Sep-2006  rpaulo sync with head
 1.23.10.1  12-Mar-2007  rmind Sync with HEAD.
 1.24.66.1  05-Mar-2011  rmind sync with head
 1.24.64.1  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.24.44.1  09-Oct-2010  yamt sync with head
 1.26.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.26.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.27.10.1  05-Jun-2012  jdc Pull up revisions:
src/sys/arch/sparc/include/bootinfo.h revision 1.6
src/sys/arch/sparc/sparc/autoconf.c revision 1.243
src/sys/arch/sparc/stand/boot/boot.c revision 1.28
src/sys/arch/sparc/stand/ofwboot/boot.c revision 1.29
src/sys/arch/sparc64/include/bootinfo.h revision 1.6-1.7
src/sys/arch/sparc64/sparc64/autoconf.c revision 1.186
(requested by martin in ticket #289).

Pass the "boothowto" from the bootloader to the kernel.
If (an old) bootloader did not pass the flags, check explicitly if we
missed RB_USERCONF and invoke userconf_prompt() in MD code, as MI code
already missed it.
This fixes PR 46466.

Ooops, remove definitions duplicated in <sparc/bootinfo.h>
 1.27.8.1  02-Jun-2012  mrg sync to latest -current.
 1.27.4.1  30-Oct-2012  yamt sync with head
 1.28.16.2  09-Jul-2016  skrll Sync with HEAD
 1.28.16.1  27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.28.2.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed