Commit Graph

194 Commits

Author SHA1 Message Date
cgd 77a9cb81ff implement NO_GETCHAR, to remove getchar(), and NO_PUTCHAR_HALT to remove
the check in putchar() for character input (specifically control-c, which
causes a halt).
1999-03-31 03:34:21 +00:00
cgd c5fa912232 no point in passing &ret to test_getchar(); nobody cares! also, no
point in doing the check-for-abort functionality twice in putchar()
(once with a call to test_getchar(), once open coded).
1999-03-31 03:22:57 +00:00
cgd 98f67b8238 In putchar(), don't open-code two calls to the prom puts routine. Instead,
call a helper function (putonechar()).  Savings: 64 bytes.  Cha-ching!
1999-03-31 03:10:00 +00:00
cgd 3665d82d1a GC cpu_number() and turn alpha_pal_imb() into inline assembler. 1999-03-31 03:04:21 +00:00
cgd 51a85dabbb rename the C main() function to main_(). this avoids gcc's implicit
call to __main(), and therefore saves the size of the call and the
  size of a stub implementation of __main().
in the primary boot block, don't bother saving/restoring the argument
  passed in from the caller.  There is no such argument (that we care
  about, at least) to the primary.  (for secondary, it's the firmware
  FD being used.)
1999-03-31 03:03:01 +00:00
cgd 4a209e30f8 Compile with -Os (optimize for size).
Clean up the "Region 1" related definitions, and define load addresses,
  max load size, and max total size for as many boot block types as we can.
  (types = unified, primary, secondary).  We can't always define all
  values for all boot blocks, though.
Make CPP flags selection less gross.
Use objcopy rather than headersize (yay, evil gets a stake to the heart!).
Use a little shell script to verify that the sizes of the boot blocks are OK.
Do not compile too much more of libsa than we actually have to.
1999-03-31 02:52:11 +00:00
ross 5bc91073ce Bug fix for the bug fix. Be sure to prom_close() in bootxx and boot, but not
in netboot, and not in diskclose(), but after trying all kernelnames[].
1999-03-27 09:01:27 +00:00
ross 6ee909b24f Fix bug found by Bernd "Veego" Ernesti: close the console disk channel. 1999-03-26 20:53:12 +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
ross 509315b9e0 We don't call prom_open() here anymore, so don't call prom_close() either! 1998-12-28 09:12:52 +00:00
ross 33038ca087 Tweak this so it will build and run on ILP32 hosts, anyway, 0x...LL constants
are blessed by the C9X draft.
1998-12-03 04:16:18 +00:00
ross 8bc9c17338 Disable sanity checks and unnecessary setup for conblock (-b) mode. 1998-11-25 21:19:35 +00:00
ross b0f44850f5 Don't insist on an FFS if we are in contiguous block (-b) mode. 1998-11-19 02:44:40 +00:00
ross 3e35915bc3 Don't use big 16K blocks for the -b contiguous secondary boot installation.
It leads to confusion about where the end of the image is on tape boots.
1998-10-15 01:05:20 +00:00
ross 16bf3552bb Save a0 during bss clear. 1998-10-15 01:02:55 +00:00
ross 9f7ca48f3b Delete prom_open() wrapper routine. Other clients of prom_open
can use the prom.h dispatch macros instead, especially since they
all presently expect the raw return bits.
1998-10-15 01:02:15 +00:00
ross c84b7f501e Delete bogus prom_open() prototype. 1998-10-15 01:00:56 +00:00
ross 412f6ae85b Grab booted_dev_fd parameter from bootxx. It won't be there for netboot
but there should be no harm done.
1998-10-15 01:00:07 +00:00
ross 6336abe01a const'ify 1998-10-15 00:56:56 +00:00
ross df51a43618 Rototill the primary boot for...
1. much faster speed
  2. support of more media types
1998-10-15 00:55:48 +00:00
ross c33589db84 Consult osrelease.sh and pass down NETBSD_VERS 1998-10-15 00:52:38 +00:00
ross 74f36b2497 Try the ustarfs open first...it's the only one that can't necessarily
seek. We might be reading a tape and the extra superblock reads will
eat up tape records.
1998-10-15 00:51:22 +00:00
ross 9c29657a67 Extern def for raw prom disk file descriptor. 1998-10-15 00:49:34 +00:00
ross b0367fb980 Don't actually do the raw prom open here. 1998-10-15 00:48:55 +00:00
thorpej 34a8ac8484 Set the primary CPU's PAL revision to the OSF/1 PAL revision after switching
to it, per the Green Book (pointed out by Chris Demetriou).
1998-09-28 21:21:55 +00:00
thorpej 5caecb6ae0 Fix for some EGCS warnings. 1998-09-28 21:18:55 +00:00
ross ec4de2679b Track tfs -> ustarfs change. 1998-09-24 05:23:58 +00:00
ross 5b01d45ac4 Add a `-b #' option and logic for locating the secondary boot image via
an absolute block address. It's cheating, as the motivation is support for
the libsa ustar tfs `filesystem' and the solution symmetrical to ufs and
cd9660 would have been to teach installboot about tfs. However, it still
would have been different as you can't mount a tfs with the kernel, and
this option gets possibly useful support for any contiguous format, even
completely raw boot images.
1998-09-22 05:03:36 +00:00
ross 5fb9c16f05 While we are here in alpha/stand, bail out on ^C during boot. 1998-09-22 00:41:13 +00:00
ross 10da0cf1c3 Add fs_ops to file_system[] for the ustar-format `tfs'. 1998-09-22 00:39:31 +00:00
pk 8adc8da66b Assign my copyright to TNF. 1998-09-05 13:40:35 +00:00
tv 6baebf57c6 Nuke egcs warns: void main(), implicit int 1998-08-27 12:20:51 +00:00
thorpej d5df55112a vm_offset_t -> {paddr_t,vaddr_t}, vm_size_t -> vsize_t 1998-08-14 16:50:00 +00:00
drochner dabc8eb436 Implement the 'i' flag which makes the bootloader ask for the file to
load (as in OSF/1).
Useful for netboot where "-file" doesn't work as needed.
1998-08-07 10:38:37 +00:00
ross de27f1befc Don't bother reading the ELF string table out of a stripped /netbsd[.gz].
In this case, all it has in it are the never-referenced printable names
for the ELF sections themselves. It's located at the end of the (ramdisk)
netbsd.gz file, so it is a very expensive seek and read for only 85 bytes.

Boot floppy load time:

	before:	5 minutes
	now:	3 minutes
1998-06-25 06:45:46 +00:00
ross 6c1e8f5b20 Use the new LOCATE_PCS() macro. 1998-06-24 01:33:19 +00:00
cgd c0ac8bae67 GC alpha's ECOFF_TOOLCHAIN make variable, and related bits. Nobody
should be using an ECOFF toolchain on NetBSD/alpha any more.
1998-03-28 00:50:41 +00:00
thorpej 4893f22399 Much more sane boot block builds, from Chris Demetriou. 1998-03-28 00:21:35 +00:00
cgd 09dbd9234d fix typo in last commit (noticed on inspection) 1998-03-02 21:36:55 +00:00
cgd 7ff7b02fac allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 20:01:05 +00:00
cgd 9da165424c allow LDSTATIC definition to be overridden by bsd.own.mk/mk.conf 1998-03-02 19:57:00 +00:00
ross 2170c2a46d Force elf symbol sections to an addressable boundary. 1998-02-28 10:38:55 +00:00
cgd 92d17b5b50 clean up the way bootinfo information is passed and used: move the version
number passed by the boot block into a register, change the kernel's
bootinfo handing so that it always uses bootinfo to get bootinfo-ish values
(filling them in if the boot blocks didn't pass them), and make versioning
a small bit more sane.
1998-02-12 01:53:18 +00:00
thorpej 8e69ee392a Fixup includes. 1998-02-04 23:41:45 +00:00
thorpej cfa47dfc11 Add support for installing boot blocks into ISO-9660 file system images. 1998-02-01 06:59:30 +00:00
ross 43a3471986 While here in alpha/stand, add a technically required imb coherency op
just before transferring to the kernel entry point.
1998-01-29 22:13:25 +00:00
ross c1972a428c Avoid VMS palcode ops by using a different technique for cpu_number(),
and don't execute the VMS->OSF palcode switch if the OSF palcode
is already running...which will be the case if the console is not
the venerable SRM.
1998-01-29 22:09:37 +00:00
thorpej cacd48c0d6 Print the correct error number if nfs_mount() fails. From Chris Demetriou. 1998-01-23 19:13:28 +00:00
perry 015e898c02 RCSID Police. 1998-01-05 07:02:46 +00:00
mjacob 940f8fcfd1 remove unneeded and conflicting prototype 1997-11-13 18:06:01 +00:00
lukem 3e8e744696 getopt returns -1 not EOF 1997-11-01 06:49:14 +00:00
cjs bcced1d9be Check return values from lseek; use SEEK_SET instead of 0. 1997-10-18 22:27:46 +00:00
drochner 969e506de4 Oops, last change made "make depend" work incompletely. Don't define
a "depend" rule here.
1997-09-06 14:26:47 +00:00
drochner 281398581a -Wall fixes 1997-09-06 14:08:27 +00:00
drochner 3b191b29c0 enable -Wall 1997-09-06 14:07:57 +00:00
drochner be8a78e9b5 -use DHCP extensions in bootp()
-enable -Wall
1997-09-06 14:06:53 +00:00
drochner 80d9738db8 -Wall fixes 1997-09-06 14:03:55 +00:00
drochner d99aa8efc0 Collect prototypes here. 1997-09-06 14:02:51 +00:00
drochner 7546d66094 Make sure the <machine/*.h> includes come from current kernel sources,
not from installed userland.
1997-09-06 14:02:13 +00:00
thorpej 7df7a43ce7 When loading a symbol section, make sure it is aligned. 1997-09-05 21:50:34 +00:00
thorpej ba8becebfc installbood_cd9660 no longer exists. 1997-09-05 20:20:17 +00:00
cgd 9d532f482c don't forget to set hwrpbsize to zero explicitly 1997-08-13 20:49:56 +00:00
cgd d86134ca68 fill in the new pointers in the bootinfo_v1 structure. 1997-07-25 07:00:42 +00:00
thorpej 8e341ad358 If loading an Elf kernel, load the symbol table immediately after
the kernel image.
1997-07-25 00:09:01 +00:00
thorpej f65454b2a6 Set up a version 1 bootinfo for the kernel. 1997-07-25 00:07:56 +00:00
drochner bdb232d2b6 Don't use <lib/libsa/if_ether.h> anymore. This was a copy of the
old (before ARP changes) <netinet/if_ether.h>, intended for
temporary use.
1997-07-22 17:41:01 +00:00
mrg f66658c8e0 move man pages into share/man. 1997-06-22 05:05:17 +00:00
cjs ecada6375b bzero() wants pointers, not ints, for its first arg. 1997-06-20 07:06:43 +00:00
mycroft ad19544997 Remove bogus .PATHs. 1997-05-18 12:14:55 +00:00
mycroft cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
thorpej 6a2fc99857 STRIP -> STRIPFLAG 1997-04-17 07:27:46 +00:00
cgd ad61973f36 add installboot_cd9660, which is installboot(8) modified to place a boot
block (and faked-up disklabel) into an ISO-9660 file system image.
1997-04-10 23:03:38 +00:00
cgd 562fa9b97d clean up NetBSD RCS ID strings 1997-04-06 08:39:37 +00:00
cgd 044c6288bf slightly relax the block size checks; they were a bit to paranoid 1997-04-01 17:27:33 +00:00
cgd 776b6dcbca hack to fake up disklabel 1997-04-01 17:23:04 +00:00
cgd c944e200eb fix up new-arp goofups 1997-03-18 07:27:58 +00:00
is 07b064e02e New ARP system, supports IPv4 over any hardware link.
Some of the stuff (e.g., rarpd, bootpd, dhcpd etc., libsa) still will
only support Ethernet. Tcpdump itself should be ok, but libpcap needs
lot of work.

For the detailed change history, look at the commit log entries for
the is-newarp branch.
1997-03-15 18:09:08 +00:00
cgd 3192bd314f turn Alpha's ELF_TOOLCHAIN checks to ECOFF_TOOLCHAIN checks 1997-02-23 20:42:24 +00:00
cgd 90466a7b42 protect against multiple inclusion, make HEAP_LIMIT define libsa-specific 1997-02-16 21:27:06 +00:00
cgd 00c2c62911 use strerror() to print errors, rather than just printing error numbers 1997-01-25 01:06:30 +00:00
cgd 21ad990583 reorganize Alpha boot block sources: put common sources in a 'common'
directory (so they don't clutter up the arch/alpha/stand), and put
not-common sources in programs' directories.
1997-01-24 01:52:35 +00:00
cgd ce93ba490a kill unnecessary newline 1997-01-24 01:46:46 +00:00
cgd 1fca013b1e add support for reading gzipped kernels. 1997-01-23 23:10:34 +00:00
cgd 1c88f56c26 update for new kernel library build process 1997-01-23 22:31:32 +00:00
cgd 7878fdb4f2 add a manual page for setnetbootinfo 1997-01-20 22:31:09 +00:00
cgd 58cde8b551 update date to date of last real modification 1997-01-20 20:37:09 +00:00
cgd 0512081ce4 bump version 1997-01-18 01:59:32 +00:00
cgd d3bfc848a9 if a file name is given (i.e. BOOTED_FILE) is set, boot only that file,
but if not then try to boot "netbsd", "netbsd.bak", "netbsd.old", and
"onetbsd" (in that order) until one is found or until the list of names
is exhausted.
1997-01-18 01:58:32 +00:00
cgd 6d5dc4aba9 kill bogux printf 1997-01-18 01:56:09 +00:00
cgd b9b13b5fb1 add cd9660 file system ops to the file system ops table 1997-01-18 01:51:58 +00:00
cgd f6409bfad4 printfs newline cosmetics 1997-01-18 01:49:29 +00:00
cgd d5260695b3 move an 'int debug;' into boot.c (it was the only diff between boot.c and
netboot.c), and nuke netboot.c (using boot.c instead for network boot blocks).
1997-01-18 00:59:46 +00:00
cgd d3f4f54676 program to hard code an ethernet address into a network boot. 1997-01-18 00:50:29 +00:00
cgd d1c39ec928 note that enet address can be hard-coded 1997-01-18 00:37:13 +00:00
cgd ad56529a58 make 'make depend' not fall over here. it doesn't work right, either, though. 1997-01-18 00:35:23 +00:00
cgd b1369cb79d add setnetbootinfo to list of subdirs 1997-01-18 00:34:39 +00:00
cgd e2bd92c0e6 allow netboot ethernet address to be hard-coded into binary so that
machines with old firmware which doesn't pass it in the boot device
can work.  Assume that if the ethernet address isn't passed in, it
uses the old (dain-bramaged) 'read' interface works on my 3000/300LX.
1997-01-18 00:34:01 +00:00
cgd abcd6f59bf remove a kludge which was breaking multiple opens/closes of the disk 1997-01-18 00:31:48 +00:00
cgd b6d17629c1 update for bbinfo padding changes 1997-01-18 00:28:59 +00:00
cgd 7db6ff8449 move the sync() calls to the correct place... 1997-01-18 00:27:50 +00:00