Home | History | Annotate | Download | only in ofwboot
History log of /src/sys/arch/macppc/stand/ofwboot/Makefile
RevisionDateAuthorComments
 1.62  25-Jul-2025  martin PR 59550: do not build ofwboot as PIE.
While there, disabel all sanitziers too.
 1.61  10-May-2025  martin Strip ofwboot.xcf, pointed out in

https://mail-index.netbsd.org/port-macppc/2024/02/03/msg003076.html

While here avoid modifying the binary in-place to make this more
parallel make safe.
 1.60  28-Feb-2021  thorpej branches: 1.60.24;
- 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.59  06-Jun-2018  uwe branches: 1.59.14;
Provide an option to use libsa allocator. Not yet enabled. Same
binary code is generated.

To enable uncomment -DHEAP_VARIABLE and comment out alloc.c in the
makefile.

PR port-macppc/44895
 1.58  20-Apr-2017  uwe branches: 1.58.10;
Quash .eh_frame unwind tables in boot code.
 1.57  20-Apr-2017  uwe Group CLEANFILES assignments.
 1.56  08-Apr-2017  christos centralize vers.c building for standalone programs.
 1.55  24-Dec-2014  matt branches: 1.55.2; 1.55.4;
Don't strip the .mrg since the symbols can be useful.
 1.54  10-Aug-2014  joerg branches: 1.54.4;
Put GCC/GAS specific options under ACTIVE_CC == "gcc".
 1.53  08-Aug-2014  joerg Don't set -mmultiple or -mno-string for PowerPC, the difference is too
small to really matter and it sometimes even increases the size.
 1.52  12-Jan-2014  tsutsui branches: 1.52.2;
Add empty LIBCRTI= as LIBCRT0 to build sa programs without installed DESTDIR.

XXX: probabry we should have bsd.saprog.mk or something.
 1.51  22-Jan-2011  joerg branches: 1.51.4; 1.51.14; 1.51.18;
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.50  27-May-2010  dholland branches: 1.50.2; 1.50.4;
Introduce .WAIT into the cleandir rule for blasting the libsa/libkern/etc.
trees, because it can race with the libsa/libkern/etc. makefiles' own
cleandir rules. I think I've found all of the uses of the offending idiom...
Closes PR 43360.
 1.49  03-Apr-2009  tsutsui branches: 1.49.2; 1.49.4;
Remove obsolete LIBSA_USE_MEMCPY and LIBSA_USE_MEMSET.
They were removed from <lib/libsa/stand.h> on December 2007.
 1.48  15-Mar-2009  tsutsui Use <bsd.klinks.mk> to create MD include dir symlinks.
 1.47  12-Jan-2009  tsutsui branches: 1.47.2;
WARNSfy
 1.46  22-May-2008  hauke branches: 1.46.6;
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.45  11-Dec-2005  christos branches: 1.45.74; 1.45.76; 1.45.78; 1.45.80;
merge ktrace-lwp.
 1.44  21-Jun-2004  jmc Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.43  09-Apr-2004  matt When linking, use ${_MKTARGET_LINK} so that MAKEVERBOSE=1 looks right.
 1.42  12-Mar-2004  wrstuden branches: 1.42.2;
Fix ofwboot to deal with larger kernels. Rather than loading at
0x6?0000, load at 0xe00000. This gives us room for around 13 MB of
kernel, as opposed to the current 5 MB (0x600000 - 0x100000).

No changes to load-base or real-base are needed due to this change,
though machines that needed specific OFW settings before (OF 1.x
and 2.x) this change still need those settings.

Partially revert revision 1.25 -> 1.26 of ofwboot/Makefile & friends.
We do not need to distinguish between where ofwboot and ofwboot.{elf,xcf}
load; they are both fine loading somewhere other than load-base.
 1.41  26-Dec-2003  aymeric revert previous. -fwritable-strings is not needed now that the ld script
does TRT.
 1.40  26-Dec-2003  aymeric add -fwritable-strings to DBG, so that gcc doesn't generate a ".rodata" section.
I believe this fixes PR port-macppc/23206 and the "ofwboot.xcf issues" reported
on the lists since november.
 1.39  11-Dec-2003  matt Convert fixcoff into a true host tool by making it under tools.
 1.38  26-Oct-2003  lukem Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
 1.37  28-Feb-2003  matt branches: 1.37.2;
Make this play with gcc 3.3. Add -ffreestanding. Cleanup bootxx.
 1.36  09-Dec-2002  thorpej No need to depend on userland libraries here.
 1.35  20-Sep-2002  wrstuden Re-add own alloc(). Recent issues with kernels randomly dying on boot
are related to using libsa's alloc(). Problems go away with this alloc().

The problem is that the libsa alloc() assumes we can grab memory off
the end of the program. That assumption doesn't work for us. It's
much better to use the alloc() we were using as it calls OF_claim()
to get memory.
 1.34  18-Jun-2002  itojun avoid hardcoding MBR_MAGICOFF and MBR_MAGIC.
 1.33  13-Apr-2002  tsutsui branches: 1.33.2; 1.33.4;
Add "cleanlibdir" target.
 1.32  13-Apr-2002  tsutsui Set USE_LIBSA_MEMCPY and USE_LIBSA_MEMSET to save a few bytes.
 1.31  30-Mar-2002  tsutsui Enable SUPPORT_USTARFS and HAVE_CHANGEDISK_HOOK in CPPFLAGS.
 1.30  29-Mar-2002  tsutsui Add back -I. to CPPFLAGS.
 1.29  29-Mar-2002  tsutsui Cleanup some flags.
 1.28  02-Mar-2002  jmc Wrap the generation of machine and powerpc links so they don't happen during
make obj, clean or cleandir as the proper objdir may not be around yet.
 1.27  13-Feb-2002  wrstuden Make this work with the dependall target.

Pointed out by Christian Groessle on port-macppc, and patch suggested bu
Izumi Tsutsui.
 1.26  01-Feb-2002  wrstuden Check in machinery to make ofwboot load at 600000, while ofwboot.elf
and ofwboot.xcf will load at 640000. The idea is that we can now
leave load-base at 600000, and it will work right for all three methods.

The problem is that the file loader and the net loader use load-base
as a scratch area, so if the executable really wants to load there,
the load fails.
 1.25  07-Jan-2002  matt Remove machine/powerpc links on clean as well.
 1.24  12-Dec-2001  tv MKfoo=no -> NOfoo
 1.23  14-Nov-2001  tv ${MAKE} print-objdir -> ${PRINTOBJDIR}
 1.22  22-Sep-2001  tv branches: 1.22.4;
objcopy -> ${OBJCOPY}; remove redundant definitions of OBJCOPY?= (it is
now in bsd.own.mk).
 1.21  18-Jul-2001  matt branches: 1.21.2;
Add -Wno-main since this is a standalone program.
 1.20  16-Nov-2000  matt branches: 1.20.4;
It's hfs.c, not hfs. Add -I${.CURDIR} for objdirs. XXX hfs.c should
be integrated into libsa.
 1.19  14-Nov-2000  tsubai Add hfs support. Currently this layer simply throw the request to the OF
(and the OF recognizes HFS).
 1.18  28-Oct-2000  garbled make -> ${MAKE}
 1.17  13-Oct-2000  wrstuden Move ofwboot to 600000 hex. Should make loading better (less likely to
run into OF internals).
 1.16  25-Jul-2000  tsubai Use libsa alloc().
 1.15  25-Jul-2000  tsubai Add ofwboot.{mrg,xcf} to CLEANFILES.
 1.14  25-Jul-2000  tsubai Make this compile again.
 1.13  21-Jul-2000  jdolecek switch to sys/conf/newvers_stand.sh for generation of version file
slighly adjust the Makefile WRT vers.c and SRCS & CLEANFILES
 1.12  06-Jul-2000  dmcmahill make sure ofwboot.xcf gets installed
 1.11  08-Jun-2000  matt branches: 1.11.2;
Squeeze a few more bytes so the INSTALL kernel will fit on a floppy.
Use tlp instead of de. Add in gm[ac]. Remove slip and Gallant 22x12 font.
Compile ofwboot.elf -Os.
 1.10  29-Apr-2000  mycroft branches: 1.10.2;
Use DHCP, not BOOTP. At least with dhcpd, the root path gets dropped due to
lack of space in the reply when using BOOTP.
 1.9  07-Feb-2000  tsubai Move CFLAGS and CPPFLAGS to {bootxx,ofwboot}/Makefile to compile installboot
without -D_STANDALONE.
 1.8  23-Jan-2000  mycroft Clean up the machine symlink stuff ever so slightly. Needs to be
standardized between files.
 1.7  23-Nov-1999  wrstuden Now make an ofwboot.xcf, and XCOFF version of ofwboot. Uses the new
fix-coff program.
 1.6  21-Jun-1999  wrstuden branches: 1.6.2; 1.6.8;
Install ofwboot.elf in addition to ofwboot. Thanks to Chris for info on how
to do this!
 1.5  29-Apr-1999  tsubai Use MI loadfile().
 1.4  13-Feb-1999  lukem branches: 1.4.2; 1.4.4;
convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
 1.3  26-Jun-1998  tsubai Change load address of ofwboot for large (md root) kernel.
 1.2  12-Jun-1998  tsubai Add primary boot (bootxx) and installboot command.
 1.1  15-May-1998  tsubai Initial import of macppc port.
 1.4.4.2  01-Jul-1999  thorpej Sync w/ -current.
 1.4.4.1  21-Jun-1999  thorpej Sync w/ -current.
 1.4.2.1  13-Jul-2000  he Apply patch (requested by he):
Enhance the ``make release'' process:
o Build and install the distrib and boot bits
 1.6.8.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.6.2.2  22-Nov-2000  bouyer Sync with HEAD.
 1.6.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.2.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.11.2.6  14-Feb-2002  he Pull up revision 1.27 (requested by wrstuden):
Make this work with the dependall target.
 1.11.2.5  13-Feb-2002  he Pull up revisions 1.14-1.15,1.25 (via patch, requested by wrstuden):
Make it so that we can use load-base 600000 for ofwboot, ofwboot.elf,
and ofwboot.xcf. The fundamental problem is that for ofwboot,
load-base needs to be the load point, while for ofwboot.xcf and
ofwboot.elf, it needs to not be the load point, but rather a
scratch buffer used for loading.
 1.11.2.4  24-Apr-2001  he Pull up revisions 1.19-1.20 (via patch, requested by tsubai):
Add HFS support to the boot loader.
 1.11.2.3  09-Nov-2000  tv Pullup patch [matt]:
Add -mmultiple to COPTS as it is in DBG on the trunk; shrinks ofwboot by 4K.
 1.11.2.2  17-Oct-2000  tv Pullup 1.17 [wrstuden]:
Move ofwboot to 600000 hex. Should make loading better (less likely to
run into OF internals).
 1.11.2.1  03-Aug-2000  dmcmahill Pull up revision 1.12 (requested by dmcmahill, approved by thorpej):
Add ofwboot.xcf to the list of files to be installed.
Fixes PR10418.
 1.20.4.7  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.20.4.6  06-Sep-2002  jdolecek sync kqueue branch with HEAD
 1.20.4.5  23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.20.4.4  16-Mar-2002  jdolecek Catch up with -current.
 1.20.4.3  11-Feb-2002  jdolecek Sync w/ -current.
 1.20.4.2  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.20.4.1  03-Aug-2001  lukem update to -current
 1.21.2.1  01-Oct-2001  fvdl Catch up with -current.
 1.22.4.9  11-Dec-2002  thorpej Sync with HEAD.
 1.22.4.8  18-Oct-2002  nathanw Catch up to -current.
 1.22.4.7  20-Jun-2002  nathanw Catch up to -current.
 1.22.4.6  17-Apr-2002  nathanw Catch up to -current.
 1.22.4.5  01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.22.4.4  28-Feb-2002  nathanw Catch up to -current.
 1.22.4.3  11-Jan-2002  nathanw More catchup.
 1.22.4.2  08-Jan-2002  nathanw Catch up to -current.
 1.22.4.1  22-Sep-2001  nathanw file Makefile was added on branch nathanw_sa on 2002-01-08 00:26:15 +0000
 1.33.4.1  30-Sep-2002  lukem Pull up revision 1.35 (requested by wrstuden in ticket #866):
Re-add own alloc(). Recent issues with kernels randomly dying on boot
are related to using libsa's alloc(). Problems go away with this alloc().
The problem is that the libsa alloc() assumes we can grab memory off
the end of the program. That assumption doesn't work for us. It's
much better to use the alloc() we were using as it calls OF_claim()
to get memory.
 1.33.2.1  16-Jul-2002  gehenna catch up with -current.
 1.37.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.37.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.37.2.1  03-Aug-2004  skrll Sync with HEAD
 1.42.2.1  22-Jun-2004  tron Pull up revision 1.44 (requested by jmc in ticket #531):
Ignore errors on some rm -rf's for platforms that aren't quite
POSIX compliant
and return errors on r/o source (FreeBSD) for -rf. Fixes PR#25022
 1.45.80.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.45.78.2  11-Aug-2010  yamt sync with head.
 1.45.78.1  04-May-2009  yamt sync with head.
 1.45.76.1  04-Jun-2008  yamt sync with head
 1.45.74.2  17-Jan-2009  mjf Sync with HEAD.
 1.45.74.1  02-Jun-2008  mjf Sync with HEAD.
 1.46.6.2  28-Apr-2009  skrll Sync with HEAD.
 1.46.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.47.2.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.49.4.2  05-Mar-2011  rmind sync with head
 1.49.4.1  30-May-2010  rmind sync with head
 1.49.2.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.50.4.1  08-Feb-2011  bouyer Sync with HEAD
 1.50.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.51.18.1  18-May-2014  rmind sync with head
 1.51.14.2  03-Dec-2017  jdolecek update from HEAD
 1.51.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.51.4.1  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.52.2.1  10-Aug-2014  tls Rebase.
 1.54.4.2  28-Aug-2017  skrll Sync with HEAD
 1.54.4.1  06-Apr-2015  skrll Sync with HEAD
 1.55.4.1  21-Apr-2017  bouyer Sync with HEAD
 1.55.2.1  26-Apr-2017  pgoyette Sync with HEAD
 1.58.10.1  25-Jun-2018  pgoyette Sync with HEAD
 1.59.14.1  03-Apr-2021  thorpej Sync with HEAD.
 1.60.24.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed