History log of /openbsd-current/sys/arch/macppc/stand/ofwboot/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.21 10-May-2021 gkoehler

Add ld.script for macppc kernel, ofwboot

These are copies of powerpc64/conf/ld.script with some changes for
macppc. They work with both ld.bfd and ld.lld.

The ld.script fixes ld.lld. Without ld.script, lld would set the
symbol "etext" to a wrong value like 0x10000034, then ofwboot would
freeze and fail to boot the kernel. With ld.script, we PROVIDE a
correct etext.

ok kettenis@


Revision tags: OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
# 1.20 16-Mar-2020 otto

Teach macppc ofwboot(8) about ffs2. Test and ok gkoehler@


# 1.19 28-Nov-2019 bluhm

Implement a hexdump command in the boot loader. This helps to
inspect the memory layout that the firmware has created. It is
especially useful for UEFI debugging.
OK deraadt@ kettenis@


# 1.18 29-Oct-2019 deraadt

Use arc4 to bit-spread the 512-byte random buffer over the .openbsd.randomdata
section, which has grown a fair bit with the introduction of retguard.
Mortimer discovered the repeated 512-byte sequence as retguard keys, and
this resolves the issue. (Chacha does not fit on the media, so 1.5K early
drop RC4 is hopefully sufficient in our KARL link universe)
Version crank the bootblocks. sysupgrade -s will install new bootblocks.
ok djm mortimer


Revision tags: OPENBSD_6_6_BASE
# 1.17 03-Aug-2019 deraadt

In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.

Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.

based upon a discussion florian
tested in snapshots for more than a week without any complaints


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot


# 1.20 16-Mar-2020 otto

Teach macppc ofwboot(8) about ffs2. Test and ok gkoehler@


# 1.19 28-Nov-2019 bluhm

Implement a hexdump command in the boot loader. This helps to
inspect the memory layout that the firmware has created. It is
especially useful for UEFI debugging.
OK deraadt@ kettenis@


# 1.18 29-Oct-2019 deraadt

Use arc4 to bit-spread the 512-byte random buffer over the .openbsd.randomdata
section, which has grown a fair bit with the introduction of retguard.
Mortimer discovered the repeated 512-byte sequence as retguard keys, and
this resolves the issue. (Chacha does not fit on the media, so 1.5K early
drop RC4 is hopefully sufficient in our KARL link universe)
Version crank the bootblocks. sysupgrade -s will install new bootblocks.
ok djm mortimer


Revision tags: OPENBSD_6_6_BASE
# 1.17 03-Aug-2019 deraadt

In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.

Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.

based upon a discussion florian
tested in snapshots for more than a week without any complaints


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot


# 1.19 28-Nov-2019 bluhm

Implement a hexdump command in the boot loader. This helps to
inspect the memory layout that the firmware has created. It is
especially useful for UEFI debugging.
OK deraadt@ kettenis@


# 1.18 29-Oct-2019 deraadt

Use arc4 to bit-spread the 512-byte random buffer over the .openbsd.randomdata
section, which has grown a fair bit with the introduction of retguard.
Mortimer discovered the repeated 512-byte sequence as retguard keys, and
this resolves the issue. (Chacha does not fit on the media, so 1.5K early
drop RC4 is hopefully sufficient in our KARL link universe)
Version crank the bootblocks. sysupgrade -s will install new bootblocks.
ok djm mortimer


Revision tags: OPENBSD_6_6_BASE
# 1.17 03-Aug-2019 deraadt

In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.

Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.

based upon a discussion florian
tested in snapshots for more than a week without any complaints


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot


# 1.18 29-Oct-2019 deraadt

Use arc4 to bit-spread the 512-byte random buffer over the .openbsd.randomdata
section, which has grown a fair bit with the introduction of retguard.
Mortimer discovered the repeated 512-byte sequence as retguard keys, and
this resolves the issue. (Chacha does not fit on the media, so 1.5K early
drop RC4 is hopefully sufficient in our KARL link universe)
Version crank the bootblocks. sysupgrade -s will install new bootblocks.
ok djm mortimer


Revision tags: OPENBSD_6_6_BASE
# 1.17 03-Aug-2019 deraadt

In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.

Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.

based upon a discussion florian
tested in snapshots for more than a week without any complaints


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot


# 1.17 03-Aug-2019 deraadt

In the bootblocks, after discovering and opening /bsd.upgrade, fchmod -x
so the file cannot be re-executed upon the next boot. This provides a
stronger one-shot-upgrade model than the upgrade script's rm /bsd.upgrade.
Now various forms of upgrade failure will reboot into /bsd, which is probably
more recoverable. Performing fchmod -x depends on (1) use of MI boot.c
(not alpha/macppc/sparc64/sgi/octeon) and (2) "can write blocks" functionality
in the IO layer. Most architectures have this support now.

Two diagnostics "fchmod a-x %s: failed" and "/bsd.upgrade is not u+x" will
remain in the tree while refinements happen for some of the laggard
architectures.

based upon a discussion florian
tested in snapshots for more than a week without any complaints


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot


# 1.16 20-Apr-2019 deraadt

libsa's memcpy() is actually memmove(). make a proper memmove(), and give
memcpy() correct behaviour. This also brings the bcopy() macro into line.


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE
# 1.15 30-Jul-2016 guenther

Prep for relro: make sure it's off for any non-PIE stand/ program

ok millert@ kettenis@


Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE
# 1.14 11-Sep-2015 miod

Build actual boot code with -D_STANDALONE so that we do not include userland
headers by mistake.


Revision tags: OPENBSD_5_7_BASE OPENBSD_5_8_BASE
# 1.13 19-Nov-2014 miod

Add netudp.c here too for consistency, even though this code ends up not being
referenced by the bootblocks.


Revision tags: OPENBSD_5_6_BASE
# 1.12 13-Jul-2014 jasper

more hanging tabs


# 1.11 13-Jul-2014 miod

No libsa putchar wanted here actually


# 1.10 13-Jul-2014 jasper

move putchar() into libsa

"sure" miod@


# 1.9 12-Jul-2014 jasper

move getchar() into libsa where applicable

ok miod@


Revision tags: OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE
# 1.8 02-Sep-2012 deraadt

Allow bootblocks to build in PIE; joint effort with pascal
boot.mac might still have a problem since it did change size...
looking for a testing report.


# 1.7 21-Aug-2012 pascal

Add NOPIE= bits for sys/arch/*/stand to ensure that bootblocks will always be
built with -fno-pie. This gets the hairiest part of PIE out of the way ...

ok deraadt@


Revision tags: OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE
# 1.6 08-Jul-2011 drahn

Unbreak macppc bootloader due to libz changes.


Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE
# 1.5 25-Nov-2007 deraadt

libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At
the same time, adjust the boot programs to pick exactly what they need,
instead of the 7 or 8 mechanisms previously used.

There will be some fallout from this, but testing it all by myself is a
ridiculously slow process; it will be finished in-tree.

Various developers were very nice and avoided making fun of me when I
was gibbering in the corner..


Revision tags: OPENBSD_4_2_BASE
# 1.4 13-Jun-2007 drahn

Switch macppc to the interactive bootloader in stand/boot.
Much more useable on serial console systems.


Revision tags: OPENBSD_4_1_BASE
# 1.3 05-Dec-2006 gwk

Import fixcoff from NetBSD and make some changes to boot.mac Makefile and
ofwboot including loosing some meanigless defines and repurposing
XCOFF_GLUE to my own ends. These changes make it possible to boot the
OpenBSD kernel on at least the Power Macintosh 9500 and 9600. No binary
change in stripped ofwboot.
ok drahn@, martin@


Revision tags: OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE SMP_SYNC_A SMP_SYNC_B UBC_SYNC_A
# 1.2 31-Jan-2003 drahn

Change how the bootloader links to get around size/start address issues
introduced by W^X. exe size goes back to 60640 from 126456.


Revision tags: OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE UBC_BASE UBC_SYNC_B
# 1.1 01-Sep-2001 drahn

branches: 1.1.4; 1.1.6;
The "powerpc" port which has supported the newer Apple Macintosh powerpc based
is being renamed to macppc. This is to allow sharing of common code
between different powerpc base platforms.

Most of the work involved in the renaming process was performed by miod@

Files moved from powerpc/stand/ofwboot to macppc/stand/ofwboot