Commit Graph

261 Commits

Author SHA1 Message Date
simonb
4a75552397 Moved from lib/bootread.S,v 1999-11-27 03:07:39 +00:00
simonb
d5c8b5ad99 Moved to common/bootinit.S,v 1999-11-27 03:07:22 +00:00
simonb
1f59f63d6d Moved from lib/bootinit.S,v 1999-11-27 03:07:21 +00:00
simonb
4d2b51c4be Moved to common/bootinfo.h,v 1999-11-27 03:06:56 +00:00
simonb
3f99fedebd Moved from lib/bootinfo.h,v 1999-11-27 03:06:55 +00:00
simonb
4a53cd4daa Moved to common/bootinfo.c,v 1999-11-27 03:06:31 +00:00
simonb
1e9b1f56a7 Moved from lib/bootinfo.c,v 1999-11-27 03:06:30 +00:00
simonb
089a87b280 Moved from boot/boot.c,v 1999-11-27 02:52:07 +00:00
simonb
9f8721cd67 Moved to common/boot.c,v 1999-11-27 02:52:06 +00:00
simonb
b83882f7c7 Use new pmax stand structure for multi-filesystem bootblocks. All
entries are commented out for now until everything else is updated.
1999-11-27 01:45:46 +00:00
thorpej
728d672378 Backout my libsa changes. 1999-11-13 21:33:12 +00:00
simonb
4abf82d09b Remove references to libkern after Jason's recent work to libsa. 1999-11-12 01:37:42 +00:00
simonb
fb8de5803e Use ELFCLASS32 instead of ELFCLASS. 1999-10-27 03:28:54 +00:00
kleink
522cbf0248 Update to match new SVR4-style definition names in <sys/exec_elf.h>. 1999-10-25 13:55:06 +00:00
simonb
249879ba34 Begone with some garish Mach_StructureNames.
Add a comment about the bootblock structure.
1999-10-25 02:29:45 +00:00
simonb
60f2775a8e Fix incorrect comment. 1999-09-28 02:26:35 +00:00
mrg
f484530816 do not "quote" SAMISCMAKEFLAGS values, it causes pain and suffering. 1999-07-21 13:34:34 +00:00
simonb
e37110cfef Add some instructions. 1999-05-13 08:40:08 +00:00
simonb
bb592db897 Standalone program that contains a compressed kernel image suitable for
netbooting on machines that can't netboot a fullsize kernel.

This is only a stop-gap solution until the pmax gets a working two stage
netboot, and is not enabled by default.
1999-05-13 08:38:05 +00:00
christos
c22a8166d9 use new loadfile 1999-04-28 09:18:47 +00:00
simonb
cbd32a724f Sync with rev 1.9 of sys/arch/i386/stand/lib/loadfile.c:
another nit in error handling: don't try to print out a NULL
	filename (which means "use default" and is dealt with properly
	by open())
1999-04-17 11:24:16 +00:00
simonb
b84e038e4b Bump version number to 1.1 for default kernel names. 1999-04-12 05:46:57 +00:00
simonb
71c3fc3251 If only a device name is specified with no kernel name, try to load a
kernel from a default list of names.  This list is netbsd, netbsd.bak,
netbsd.old, onetbsd and gennetbsd - all without and with a .gz
extension.
1999-04-12 05:19:25 +00:00
simonb
ab3de4de0e Make the bootpath "N/rzY" with no trailing '/' valid by adding the extra
'/' before appending 'boot' to the path.
1999-04-12 05:14:51 +00:00
simonb
520c13bcc8 Fix an off-by-32 error - space was padded out to the 96th byte for the
DEC disk boot block header, but it's only 64 bytes long.  Gives us
another 32 bytes in the first stage.

Don't use a roll-your-own START_FRAME size and offsets for the stack
and ra - use the <mips/asm.h> provided CALLFRAME_SIZ, CALLFRAME_RA and
CALLFRAME_SP
1999-04-12 03:53:13 +00:00
simonb
0a7e699d22 Add "WARNS?= 1" - woohoo! 1999-04-11 04:31:02 +00:00
simonb
cdc059d0d0 Use BOOTRZ instead of BOOTXX.
Add -DLIBSA_NO_DEV_IOCTL.
1999-04-11 04:28:14 +00:00
simonb
6247c771c1 Use BOOTRZ instead of BOOTXX.
Add a PROM callback for prom_close if not LIBSA_NO_DEV_CLOSE.
1999-04-11 04:27:53 +00:00
simonb
deb30f311a Include <common.h> to get prototypes for PROM callbacks.
Use LIBSA_NO_DEV_CLOSE and BOOTRZ instead of SMALL.
In rzclose() call prom_close() on the descriptor if we're on a
    pre-REX machine.
1999-04-11 04:27:30 +00:00
simonb
b2706c76c1 s/vmunix/netbsd/
Use BOOTRZ instead of SMALL.
1999-04-11 04:26:31 +00:00
simonb
558e5709dd Use LIBSA_NO_DEV_CLOSE and LIBSA_NO_DEV_IOCTL instead of SMALL. 1999-04-11 04:26:06 +00:00
simonb
bc48dfc927 Clean up prototypes.
Print a message on failure to load or execute kernel.
1999-04-11 04:25:47 +00:00
simonb
f1e493608f Move MKMAN to ../Makefile.inc. 1999-04-11 04:25:15 +00:00
simonb
c8ba78a09e Move BINDIR, BINMODE to Makefile.inc.
Remove -DSMALL.
Define an empty LIBZ if building first stage bootblocks since LIBZ
   defaults to /usr/lib/libz.a.
1999-04-11 04:24:41 +00:00
simonb
96fba8337e Define BINDIR, BINMODE and MKMAN in the "standard" place. 1999-04-11 04:19:56 +00:00
simonb
9498a6da95 Clean up prototypes and entry variable usage. 1999-04-11 04:08:25 +00:00
simonb
2fb264a52e Declare some prototypes for the pmax-specific libsa functions. 1999-04-11 04:05:46 +00:00
simonb
39b90701da Include <stand.h> so we get a putchar() prototype. 1999-04-11 04:03:29 +00:00
simonb
cda54b761e Apply rev 1.8 of sys/arch/i386/stand/lib/loadfile.c:
fix error handling: almost all errors were ignored

YES, this will be made MI soon...
1999-04-10 01:52:33 +00:00
simonb
e6ab4443a2 Mention a few other (not implemented) space saving ideas in case we
get desparate in the future.
1999-04-01 08:47:38 +00:00
simonb
f36bd65f46 Build the full MI libsa for the first stage bootblocks rather than
picking the bits we wanted explicitly, taking advantage of some of the
recent code-size trimming from cgd.  There's now no duplication if libsa
code in sys/arch/pmax/stand.

As a bonus, we now have 416 bytes free in stage one (up from 80), and
will all of Chris' space saving options enabled (these are commented out
in scsiboot/Makefile), theres over a 1kB free.
1999-04-01 06:05:04 +00:00
simonb
971284a4ed Add support for LIBSA_SINGLE_DEVICE and LIBSA_SINGLE_FILESYSTEM. 1999-04-01 05:52:38 +00:00
simonb
ff2206f6df G/C UFS_NOSYMLINK, UFS_NOCLOSE and UFS_NOWRITE and use new LIBSA_NO_FS_*. 1999-03-31 07:43:39 +00:00
simonb
4c9bbd20fb Don't define errno expliticly, use libsa/errno.c in first stage and
${LIBSA} in the second stage.
1999-03-31 07:23:27 +00:00
simonb
febdc0ddf2 Use recent LIBSA_NO_TWIDDLE support. 1999-03-31 04:30:11 +00:00
simonb
0f4c2803ca Create/build vers.c/vers.o inside the final link stage so that the build
datestamp get's updated each build.
1999-03-31 03:10:56 +00:00
simonb
5fbc10c671 Reorder ${LIBS} so that we don't need to explicitly pull in bcmp.c
and bzero.c from libkern.
1999-03-31 02:35:14 +00:00
simonb
a487471f7c Remove bogus comment. 1999-03-29 13:48:25 +00:00
simonb
516865d17c Enable now that "make depend" works properly. 1999-03-27 07:39:06 +00:00
simonb
d44e9483b0 Go back to a Makefile.booters scheme, like most other ports do. No
more problems for "make depend" - tested with and without obj dirs.
1999-03-27 07:17:50 +00:00
simonb
d0e107a1a5 Update copyrights. 1999-03-26 05:23:58 +00:00
simonb
4fefe2cb37 Conditionally set BINMODE and BINDIR so lower level Makefiles can override
the location or modes.

Fix up the machine and mips symlink creation.
1999-03-26 02:12:17 +00:00
simonb
461afc9079 Explictly set BINMODE to 555 so that ../Makefile.inc doesn't override it. 1999-03-26 02:07:55 +00:00
simonb
aff677bcae Updates for new bootblocks. 1999-03-25 12:24:56 +00:00
simonb
5010ae76c0 Remove old (not-enabled) local support for loading kernels. 1999-03-25 12:16:04 +00:00
simonb
b295b577e1 Second stage bootblocks based on original single stage blocks. 1999-03-25 12:11:41 +00:00
simonb
2dde1643c2 Makefile for /boot. 1999-03-25 12:10:12 +00:00
simonb
7c060ce391 Version info for bootblocks. 1999-03-25 11:57:41 +00:00
simonb
26098f27a2 Emtpy twiddle() to save space in stage 1 bootblocks 1999-03-25 05:28:36 +00:00
simonb
b9b7830d05 Unused now. 1999-03-25 05:27:00 +00:00
simonb
1e80ec96a0 Only include the dec disklabel at the start of BOOTXX is defined. 1999-03-25 05:23:48 +00:00
simonb
fb11e9e236 Remove unused debugging code, and clean up an error message. 1999-03-25 05:22:44 +00:00
simonb
f490a639c9 Not needed at the moment - may be resurrected when netboot comes along. 1999-03-25 05:19:44 +00:00
simonb
a160a47e1b Fix header botch in previous. 1999-03-25 05:17:49 +00:00
simonb
e213504efd Call main instead of _main. 1999-03-25 05:17:27 +00:00
simonb
c80fb4ccb8 Change from loading an a.out kernel to an ELF /boot. 1999-03-25 05:16:06 +00:00
simonb
0e44e536a0 Include <machine/stdarg.h> and not <stdarg.h> - found by adding
-nostdinc to CPPFLAGS.
1999-03-25 05:13:15 +00:00
simonb
7607cac7b3 CVS repository copy to bootxx.c 1999-03-25 04:42:06 +00:00
simonb
70bc63765d CVS repositary copied to ../scsiboot. These are small routines and/or
PROM callbacks used only by the first-stage disk bootblocks.  Other
bootloaders use libsa/libkern.
1999-03-25 04:34:03 +00:00
simonb
ec6b2370d9 CVS repositary copied to ../lib. 1999-03-25 04:22:04 +00:00
simonb
e6469a71aa Makefile* of pmax specific SA library - based on i386/stand/lib Makefile. 1999-03-25 04:16:15 +00:00
simonb
88eed19213 Oops, forgot RCS header and copyright. 1999-03-25 04:14:03 +00:00
simonb
50e9ee5706 Assembly routine that takes an entry point, new stack pointer address
and six extra arguments.  Sets up the stack pointer with the arguments
in the right registers/stack positions and calls the entry point.
1999-03-25 04:08:59 +00:00
simonb
c7c8021a29 Basic putchar() implentation in terms of the PROM's printf() callback.
Not really effecient, but there isn't that much printf'ing down by SA
programs and we can use the libsa printf() so things like "%ld" work.
1999-03-25 04:02:57 +00:00
simonb
0f203c7d99 Use "make ... echo ${MACHINE}" to get the machine name so
that this script is MI.  Just need to find the right place
for it now - suggestions welcome...
1999-03-25 03:56:00 +00:00
simonb
246f0aacde Copy of sys/arch/sparc/common/newvers.sh. 1999-03-25 03:52:12 +00:00
simonb
c06d325aaa Copy of sys/arch/i386/lib/loadfile.h with tweaks for the pmax. 1999-03-25 03:41:58 +00:00
simonb
6c24c1c864 When loading an a.out kernel and keeping the exec header, if it's OMAGIC
put the exec header below kernel text.
1999-03-25 03:38:53 +00:00
simonb
4ba6c44ef4 s/BOOTINFO_MAXSIZE/BOOTINFO_SIZE/ 1999-03-25 03:35:39 +00:00
simonb
50897b84e0 Direct copy of sys/arch/i386/stand/lib/loadfile.c.
XXX: This should probably be MI in sys/lib/libsa.  After 1.4...
1999-03-24 23:51:26 +00:00
simonb
b4848d6b90 Code to initialise and add bootinfo records. 1999-03-24 23:47:37 +00:00
simonb
0ba02670be New bootblock directory structure. 1999-03-24 02:07:22 +00:00
simonb
c9e3b47a0f Don't build anything while bootblocks are being updated. 1999-03-23 22:23:11 +00:00
simonb
e4dd1abb05 Merge contents of filesystem.c into conf.c, and remove declaration of
errno from conf.c and put it in boot.c.
1999-03-14 00:57:06 +00:00
drochner
2b8eb20358 Remove unneeded <mips/regdef.h>. Its contents went into asm.h while ago. 1999-03-13 11:20:55 +00:00
simonb
d9c1c30e0e If we get an error (file or bootblocks too big), unlink xxboot and
bootxx and exit(1) so a make will fail.  Especially in the too big
case, we don't want a make to work!
1999-03-01 11:52:34 +00:00
simonb
19893da01b Add a callback to the PROM routine clear_cache. Not needed now, but
used in two-stage bootblocks.
1999-03-01 04:05:18 +00:00
simonb
61b327c2ac Remove bootconf.c from CLEANFILES; not used anymore. 1999-02-24 13:54:54 +00:00
simonb
381c553a53 Use -Os to reduce code size (from Krister Walfridsson). 1999-02-23 01:23:26 +00:00
simonb
ffa92484e2 Update cpp defines to current reality. 1999-02-22 11:57:18 +00:00
simonb
74f2d414ef Load the bootblocks at 0x8070000 so that ramdisk kernels don't
overwrite the beginning of the bootblocks.
1999-02-22 11:53:57 +00:00
simonb
69ba0d255c Update list of source files to reflect reality. 1999-02-22 11:31:46 +00:00
simonb
c3baaf3ba5 Lightweight memset routine. 1999-02-22 11:26:15 +00:00
simonb
31f50e4868 Assembly stubs to PROM callback routines. 1999-02-22 11:22:40 +00:00
simonb
80ef484669 Use sys/lib/libsa/ routines now. 1999-02-22 11:21:21 +00:00
simonb
74df4f53e0 Allow code in sector zero (from Michael Hitch).
Also in start.S:
 + Removed unused printf routine.
 + Removed unused dummy __main for gcc.
 + s/bzero/memset/.
1999-02-22 11:01:43 +00:00
simonb
09cca9e076 Don't use the conf.c->bootconf.c guff, remove last tape support,
and actually install the bootblocks.
1999-02-22 10:53:13 +00:00
simonb
3d6a630813 Break single read and printf of text+data into two separate reads and
printfs.  Better aesthetically, especially with a twiddle.
1999-02-22 10:23:53 +00:00
simonb
63e306cbe7 Use "#ifdef UFS_NOCLOSE/UFS_NOWRITE" instead of "#ifdef SMALL". 1999-02-22 10:18:40 +00:00
simonb
6932c61287 Use memset() instead of bzero(). 1999-02-22 10:16:52 +00:00
simonb
e87d6bf17e More tape support not needed. 1999-02-22 09:25:16 +00:00
simonb
50ae7be229 Don't implicitly type the devopen() function.
Don't include machine/dec_prom.h.
1999-02-22 08:24:47 +00:00
simonb
2e4a4cb289 Revert to a simple memcpy implementation - a memcpy() PROM callback is not
available on all DECstation models.
1999-02-22 08:22:21 +00:00
simonb
2407241a09 Sync with sys/lib/libsa/ufs.c. Now the same except for the memset/memcpy
#defines at the top.
1999-02-22 08:16:57 +00:00
simonb
ddf48f18a0 Remove traces of tape support - we're nowhere near handling it at the
moment.
1999-02-22 07:17:44 +00:00
lukem
dcab0210a0 convert from NOxxx= to MKxxx=no.
include <bsd.own.mk> if testing a MKxxx variable.
1999-02-13 02:54:17 +00:00
jonathan
9ec88780aa size_t and void*-arithmetic changes from sys/libsa/ufs.c. 1999-02-01 03:08:05 +00:00
jonathan
45f13be5cb use memcpy, not bcopy, for non-overlapping copies. 1999-02-01 02:46:59 +00:00
simonb
53e963b5ef Add -mmemcpy (from Jonathan Stone) and bump -G to 128. Bootblocks now
fit!  Still needs more testing, so we don't actually install them yet...
1999-01-30 12:57:58 +00:00
simonb
98ceefb712 Actually depend on libsa now. 1999-01-30 12:39:28 +00:00
simonb
555cdd32e5 Don't define an ioctl routine for the rz driver, nor pull in the empty
routines in libsa/dev.c.
1999-01-30 12:30:57 +00:00
simonb
1047f11c01 Remove unused callvec stubs and libsa routines, add memcpy.c. 1999-01-30 12:23:10 +00:00
simonb
db342dee15 Add memcpy callvec stub, copied from strcat.c 1999-01-30 11:54:31 +00:00
simonb
a9f9300b78 Tell how many bytes of code are available, and print a warning if the
bootblocks are too large - from Michael Hitch.
1999-01-30 10:14:45 +00:00
simonb
500353b4c3 Use DEC_REX_MAGIC instead of a undocumented magic number 1999-01-30 00:40:38 +00:00
simonb
916b809a51 Make a `machine' symlink to ..../pmax/include to locate new location of
the dec_????.h files.  Gleaned from other ports' stand/Makefile.inc's.
1999-01-29 05:51:15 +00:00
simonb
9a3172af0e Include dec_{boot,exec,prom}.h from <machine/...>, not <stand/libsa/...> 1999-01-29 05:37:45 +00:00
simonb
fe1bdc0a06 Move via repository copy to pmax/include - the kernel uses these
includes too.
1999-01-29 05:28:59 +00:00
simonb
ce856af2ef Include dec_prom.h with `full' path if being included by kernel.
XXX: Should these headers used by the kernel be in pmax/include instead
     of pmax/stand?
1999-01-27 05:52:31 +00:00
simonb
3566c2a4a4 Add NetBSD RCS ids 1999-01-22 14:27:31 +00:00
simonb
65fca13b07 More Makefile cleanups:
+ Don't use our own "clean" and "depend" targets
 + "make depend" works
 + Only include each include path once on compile lines
 + Clean up include file names
 + Don't build a separate libdrive.a, just specify driver source files
 + Use "make print-objdir" instead of old "printf ... | make -f-"
 + Remove more unnecessary targets, variables and other cruft

Still builds identical bootblocks to 1.3.3 with gcc, still too large
with egcs.

dec_boot.h, dec_exec.h & dec_prom.h were copied via respository
copy to sys/arch/pmax/stand/libsa.
1999-01-22 14:05:05 +00:00
simonb
76764712c1 Round one of the Makefile clean up:
+ dependency on libsa works
 + set and use BINDIR/BINMODE
 + don't pull in sys/lib/lib{sa,kern}/Makefile.inc (``make clean''
   doesn't make empty lib/{sa,kern} directories in each
   directory/obj dir).
 + remove unnecessary targets, variables and other cruft
 + wrap lines at 80 chars

Re-ordering SRCS line in libsa/Makefile to a more logical sequence
(alphabetical by source dir) results in a libsa.a with archive members
in a different order, and a resultant bootrz that differs from the 1.3.3
bootrz.  Untested as yet, so left in but commented out.

Also, _don't_ install the bootblocks (as per intent of previous commit)
or our own small libsa(!).
1999-01-21 14:16:52 +00:00
simonb
ab18b23eba Add dkcksum.c (pulled in from libsa) and remove local copy of
disklabel.c (with it's own copy of the same dkcksum routine).  Output
code still identical.
1999-01-21 12:43:11 +00:00
simonb
6c2628b5d0 Almost working bootblocks for the pmax. This compiles fine with gcc
2.7.2.2-myc2 (and produces _identical_ bootblocks with the 1.3.3
bootblocks which weren't in the tree), but egcs 1.1.1 builds a ufs.o
that's about a 100 bytes too big, and it busts the 7.5k we've got for
bootrz.

Still needs cleanup - the Makefiles could be better/cleaner, and doesn't
install yet (because of above problem).  At least there's something to
work with now.

Note that we have our own versions of a lot of the sys/lib/libsa
routines which are less functional/smaller.
1999-01-21 12:33:39 +00:00
simonb
64b6a85f9c Remove obsolete README and dec_label program 1999-01-20 13:37:56 +00:00
simonb
47c28b03d8 Move via repository copy to sys/arch/pmax/stand/scsiboot 1999-01-20 12:03:56 +00:00
drochner
bd9ed5a6fd STANDALONE->_STANDALONE (cpp definition)
closes PR kern/5481 (Erik Bertelsen <erik@q610.ebe.uni-c.dk>)
1998-05-22 12:56:35 +00:00
perry
b46484bb8a RCSID Police. 1998-01-05 20:51:25 +00:00
perry
015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
lukem
3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
jonathan
0fa286f23d Note non-inclusion of up-to-date bootblock source for 1.3, as
suggested by release engineers.
1997-10-18 22:33:28 +00:00
lukem
28558b28eb rcsid fascism 1997-10-13 14:22:22 +00:00
jonathan
c6b9463cd1 Remove all references to <machine/machAsmDefs.h>.
Use #include <mips/asm.h> instead.
1997-06-16 01:23:56 +00:00
jonathan
8a00c90491 Remove old 4.4bsd/pmax rules and targets. 1997-06-15 22:53:49 +00:00
jonathan
d21acac556 Create standard Makefile for arch/pmax/stand.
Copy old Makefile with bootblock rules to Makefile.booters.
1997-05-25 22:03:23 +00:00
jonathan
40b20f7799 Move dec_label into a subdir. 1997-05-25 21:39:08 +00:00
jonathan
c17d51a55d Add (bogus) prototype for tcinfo() PROM callback until we know what it is. 1997-05-25 05:44:13 +00:00
jonathan
61d121e3d7 Undefine the macros defined by dec_prom.h, in the compiled-in
libsa functions that define  function entrypoints for them.
1997-03-05 05:20:40 +00:00
thorpej
150c33e60b Use ${INSTALL}. 1996-10-18 05:55:26 +00:00
jonathan
e82e5facd0 Add _ prefix to the PROM-callback-vector entrypoint in standalone
wrappers for:
	gets.c getenv.c strcat.c strcpy.c
so they compile again (if _KERNEL is defined).

For bootblock space reasons it would be prereable to call the PROM entrypoints
directly, via the macro wappers in de_prom.h, rather than C function wrappers.
1996-09-30 01:14:39 +00:00
jonathan
6c56d533b3 Add "const" to second argument to devopen.c, to match sys/lib/libsa/stand.h. 1996-09-30 01:02:06 +00:00
jonathan
cb5732503f Add fake, bogus prototype for gettcinfo(), with "void" arglist.
(Not having a prototype  breaks -Wstrict-prototypes, this callback
 isn't used, and we don't know what the prototype should be.)
1996-09-21 03:33:18 +00:00
jonathan
aff8e70475 Fix hanging open comment. 1996-04-08 00:52:10 +00:00
mycroft
88e512b693 LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
thorpej
2c5d55d959 Use ${BINOWN} and ${BINGRP} per Arne H. Juul <arnej@ikke.idt.unit.no>
in PR #705.
1996-01-15 01:44:52 +00:00
jonathan
cf5cff6ce5 Change PROM callback from "strcmp" to "_strcmp", which is what
dec_prom.h uses.
1995-10-26 01:39:49 +00:00
jonathan
d3d55dedb5 Macro definitions of ntohs() and ntohl() for pmax bootblocks. 1995-10-26 01:31:09 +00:00
jonathan
8e3a40d820 Commit missing modified copy of (old) sparc filesystem.c, that has
a comple-time option to support a subset of UFS operations, to build
small bootblocks.
1995-10-26 01:29:34 +00:00
jonathan
51d59ca152 Update pmax kernel to compile with -Werror:
Fix the initializer of the prom bootinit() function, to take a char* that's
(presumably) the name of the file  to boot -- even though it's not used.
1995-09-25 21:06:29 +00:00
jonathan
7c4739e2c3 Change bootblock load code to work with old DECstation proms (2100, 3100)
that lack the REX callback introduced with 5k/200.
1995-06-28 10:22:32 +00:00