History log of /src/sys/arch/hp300/stand/mkboot/mkboot.c |
Revision | | Date | Author | Comments |
1.21 |
| 05-Apr-2025 |
tsutsui | Cleanup hp300 LIF bootblock definitions.
- move LIF value definitions from MD mkboot to MI <sys/bootblock.h> to share them between mkboot and MI installboot(8) - rename variables and use proper macros for readability - misc KNF
|
1.20 |
| 11-May-2024 |
tsutsui | Use MI <sys/bootblock.h> to refer LIF filesystem structures.
This should have been done when LIF definitions were initially added to <sys/bootblock.h> for MI installboot(8).
|
1.19 |
| 07-May-2024 |
tsutsui | Use proper signedness for the LIF file system data structures.
Ancient 4.3BSD used short and int for location, file size, file type, and addresses etc. but all of them should be unsigned. Also rename several variables and add comments for readability.
The LIF file system info can be found in "The HPDir Project" page: https://www.hp9845.net/9845/projects/hpdir/
The same uboot.lif binaries are generated.
|
1.18 |
| 06-May-2024 |
tsutsui | Misc cosmetic changes for mostly readability.
- KNF and add some newlines per blocks - define and use proper bintobcd() macro - make local functions and variables static
The same uboot.lif binaries are generated.
|
1.17 |
| 05-May-2024 |
tsutsui | Fix integer overflow of strtol(3) for "loadpoint" address on ILP32 hosts.
This strtol(3) was introduced in rev 1.12 for PR/57909 after netbsd-10, but it returns LONG_MAX (0x7FFFFFFF) for 0xFFF00000 on ILP32 hosts and the wrong loadpoint causes "NOT ENOUGH MEMORY" error by the BOOTROMs on loading uboot.lif on (at least) my 9000/360 and 9000/425t.
|
1.16 |
| 03-May-2024 |
christos | Fix build as a tool (Jan-Benedict Glaw)
|
1.15 |
| 24-Feb-2024 |
christos | avoid stringop truncation, fix copyright string to prevent assembler warnings.
|
1.14 |
| 20-Feb-2024 |
christos | add missing chunk for repro-build. fix gcc warnings.
|
1.13 |
| 09-Feb-2024 |
christos | fix usage string, improve error handling.
|
1.12 |
| 08-Feb-2024 |
christos | PR/57909: Jan-Benedict Glaw: Don't include (build) timestamp when doing a reproducible build
|
1.11 |
| 11-Oct-2014 |
dholland | branches: 1.11.50; PR 49245: Fix broken RCSID (Kamil Rytarowski)
|
1.10 |
| 18-Jun-2006 |
gdamore | branches: 1.10.106; Fix to make this cross compile on Solaris. (Don't include sys/endian.h if HAVE_NBTOOL_CONFIG_H is defined.)
|
1.9 |
| 11-Dec-2005 |
christos | branches: 1.9.4; 1.9.8; 1.9.14; 1.9.16; merge ktrace-lwp.
|
1.8 |
| 20-Feb-2005 |
tsutsui | branches: 1.8.4; Use ANSI function decls.
|
1.7 |
| 28-Nov-2004 |
jmc | branches: 1.7.4; 1.7.6; Convert mkboot into a full cross tool. Last hurdle for hp300 to building on non NetBSD/bsd hosts.
|
1.6 |
| 13-Nov-2003 |
tsutsui | branches: 1.6.4; Don't use htobe32() for int16_t values.
|
1.5 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.4 |
| 05-Mar-2002 |
simonb | branches: 1.4.14; Indent by tab and not two spaces.
|
1.3 |
| 27-May-2001 |
gmcgarry | branches: 1.3.2; 1.3.8; - remove dependency on libsa by mkboot since it is a host tool. - adjust for endianness of host.
Cross-compiling of ELF bootblocks now works.
|
1.2 |
| 02-Jan-2001 |
simonb | branches: 1.2.2; Convert both bootblocks and mkboot to use libsa's loadfile(), and make both ELF aware.
|
1.1 |
| 04-Feb-1997 |
thorpej | branches: 1.1.26; Complete and total reorganization of the hp300 boot code, modeled closely after the build process used by NetBSD/alpha's boot code.
|
1.1.26.1 |
| 05-Jan-2001 |
bouyer | Sync with HEAD
|
1.2.2.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.3.8.2 |
| 01-Apr-2002 |
nathanw | Catch up to -current. (CVS: It's not just a program. It's an adventure!)
|
1.3.8.1 |
| 27-May-2001 |
nathanw | file mkboot.c was added on branch nathanw_sa on 2002-04-01 07:40:00 +0000
|
1.3.2.1 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.4.14.5 |
| 04-Mar-2005 |
skrll | Sync with HEAD.
Hi Perry!
|
1.4.14.4 |
| 29-Nov-2004 |
skrll | Sync with HEAD.
|
1.4.14.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.4.14.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.4.14.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.6.4.1 |
| 02-Apr-2005 |
he | Pull up revision 1.7 (requested by jmc in ticket #1025): Convert mkboot into a full cross tool. Last hurdle for hp300 to building on non NetBSD/bsd hosts.
|
1.7.6.1 |
| 19-Mar-2005 |
yamt | sync with head. xen and whitespace. xen part is not finished.
|
1.7.4.1 |
| 29-Apr-2005 |
kent | sync with -current
|
1.8.4.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.9.16.1 |
| 18-Jun-2006 |
gdamore | Fix to make this cross compile on Solaris. (Don't include sys/endian.h if HAVE_NBTOOL_CONFIG_H is defined.)
|
1.9.14.1 |
| 19-Jun-2006 |
chap | Sync with head.
|
1.9.8.1 |
| 26-Jun-2006 |
yamt | sync with head.
|
1.9.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.10.106.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.11.50.1 |
| 22-Jun-2024 |
martin | Pull up following revision(s) (requested by tsutsui in ticket #722):
sys/fs/cd9660/cd9660_util.c: revision 1.16 sys/arch/hp300/stand/common/clock.c: revision 1.14 sys/arch/hp300/stand/common/scsireg.h: revision 1.5 sys/arch/hp300/stand/common/scsireg.h: revision 1.6 sys/arch/hp300/stand/Makefile.buildboot: revision 1.38 sys/arch/hp300/include/bus.h: revision 1.23 sys/arch/hp300/stand/Makefile.buildboot: revision 1.39 sys/arch/hp300/stand/common/sd.c: revision 1.12 sys/arch/hp300/stand/common/prf.c: revision 1.6 sys/arch/hp300/stand/common/sd.c: revision 1.13 usr.sbin/installboot/installboot.8: revision 1.106 usr.sbin/installboot/Makefile: revision 1.59 sys/arch/hp300/stand/common/devopen.c: revision 1.14 usr.sbin/installboot/installboot.8: revision 1.107 sys/arch/hp300/stand/common/ite_dumb.c: revision 1.2 sys/arch/hp300/stand/common/devopen.c: revision 1.15 usr.sbin/installboot/installboot.8: revision 1.108 sys/fs/cd9660/cd9660_extern.h: revision 1.29 usr.sbin/installboot/installboot.8: revision 1.109 tools/Makefile.nbincludes: revision 1.11 (patch) sys/arch/hp300/dev/rboxreg.h: revision 1.3 sys/arch/hp300/stand/common/scsivar.h: revision 1.5 sys/arch/hp300/dev/dnkbd.c: revision 1.14 sys/arch/hp300/hp300/trap.c: revision 1.156 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.12 sys/arch/hp300/dev/frodoreg.h: revision 1.6 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.13 sys/arch/hp300/stand/common/ite_sti.c: revision 1.2 sys/arch/hp300/stand/common/hil.c: revision 1.15 usr.sbin/installboot/arch/hp300.c: revision 1.18 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.14 sys/arch/hp300/dev/rbox.c: revision 1.4 usr.sbin/installboot/arch/hp300.c: revision 1.19 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.15 sys/sys/bootblock.h: revision 1.59 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.16 usr.sbin/installboot/installboot.h: revision 1.44 sys/arch/hp300/stand/mkboot/volhdr.h: file removal sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.17 sys/arch/hp300/dev/hpib.c: revision 1.45 usr.sbin/installboot/installboot.h: revision 1.45 usr.sbin/installboot/cd9660.c: revision 1.1 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.18 sys/arch/hp300/dev/topcatreg.h: revision 1.3 usr.sbin/installboot/cd9660.c: revision 1.2 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.19 sys/arch/hp300/stand/inst/inst.c: revision 1.25 sys/arch/hp300/stand/uboot/Makefile: revision 1.12 sys/arch/hp300/dev/dvbox.c: revision 1.4 sys/arch/hp300/dev/dma.c: revision 1.45 sys/arch/hp300/stand/uboot/Makefile: revision 1.13 sys/arch/hp300/stand/common/rd.c: revision 1.16 sys/arch/hp300/stand/inst/Makefile: revision 1.12 distrib/hp300/cdroms/installcd/Makefile: revision 1.4 sys/arch/hp300/stand/mkboot/volhdr.h: revision 1.6 sys/arch/hp300/stand/common/machdep.c: revision 1.16 usr.sbin/installboot/fstypes.c: revision 1.14 sys/arch/hp300/hp300/machdep.c: revision 1.238 sys/arch/hp300/include/cpu.h: revision 1.73 sys/arch/hp300/dev/diofbreg.h: revision 1.4 sys/arch/hp300/stand/common/scsi.c: revision 1.12 sys/arch/hp300/stand/common/netio.c: revision 1.19 sys/arch/hp300/stand/common/scsi.c: revision 1.13 sys/arch/hp300/dev/sti_sgc.c: revision 1.8 sys/arch/hp300/dev/rtc.c: revision 1.22 sys/arch/hp300/stand/mkboot/mkboot.c: revision 1.20 sys/arch/hp300/stand/common/conf.h: revision 1.4 sys/arch/hp300/hp300/autoconf.c: revision 1.111 sys/arch/hp300/stand/common/conf.c: revision 1.15 sys/arch/hp300/stand/mkboot/Makefile: revision 1.12 sys/arch/hp300/stand/mkboot/Makefile: revision 1.13 sys/arch/hp300/hp300/autoconf.c: revision 1.114 sys/arch/hp300/dev/dcmreg.h: revision 1.11 sys/arch/hp300/dev/diofbvar.h: revision 1.4 sys/arch/hp300/dev/dcm.c: revision 1.91 sys/fs/cd9660/cd9660_util.c: revision 1.15 sys/arch/hp300/dev/mcclock_frodo.c: revision 1.2
TAB/space cleanup.
installboot(8): formatting improvements
Use Ar foo instead of <foo>; this is mdoc.
Other formatting tweaks. installboot(8): fix up markup
Don't overuse .Sy - when everything is highlighted, nothing is. Use .Ic for options &c to get correct PostScript output (both are bold in plain text).
Use Aq Ar inside .Pa, as both Pa and Ar are rendered as underscored text in plain text output, and the distinction is lost.
Don't set examples in bold, but give them .Pp space around - they are much easier to read this way.
Use consistent -width in FILES. document how to use installboot on netbsd/vax.
PR/57909: Jan-Benedict Glaw: Don't include (build) timestamp when doing a reproducible build fix usage string, improve error handling. add missing chunk for repro-build. fix gcc warnings. avoid stringop truncation, fix copyright string to prevent assembler warnings.
Fix build as a tool (Jan-Benedict Glaw)
Fix integer overflow of strtol(3) for "loadpoint" address on ILP32 hosts.
This strtol(3) was introduced in rev 1.12 for PR/57909 after netbsd-10, but it returns LONG_MAX (0x7FFFFFFF) for 0xFFF00000 on ILP32 hosts and the wrong loadpoint causes "NOT ENOUGH MEMORY" error by the BOOTROMs on loading uboot.lif on (at least) my 9000/360 and 9000/425t.
Misc cosmetic changes for mostly readability. - KNF and add some newlines per blocks - define and use proper bintobcd() macro - make local functions and variables static
The same uboot.lif binaries are generated.
Rename ${PROGAOUT} -> ${PROGELF} to reflect reality. Use proper signedness for the LIF file system data structures.
Ancient 4.3BSD used short and int for location, file size, file type, and addresses etc. but all of them should be unsigned.
Also rename several variables and add comments for readability. The LIF file system info can be found in "The HPDir Project" page: https://www.hp9845.net/9845/projects/hpdir/ The same uboot.lif binaries are generated.
Add a preliminary CD boot support to uboot for preparation of PR/54455. Briefly tested on mame, but not enalbed yet.
Recognize SCSI CD-ROM devices as a booted device properly.
Necessary for PR port-hp300/54455, to boot an md root root RAMDISK
kernel from CD-ROM without "WARNING: can't find match for bootdev:" prompt.
Sync with src/sys/arch/hp300/stand/mkboot/volhdr.h rev 1.6. https://mail-index.netbsd.org/source-changes/2024/05/07/msg151195.html
Use proper signedness for the LIF file system data structures. mkboot should use this MI <sys/bootblock.h> and volhdr.h should be removed soon.
Use MI <sys/bootblock.h> to refer LIF filesystem structures. This should have been done when LIF definitions were initially added to <sys/bootblock.h> for MI installboot(8).
Enable SUPPORT_CD on uboot.
Make cd9660_util.c usable in userland tools like installboot(8).
This was partially done for src/distrib/cdrom/macppc_installboot, but more strict prototypes are necessary for native binary builds.
Install cd9660 related system headers for tools installboot(8) builds.
Reorder function prototypes per source files.
Add cd9660 support to search a bootloader file in the target file system.
Also add CD boot support for hp300, using a bootloader file in cd9660 fs. This is a tool's part to close PR/54455.
HP 9000/300 machines read LIF directory entry allocated after the LIF volume header at the top of the boot disk during bootstrap, and a bootstrap file must be contiguously allocated on the disk due to limitation of the LIF specification.
Current NetBSD/hp300's bootloader is larger than ~80KB so we have to prepare a special 'boot' partition for FFS (that has only 8KB (ffsv1) or 32KB (ffsv2) spaces) disks to put such a large bootloader.
On the other hand, on ISO9660 fs all files are allocated contiguously so we can specify a bootloader file in the target ISO9660 directly in the LIF directory entry.
Note we can simply use the existing "append" option to create bootable CD ISO for hp300, but it looks some emulators (at leaset MAME) reject such non-standard ISO files, i.e. with an appended bootloader file at the end of the image.
Put a RAMDISK kernel and SYS_UBOOT into hp300 installcd to make it bootable.
This should finally close PR/54455.
Fix tools build errors on Cygwin.
Appease warnings on building tools/installboot on Cygwin.
|