Home | History | Annotate | Download | only in ofwboot
History log of /src/sys/arch/macppc/stand/ofwboot/ofdev.c
RevisionDateAuthorComments
 1.31  10-Feb-2024  andvar Fix various typos in comments, log messages and documentation.
 1.30  17-Aug-2021  andvar fix multiplei repetitive typos in comments, messages and documentation. mainly because copy paste code big amount of files are affected.
 1.29  24-May-2021  martin PR 56205: make the 64bit build work
 1.28  28-Feb-2021  thorpej branches: 1.28.4; 1.28.6;
- When starting the boot program, cache a bunch of OFW frequently used
ihandles / phandles, rather than fetching them all the time.
- Change the signature of OF_call_method() to take an array of cells for
the inputs and outputs, rather than using variadic arguments. This
makes it much easier to use OF_call_method() when the format of the
arguments passed to a given method are determined at run-time
(due to e.g. #address-cells).
- Properly inform OpenFirmware where the kernel is loaded by using
"claim" on /chosen/memory and, if running in virtual-mode, using
"claim" on /chosen/mmu to reserve the VA, and "map" on /chosen/mmu
to enter the translation. (The kernel is still always mapped VA==PA.)
 1.27  16-Nov-2018  tsutsui branches: 1.27.12;
Fix boot failure from installation floppies. PR port-macppc/53103

Also bump version to denote a visible fix.
Should be pulled up to netbsd-8 and netbsd-7.
 1.26  19-Feb-2012  tsutsui branches: 1.26.14; 1.26.32; 1.26.38; 1.26.40;
Fix boot failure on OF 2.0 machines.

Discussed with phx@ on port-macppc@:
http://mail-index.NetBSD.org/port-macppc/2012/02/18/msg001556.html

Should be pulled up to netbsd-6.
 1.25  01-Feb-2012  matt branches: 1.25.2;
Allow ofwboot to read files from FAT(dosfs).
 1.24  07-Jul-2011  mrg branches: 1.24.2; 1.24.6;
avoid a multi-level cast issue
 1.23  17-Oct-2010  phx Read the Apple Partition Map to find a default root partition, when the
file name contains no OF path. Tested with OF3 (myself) and OF2 (tsutsui).
 1.22  28-Jan-2009  tsutsui branches: 1.22.4; 1.22.6;
- modify a pathname parse function to explicitly return devname and filename
- check floppyboot properly per devname before loadfile(), not in devopen()
- disable LOAD_NOTE on floppyboot to avoid backward seek
- bump revision

Tested floppy boot and IDE boot on Apus2000 with OpenFirmware 2.0.

Fixes PR install/38943 on macppc.
 1.21  12-Jan-2009  tsutsui WARNSfy
 1.20  22-May-2008  hauke branches: 1.20.6; 1.20.8;
Added driver for the Creative Systems Inc. Hurdler CPI parallel printer card.
Timecounter support for the Z8536 counters A + B is not complete, yet.

Reviewed by Martin Husemann.
 1.19  24-May-2006  mrg branches: 1.19.60; 1.19.62; 1.19.64; 1.19.66;
rename the local 'devsw' to of_devsw - devsw is already defined in libsa
as an 'extern' but this one is static.
 1.18  28-Jan-2006  uwe branches: 1.18.2; 1.18.4; 1.18.6; 1.18.12;
Add relevant #include's to get prototypes.
 1.17  27-Jan-2006  uwe Mostly make WARNS=4 happy.
Same object code generated, except for return 0 in devclose.
 1.16  11-Dec-2005  christos branches: 1.16.2;
merge ktrace-lwp.
 1.15  23-Jun-2005  junyoung branches: 1.15.2;
Use FS_OPS() macro.
 1.14  26-Dec-2003  aymeric ANSIfy and clean up prototypes.
This has been lying around in my tree for too long now.
 1.13  08-Oct-2003  lukem Overhaul MBR handling (part 1):

<sys/bootblock.h>:
* Added definitions for the Master Boot Record (MBR) used by
a variety of systems (primarily i386), including the format
of the BIOS Parameter Block (BPB).
This information was cribbed from a variety of sources
including <sys/disklabel_mbr.h> which this is a superset of.

As part of this, some data structure elements and #defines
were renamed to be more "namespace friendly" and consistent
with other bootblocks and MBR documentation.
Update all uses of the old names to the new names.

<sys/disklabel_mbr.h>:
* Deprecated in favor of <sys/bootblock.h> (the latter is more
"host tool" friendly).

amd64 & i386:
* Renamed /usr/mdec/bootxx_dosfs to /usr/mdec/bootxx_msdos, to
be consistent with the naming convention of the msdosfs tools.

* Removed /usr/mdec/bootxx_ufs, as it's equivalent to bootxx_ffsv1
and it's confusing to have two functionally equivalent bootblocks,
especially given that "ufs" has multiple meanings (it could be
a synonym for "ffs", or the group of ffs/lfs/ext2fs file systems).

* Rework pbr.S (the first sector of bootxx_*):
+ Ensure that BPB (bytes 11..89) and the partition table
(bytes 446..509) do not contain code.
+ Add support for booting from FAT partitions if BOOT_FROM_FAT
is defined. (Only set for bootxx_msdos).
+ Remove "dummy" partition 3; if people want to installboot(8)
these to the start of the disk they can use fdisk(8) to
create a real MBR partition table...
+ Compile with TERSE_ERROR so it fits because of the above.
Whilst this is less user friendly, I feel it's important
to have a valid partition table and BPB in the MBR/PBR.

* Renamed /usr/mdec/biosboot to /usr/mdec/boot, to be consistent
with other platforms.

* Enable SUPPORT_DOSFS in /usr/mdec/boot (stage2), so that
we can boot off FAT partitions.

* Crank version of /usr/mdec/boot to 3.1, and fix some of the other
entries in the version file.

installboot(8) (i386):
* Read the existing MBR of the filesystem and retain the BIOS
Parameter Block (BPB) in bytes 11..89 and the MBR partition
table in bytes 446..509. (Previously installboot(8) would
trash those two sections of the MBR.)

mbrlabel(8):
* Use sys/lib/libkern/xlat_mbr_fstype.c instead of homegrown code
to map the MBR partition type to the NetBSD disklabel type.


Test built "make release" for i386, and new bootblocks verified to work
(even off FAT!).
 1.12  11-Jul-2003  aymeric strategy() should really have an ANSI prototype. Otherwise its daddr_t
argument gets passed wrongly.
This should fix a bug reported by Martin J. Laubach on port-macppc, and
was fixed two weeks ago in NetBSD/ofppc.
 1.11  18-Jun-2002  itojun branches: 1.11.6;
avoid hardcoding MBR_MAGICOFF and MBR_MAGIC.
 1.10  17-Jun-2002  itojun LABELSECTOR is redefined to be 0 on macppc, so it is not usable for MBR
disk label offset. use hardcoded "1" for now, i guess we need a new #define
in sys/disklabel_mbr.h. fixes ofwboot to boot kernel off from MBR-formatted
disk.
 1.9  30-Mar-2002  tsutsui branches: 1.9.2;
Add ustarfs ops.
 1.8  29-Mar-2002  tsutsui Cosmetics.
 1.7  13-Aug-2001  tsubai branches: 1.7.6;
Search "/netbsd.gz" and "/netbsd.macppc" in addition to "/netbsd".
 1.6  22-Jul-2001  wiz bcopy -> memcpy, bzero -> memset, bcmp -> memcmp.
Reviewed by Matt Thomas, ok'd by Tsubai Masanari.
 1.5  14-Nov-2000  tsubai branches: 1.5.4;
Add hfs support. Currently this layer simply throw the request to the OF
(and the OF recognizes HFS).
 1.4  05-Mar-1999  tsubai branches: 1.4.8; 1.4.18;
Adapt Open Firmware 3.x. 1.x and 3.x are not bug-compatible...
 1.3  04-Feb-1999  tsubai Allocate DMA-aware memory area using "dma-alloc" method and use them
for data buffer.
XXX currently only netif_put() uses this.

iMac can use ofwboot.elf now.
 1.2  31-Jan-1999  tsubai Adapt disklabel_mbr.h change.
 1.1  15-May-1998  tsubai Initial import of macppc port.
 1.4.18.1  24-Apr-2001  he Pull up revision 1.5 (requested by tsubai):
Add HFS support to the boot loader.
 1.4.8.1  22-Nov-2000  bouyer Sync with HEAD.
 1.5.4.4  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.5.4.3  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.5.4.2  25-Aug-2001  thorpej Merge Aug 24 -current into the kqueue branch.
 1.5.4.1  03-Aug-2001  lukem update to -current
 1.7.6.3  20-Jun-2002  nathanw Catch up to -current.
 1.7.6.2  17-Apr-2002  nathanw Catch up to -current.
 1.7.6.1  13-Aug-2001  nathanw file ofdev.c was added on branch nathanw_sa on 2002-04-17 00:03:45 +0000
 1.9.2.1  16-Jul-2002  gehenna catch up with -current.
 1.11.6.4  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.11.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.11.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.11.6.1  03-Aug-2004  skrll Sync with HEAD
 1.15.2.1  21-Jun-2006  yamt sync with head.
 1.16.2.1  01-Feb-2006  yamt sync with head.
 1.18.12.1  19-Jun-2006  chap Sync with head.
 1.18.6.1  26-Jun-2006  yamt sync with head.
 1.18.4.1  01-Jun-2006  kardel Sync with head.
 1.18.2.1  09-Sep-2006  rpaulo sync with head
 1.19.66.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.19.64.1  04-May-2009  yamt sync with head.
 1.19.62.1  04-Jun-2008  yamt sync with head
 1.19.60.2  17-Jan-2009  mjf Sync with HEAD.
 1.19.60.1  02-Jun-2008  mjf Sync with HEAD.
 1.20.8.1  02-Feb-2009  snj Pull up following revision(s) (requested by tsutsui in ticket #407):
sys/arch/macppc/stand/ofwboot/boot.c: revision 1.23
sys/arch/macppc/stand/ofwboot/boot.h: revision 1.3
sys/arch/macppc/stand/ofwboot/ofdev.c: revision 1.22
sys/arch/macppc/stand/ofwboot/ofdev.h: revision 1.6
sys/arch/macppc/stand/ofwboot/version: revision 1.12
- modify a pathname parse function to explicitly return devname and filename
- check floppyboot properly per devname before loadfile(), not in devopen()
- disable LOAD_NOTE on floppyboot to avoid backward seek
- bump revision
Tested floppy boot and IDE boot on Apus2000 with OpenFirmware 2.0.
Fixes PR install/38943 on macppc.
 1.20.6.2  03-Mar-2009  skrll Sync with HEAD.
 1.20.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.22.6.1  05-Mar-2011  rmind sync with head
 1.22.4.1  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.24.6.2  24-Feb-2012  mrg sync to -current.
 1.24.6.1  18-Feb-2012  mrg merge to -current.
 1.24.2.1  17-Apr-2012  yamt sync with head
 1.25.2.1  22-Feb-2012  riz Pull up following revision(s) (requested by tsutsui in ticket #22):
sys/arch/macppc/stand/ofwboot/boot.c: revision 1.27
sys/arch/macppc/stand/ofwboot/boot.h: revision 1.4
sys/arch/macppc/stand/ofwboot/ofdev.c: revision 1.26
Fix boot failure on OF 2.0 machines.
Discussed with phx@ on port-macppc@:
http://mail-index.NetBSD.org/port-macppc/2012/02/18/msg001556.html
Should be pulled up to netbsd-6.
 1.26.40.1  10-Jun-2019  christos Sync with HEAD
 1.26.38.1  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.26.32.1  18-Nov-2018  martin Pull up following revision(s) (requested by tsutsui in ticket #1097):

sys/arch/macppc/stand/ofwboot/version: revision 1.14
sys/arch/macppc/stand/ofwboot/ofdev.c: revision 1.27

Fix boot failure from installation floppies. PR port-macppc/53727

Also bump version to denote a visible fix.

Should be pulled up to netbsd-8 and netbsd-7.
 1.26.14.1  18-Nov-2018  martin Pull up following revision(s) (requested by tsutsui in ticket #1651):

sys/arch/macppc/stand/ofwboot/version: revision 1.14
sys/arch/macppc/stand/ofwboot/ofdev.c: revision 1.27

Fix boot failure from installation floppies. PR port-macppc/53727

Also bump version to denote a visible fix.

Should be pulled up to netbsd-8 and netbsd-7.
 1.27.12.1  03-Apr-2021  thorpej Sync with HEAD.
 1.28.6.1  31-May-2021  cjep sync with head
 1.28.4.1  17-Jun-2021  thorpej Sync w/ HEAD.

RSS XML Feed