Home | History | Annotate | Download | only in boot
History log of /src/sys/arch/x68k/stand/boot/boot.c
RevisionDateAuthorComments
 1.33  08-Aug-2025  isaki Fix an issue where the boot device was set to "sd0`" when sd_getbsdpartition()
returned an error.
 1.32  07-Jan-2024  isaki TAB/space/indent cleanup.
 1.31  14-Jan-2020  isaki consio_init() should be done before printf().
 1.30  04-Aug-2016  isaki branches: 1.30.16; 1.30.22;
gets -> kgets. the last part of PR/51200.
It was using libsa's gets, so it's possible to change to kgets
as rev 1.23. I've confirmed that it works.
 1.29  26-Jun-2016  isaki branches: 1.29.2;
Add SCSI host adaptor selector to "boot" command of /boot.
By this function, /boot which booted from non-SCSI
(in other words, floppy) can load SCSI kernel.
Now, single /boot can load kernel of all supported filesystems
of all supported boot devices.

---
New "boot" command's syntax is: boot [hostadaptor@][dev:][file]

If you booted from SCSI, hostadaptor is already set (from IOCS)
and you can omit hostadaptor in this case. You can type like
"boot sd0a:netbsd" as before.

If you booted from floppy (hostadaptor is not set) and want to
load the SCSI kernel (hostadaptor is needed), you have to select
your hostadaptor in boot command, like "boot spc0@sd0a:netbsd".
 1.28  25-Jun-2016  isaki Fix my mistake of previous commit.
 1.27  25-Jun-2016  isaki Unify netboot and boot (into boot).
Now boot becomes to be able to load the NFS kernel and
netboot also becomes to be able to load the local kernel.
The only difference is the default kernel which loads.
I.e., netboot's default is nfs.

Bump boot_ustar's BOOT_MAXSIZE.
 1.26  19-Jun-2016  isaki Display debug messages before loading the kernel.
It makes easy to read.
 1.25  19-Jun-2016  isaki Split variable.
'dev' is the device number in devspec[] and
'bootdev' is the boot device parameter made from 'dev'.
 1.24  11-Jun-2016  dholland Revert this one; I can't tell for sure if it's using libsa gets or its
own firmware one in ../libdos. If the latter, switching and bringing
in the libsa one (a) might not work and (b) might make the bootloader
overflow size limits.

PR 51200.
 1.23  11-Jun-2016  dholland PR 51200 gets in libsa considered harmful: use kgets
 1.22  05-Aug-2014  isaki branches: 1.22.4;
Support a 'switch' command.
It displays/modifies some SRAM parameters on X680x0, like as
memswitch(1) or Human68k's SWITCH.X .
It makes easy to change the boot devices or correct the inconsistency
of SRAM/real memory size.

sample usage:
> switch show .. show all supported parameters
> switch boot=std .. set boot order to 'STD'
> switch memory=12 .. set memory size to 12MB
 1.21  06-Jul-2014  tsutsui Probe the actual memory size and warn if it's different from SRAM value.

Without this, ancient X680x0 machines with a dead SRAM battery will
fail to boot silently (or hang right after early copyright messages).

Discussed with and reviewed by isaki@.

XXX: probably we should rather pass the probed memory size to a kernel
XXX: than the size value stored in SRAM..
 1.20  06-Jul-2014  tsutsui Merge and share boot.c between normal boot and netboot by dumb #ifdefs.

Tested on XM6i.
 1.19  06-Jul-2014  tsutsui Reduce diffs to prepare to merge these files.
 1.18  20-Mar-2012  minoura branches: 1.18.2; 1.18.12;
Be silent.
 1.17  25-Dec-2011  tsutsui Apply the following patch submitted by Evgeniy Ivanov:
http://mail-index.NetBSD.org/tech-kern/2011/12/15/msg012226.html
http://mail-index.NetBSD.org/tech-kern/2011/12/17/msg012229.html

- add 'ls' op to struct fs_ops to support ls command on each fs,
enabled by -DLIBSA_ENABLE_LS_OP and SAMISCMAKEFLAGS+="SA_ENABLE_LS_OP=yes"
in libsa
- split sys/lib/libsa/ufs_ls.c into UFS specific part and MI part (ls.c)
that opens the target fs and calls fs-depedent XXX_ls() functions
- add a ls op for ext2fs
(all other fs than ufs and ext2fs don't have actual ls ops yet)
- replace existing MD ufs_ls() calls with this new MI ls()

The original patch was written for i386 and ext2fs.
zaurus zboot has been tested by nonaka@.
ews4800mips and x68k loaders have been tested by me (with several fixes).
landisk might be okay since it was almost copied from i386.

XXX1: "ls" op in fs_ops looks a bit inconsistent, but we will be able to
replace it with real fs ops like readdir if it's really worth
XXX2: someone might have to check sys/arch/ia64/stand/efi/libefi/efifs_ls.c
 1.16  22-Jan-2011  joerg branches: 1.16.4; 1.16.8;
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.15  25-Aug-2010  christos branches: 1.15.2; 1.15.4;
s/LOAD_NOTE/LOAD_BACKWARDS/
 1.14  31-Jan-2009  tsutsui branches: 1.14.4; 1.14.6;
Disable LOAD_NOTE on floppy boot.
Tested by isaki@ and fixes PR install/38943 on x68k.
 1.13  17-Oct-2007  garbled branches: 1.13.20; 1.13.28; 1.13.30;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.12  12-May-2007  isaki branches: 1.12.10;
Remove a local block for readability.
 1.11  04-Mar-2007  christos branches: 1.11.2; 1.11.4; 1.11.10;
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
 1.10  11-Dec-2005  christos branches: 1.10.26;
merge ktrace-lwp.
 1.9  18-Sep-2005  nsmrtks Add diagnostic message. (for debugging with 060)
 1.8  02-Dec-2001  minoura branches: 1.8.2; 1.8.18; 1.8.34;
Small message fixes.
 1.7  15-Oct-2001  minoura branches: 1.7.4;
Use newvers_stand.sh to record the version.
 1.6  15-Oct-2001  minoura Prepare to set WARNS=2.
 1.5  01-Oct-2001  minoura Add a prompt message.
 1.4  29-Sep-2001  minoura Implement ls command.
Correct bootdev detection.
Other minor changes.
 1.3  29-Sep-2001  minoura Minor KNF.
 1.2  28-Sep-2001  minoura Message cosmetics.
 1.1  27-Sep-2001  minoura Initial commit of the new bootloader to support ELF kernel.
It consists of two programs named boot_ufs and boot; the former reads
the latter (an OMAGIC a.out).
Boot now utilizes the libsa library to read the actual kernel.

- LFS code exists, but probobly does not work.
- Currently the ELF toolchain is required.
- Many features are missing.
 1.7.4.2  08-Jan-2002  nathanw Catch up to -current.
 1.7.4.1  15-Oct-2001  nathanw file boot.c was added on branch nathanw_sa on 2002-01-08 00:28:44 +0000
 1.8.34.2  03-Sep-2007  yamt sync with head.
 1.8.34.1  21-Jun-2006  yamt sync with head.
 1.8.18.1  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.8.2.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.8.2.1  02-Dec-2001  thorpej file boot.c was added on branch kqueue on 2002-01-10 19:50:26 +0000
 1.10.26.2  17-May-2007  yamt sync with head.
 1.10.26.1  12-Mar-2007  rmind Sync with HEAD.
 1.11.10.1  22-May-2007  matt Update to HEAD.
 1.11.4.1  11-Jul-2007  mjf Sync with head.
 1.11.2.1  27-May-2007  ad Sync with head.
 1.12.10.1  06-Nov-2007  matt sync with HEAD
 1.13.30.1  02-Feb-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #407):
sys/arch/x68k/stand/boot/boot.c: revision 1.14
Disable LOAD_NOTE on floppy boot.
Tested by isaki@ and fixes PR install/38943 on x68k.
 1.13.28.1  03-Mar-2009  skrll Sync with HEAD.
 1.13.20.2  09-Oct-2010  yamt sync with head
 1.13.20.1  04-May-2009  yamt sync with head.
 1.14.6.1  05-Mar-2011  rmind sync with head
 1.14.4.1  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.15.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.15.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.16.8.2  05-Apr-2012  mrg sync to latest -current.
 1.16.8.1  18-Feb-2012  mrg merge to -current.
 1.16.4.1  17-Apr-2012  yamt sync with head
 1.18.12.1  10-Aug-2014  tls Rebase.
 1.18.2.2  03-Dec-2017  jdolecek update from HEAD
 1.18.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.22.4.2  05-Oct-2016  skrll Sync with HEAD
 1.22.4.1  09-Jul-2016  skrll Sync with HEAD
 1.29.2.1  06-Aug-2016  pgoyette Sync with HEAD
 1.30.22.1  17-Jan-2020  ad Sync with head.
 1.30.16.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed