Home | History | Annotate | Download | only in ofwboot
History log of /src/sys/arch/sparc/stand/ofwboot/ofdev.c
RevisionDateAuthorComments
 1.37  15-Sep-2017  martin Add more details about the boot device as a new bootinfo record type.
From within the bootloader, when we have readily accessible instance
handles of the boot device, it is easy to query more details like SCSI
LUN, target, and FC-AL wwn from the firmware.
The kernel later would have a hard time getting theses, but can make good
use to match the boot device.
 1.36  25-Mar-2017  martin Virtio block devices may have a "scsi" device_type instead of "block",
so accept both.
 1.35  20-Feb-2014  joerg branches: 1.35.6; 1.35.10; 1.35.14;
Zero the block on failure, not just the first pointer in it.
 1.34  16-Apr-2013  martin branches: 1.34.4;
Make a "panic" message slightly more verbose
 1.33  16-Jul-2012  tsutsui branches: 1.33.2;
Fix tftpboot which was broken by my botched WARNSfy in last year.
Also add comments that mention libsa tftp requires network device socket
in f_devdata in struct open_file, from spz@ in PR port-sparc64/46652.
Briefly tested tftpboot and nfsboot on Ultra5.
 1.32  01-Jun-2011  tsutsui branches: 1.32.4; 1.32.10;
Fix harmless merge botch.
 1.31  21-May-2011  nakayama Fix debug build.
 1.30  21-May-2011  tsutsui WARNSfy and fix dumb bugs noticed by warnings.
 1.29  20-May-2011  he Put the external functions from net.c in it's own header file and
include it, and do some other minimal adjustments to bring this
back to a buildable state.

OK'ed by martin@
 1.28  04-Apr-2010  martin branches: 1.28.2;
Turn a printf into a DPRINTF(), since we will very likely recover from
the condition (and it happens on stock install CDs)
 1.27  02-Apr-2010  martin Add support for /boot.cfg. Implement a single command for now: override
the boot partition, which will be used for bootable CDs. Add cd9660
support.
 1.26  17-Feb-2010  eeh branches: 1.26.2;
Add support for ffsv2 and lfs.
 1.25  27-Jan-2010  martin branches: 1.25.2;
Properly close the firmware handle before starting the kernel.
This makes netbooting via bge* work.
 1.24  26-Oct-2009  cegger kill extra whitespaces
reviewed by tsutsui@
 1.23  18-Mar-2009  cegger bcopy -> memcpy
 1.22  18-Mar-2009  cegger bzero -> memset
 1.21  14-Mar-2009  dsl Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
 1.20  18-May-2008  mlelstv branches: 1.20.6; 1.20.12;
put back NetBSD tag
 1.19  12-May-2008  mlelstv add support for booting a kernel by tftp. Syntax is similar
to other systems, e.g.: boot net tftp:netbsd
 1.18  17-Oct-2007  garbled branches: 1.18.16; 1.18.18; 1.18.20; 1.18.22;
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.17  20-Sep-2007  martin Make filename() only return a partition if it actually found one in
the path.
 1.16  19-Sep-2007  martin Some aliases (like "cdrom") expand to a path that includes a partition -
deal with them.
 1.15  16-Sep-2007  martin Change "Boot:" prompt option parsing to be more in line with the default
(no prompt) behaviour - it is now possible to "boot net:dhcp -a" and then
say "disk" at the "Boot:" prompt - result should be equivalent to "boot disk",
but the ofwboot was loaded from the network.
While there fix a few minor errors, and one significant: if the "a" partition
should not start at the beginning of the disk, the previous code failed
to read a disklabel. Use the "c" partition now to find the disklabel now
always.
 1.14  14-Sep-2007  martin Rename the option to enable ISO 9660 file system support from ..._HSFS
to ..._CD9660.
 1.13  14-Sep-2007  martin Make sure the buffer used to read from disk is properly aligned to cast
it into a struct disklabel pointer w/o alignement problems.
(Bug did not hit by pure luck with our default optimization settings)
 1.12  13-Jul-2006  uwe branches: 1.12.14; 1.12.22; 1.12.32; 1.12.34;
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.11  11-May-2006  mrg don't shadow the kernel's devsw unnecessarily.
 1.10  27-Jan-2006  cdi branches: 1.10.2; 1.10.4; 1.10.6; 1.10.8; 1.10.10;
Alter sparc64 bootstrap:

- Map kernel with permanent 4MB pages to ease kernel's life
- Pass mappings down to the kernel as part of bootinfo structure
- Try to detect whether kernel is aware of the new boot scheme or not and
in the former case map the kernel using OpenFirmware and do not pass
bootinfo structure
- Provide -C switch to force compatibility mode if autodetection fails
- While on this, fix PR #25763: If load of default kernel fails, try one by
one those specified in compiled-in list

Much inspired by the bootloader of FreeBSD, with some imported code from there.
 1.9  11-Dec-2005  christos branches: 1.9.2;
merge ktrace-lwp.
 1.8  23-Jun-2005  junyoung branches: 1.8.2;
Use FS_OPS() macro.
 1.7  22-Jun-2005  junyoung Remove trailing spaces.
 1.6  13-Nov-2004  grant tweak an error message.
 1.5  18-Jun-2004  martin Better support for booting from partitions != a or at the start of the
disk, allow commands like "boot disk:d disk:d/netbsd" to work.
Use the real RF_PROTECTED_SECTORS define instead of a local magic number.
While there, minor cosmetics in diagnostics/output format.
 1.4  01-Jan-2003  mrg branches: 1.4.2;
KNF.
 1.3  20-Oct-2002  martin Allow hyphen in kernel names. Bump version.
Should fix PR 13429 and PR 18691.
 1.2  29-Jul-2002  mrg bump offset by RF_PROTECTED_SECTORS if FS_RAID
 1.1  20-Aug-2000  mrg branches: 1.1.2; 1.1.4; 1.1.8; 1.1.12; 1.1.20; 1.1.22;
move ofwboot & bootblk here; add a Makefile to build ofwboot.net
 1.1.22.1  06-May-2004  jmc Pullup rev 1.3 (requested by martin in ticket #1684)

Allow hyphen in kernel names.
When calculating the allocated symbol table size, round up the section
sizes with ELF_ALIGN(). PR#13429 PR#18691 PR#25429
 1.1.20.1  31-Aug-2002  gehenna catch up with -current.
 1.1.12.3  03-Jan-2003  thorpej Sync with HEAD.

XXX ALT_SWITCH_CODE is not yet LWP'ified.
 1.1.12.2  11-Nov-2002  nathanw Catch up to -current
 1.1.12.1  01-Aug-2002  nathanw Catch up to -current.
 1.1.8.1  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.1.4.2  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.1.4.1  20-Aug-2000  bouyer file ofdev.c was added on branch thorpej_scsipi on 2000-11-20 20:25:51 +0000
 1.1.2.2  26-Aug-2000  mrg move these from arch/sparc64/stand; approved by thorpej.
 1.1.2.1  20-Aug-2000  mrg file ofdev.c was added on branch netbsd-1-5 on 2000-08-26 00:05:18 +0000
 1.4.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.4.2.4  14-Nov-2004  skrll Sync with HEAD.
 1.4.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1  03-Aug-2004  skrll Sync with HEAD
 1.8.2.3  27-Oct-2007  yamt sync with head.
 1.8.2.2  30-Dec-2006  yamt sync with head.
 1.8.2.1  21-Jun-2006  yamt sync with head.
 1.9.2.1  01-Feb-2006  yamt sync with head.
 1.10.10.1  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.10.8.1  11-May-2006  elad sync with head
 1.10.6.2  11-Aug-2006  yamt sync with head
 1.10.6.1  24-May-2006  yamt sync with head.
 1.10.4.1  01-Jun-2006  kardel Sync with head.
 1.10.2.1  09-Sep-2006  rpaulo sync with head
 1.12.34.1  06-Nov-2007  matt sync with HEAD
 1.12.32.1  02-Oct-2007  joerg Sync with HEAD.
 1.12.22.1  03-Oct-2007  garbled Sync with HEAD
 1.12.14.1  09-Oct-2007  ad Sync with head.
 1.18.22.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.20.4  11-Aug-2010  yamt sync with head.
 1.18.20.3  11-Mar-2010  yamt sync with head
 1.18.20.2  04-May-2009  yamt sync with head.
 1.18.20.1  16-May-2008  yamt sync with head.
 1.18.18.2  04-Jun-2008  yamt sync with head
 1.18.18.1  18-May-2008  yamt sync with head.
 1.18.16.1  02-Jun-2008  mjf Sync with HEAD.
 1.20.12.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.20.6.1  28-Apr-2009  skrll Sync with HEAD.
 1.25.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.26.2.3  12-Jun-2011  rmind sync with head
 1.26.2.2  31-May-2011  rmind sync with head
 1.26.2.1  30-May-2010  rmind sync with head
 1.28.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.32.10.1  21-Jul-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #433):
sys/arch/sparc/stand/ofwboot/net.h: revision 1.3
sys/arch/sparc/stand/ofwboot/net.c: revision 1.8
sys/arch/sparc/stand/ofwboot/ofdev.c: revision 1.33
Fix tftpboot which was broken by my botched WARNSfy in last year.
Also add comments that mention libsa tftp requires network device socket
in f_devdata in struct open_file, from spz@ in PR port-sparc64/46652.
Briefly tested tftpboot and nfsboot on Ultra5.
 1.32.4.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.32.4.1  30-Oct-2012  yamt sync with head
 1.33.2.3  03-Dec-2017  jdolecek update from HEAD
 1.33.2.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.33.2.1  23-Jun-2013  tls resync from head
 1.34.4.1  18-May-2014  rmind sync with head
 1.35.14.1  21-Apr-2017  bouyer Sync with HEAD
 1.35.10.1  26-Apr-2017  pgoyette Sync with HEAD
 1.35.6.1  28-Aug-2017  skrll Sync with HEAD

RSS XML Feed