Add SUPPORT_BOOTP (and global try_bootp) to allow MD code to
determine whether BOOTP is used (compile-time and run-time).
Thanks to Matthias Drochner for the SUPPORT_BOOTP ideas.
Copyright asigned to The NetBSD Foundation.
EINVAL, that error code is ignored, leaving whatever other meaningful
error code that might have previously been returned intact. Stand-alone
file system implementations return EINVAL typically when the file system
is not recognized (i.e. cd9660_open on a UFS file system, ufs_open on a
cd9660 file system, etc.). This meant that if you had multiple file
systems in a file system switch, the first returned ENOENT (because
it recognized the file system type, but the file wasn't there) and
the second returned EINVAL (because it didn't recognize the file system
type), errno would be set to EINVAL. Now it'll be set to ENOENT.
It would probably make sense to have file systems return a special
error code to indicate "this file system is unrecognized," which
could then be special-cased, but that's a fair bit more invasive.
to :, so they can be used e.g. with <bsd.prog.mk>. Standardize variable
names used to configure kernel libraries.
Variables used by these Makefile.inc's are:
S must be set to the top of the 'sys' tree.
${LIB}DST may be set to the location of the directory where library
objects are to be built. Defaults to ${.OBJDIR}/lib/${lib}.
${LIB}_AS may be set to 'obj' to build a object from the library's
object files. (Otherwise, a library will be built.)
Defaults to 'library'.
${LIB}MISCMAKEFLAGS
Miscellaneous flags to be passed to the library's Makefile when
building. See library's Makefile for more details about
supported flags and their default values.
(where LIB is KERN, SA, or Z, and lib is kern, sa, or z, depending on which
library's Makefile.inc is being discussed.)
rename 'NO_NET' variable to SA_INCLUDE_NET, which defaults to 'yes' but can
be set differently. kill EXTRACFLAGS, add SACPPFLAGS (generated from
CPPFLAGS by Makefile.inc) to CFLAGS. Add support for including gzipped-file
read support, enabled by setting SA_USE_CREAD to yes (defaults to no).
best-fit, rather than first-fit, algorithm.
ability to handle free()s with zero size (needed for gzip read
support).
ability to start the heap someplace else (defined by HEAP_START).
ability to limit growth of the heap (via HEAP_LIMIT).
debugging sanity checks (ifdef DEBUG).
allocation tracing support, to help debugging (ifdef ALLOC_TRACE).
and from me:
ability to pick a (smaller) first-fit algorithm (via ALLOC_FIRST_FIT).
lots of comments.
If heap limits and all of the debugging features are disabled (the default),
and ALLOC_FIRST_FIT is defined (not the default), compiled with -O on the
alpha the new version is the same (object) size as the old version.
F_NODEV isn't set in the file flags for the file being opened.
Pointed out by Matthias Drochner in PR 3122. (fix equivalent to
the one he included, but stylistically different.)
these are hacks (s/long/int/, etc.), but this code really needs a heavy
cleaning (including fixed-size typing) and I don't have time to give it one
now.
size of the resulting loader. The read_inode() function now returns the
result of the strategy function instead of success in all cases (ufs.c).
Fixes pr#1817
(like the alpha). Biggest problem: IP headers were overlayed with
structure which included pointers, and which therefore didn't overlay
properly on 64-bit machines. Solution: instead of threading pointers
through IP header overlays, add a "queue element" structure to do
the threading, and point it at the ip headers.
(PR#1404). Things to be noted:
- all IP addresses are now `struct in_addr's.
- the function rarp_getipaddress() no longer return `myip'; in stead
it returns -1 on failure (errno set), 0 on success. `myip' is set
as a size-effect.
a) check against `my' ethernet or broadcast addresses done in
ether.c
b) changed interface to readether() to provide ethertype info
c) respond to arp requests when appropriate.
First two are clean-up. Last fixes hp300 and presumably mvme68k netboot
code.
* Convert several data structures to use queue.h.
* Split in_pcbnotify() into two parts; one for notifying a specific PCB, and
one for notifying all PCBs for a particular foreign address.