isascan (__BROKEN_INDIRECT_CONFIG), and attempt multiple match/attach
of cloning devices in isasearch(). (If a match/attach succeeds for
a cloning device, try it again.)
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.
- fix the parser so that non-compliant isapnp devices work, and we
give up when there are too many errors (some on-board pnp sound/atapi/game
soundblaster compatible card). reported by chuck cranor
- fix the parser so that configuration tags that come after the
end-dependencies tag or before the begin-dependencies tag are merged
in properly (gravis ultrasound). reported by gary duzan
We now build a tree of card -> logical-dev -> conf, and in the end we
convert it to a list of conf...
- if aal5 frame has a CRC error then the length field in the aal5 trailer
may not be valid, so we can not use it [and we must dump the frame]
[Yuhang Sun <sunyh@dworkin.wustl.edu> & chuck@ccrc.wustl.edu]
these, we should define all, because there might be code elsewhere
that needs them (in this case, libsa). Add comments that describe the
data types that the isonum_* functions access.
about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now. This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk. Now libsa can include iso.h without the nasty
hack that was there before.
Also, clean up the isonum_* definitions so that the #ifdefs aren't
impossibly spread apart. (Now the #ifdefs are _in_ the functions. This
leads to #ifdefs that are only a few lines long, rather than a few _pages_
long, as well as a reduction of duplication of function headers, etc.)
Note that isonum_7{21,22,31,32} are currently missing.
about ISO9660 file system structure), and cd9660_extern.h (which now
contains the definitions and data structures used by the kernel).
There's lots of other stuff scattered around this code that should go
into cd9660_extern.h, but doesn't need to right now. This changed patterned
on ffs, which has 'fs.h' which describes the FS structure, and ffs_extern.h
for kernel-internals gunk. Now libsa can include iso.h without the nasty
hack that was there before.
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 COMPAT, and lib is compat, in this case.)
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).
needed. When sfbattach() initializes the fbinfo data, it was corrupting
data past the struct device data actually allocated. This does not appear
to have caused a problem in the past, but causes a problem with the new
setroot() changes by Jason.
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.
- move the helper programs txlt and aout2bb to the topmost directory
- build the few files from libsa in the topmost directory
* while doing this, hunted down mysterious code expansion: It seems
that ld aligns code segments differently when linking .o's directly
than when using an archive consisting of the same files. Abuse this
effect to make the bootblock even smaller. The floppy boot block
"fdboot" is now small enough to build; add it back to the Makefile.
* while being here, remove a file which was committed by mistake.
and declare ssir as volatile. This avoids the problem of lost softints
should a hard interrupt cause a softint to be flagged while we are
clearing a different one.
Idea from atari mtpr.h, modified/optimized by me.
cute little trick where the zs interrupts are enabled as soon as the
zs driver has done its attachments. That allows a console break to
enter the debugger during the rest of autoconfiguration.
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.
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
esc_select_unit() will set/clear this flag depending on when a selection
completed or not.
that a unit select did not complete and needs to be retried. Selection will
be retried following a disconnection if this flag is set. The function
sfas_select_unit() will set/clear this flag depending on when a selection
completed or not.
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.
structure to allow netboot information to be hard-coded in network
boot blocks, so that they can be made to work even on systems with
firmware which doesn't support the new "ethernet address in boot device"
convention.
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.)
the CSR3. The chip now successfully reads and writes its initialization
block and ring descriptors and is fully operational. (Thanks to Gordon
Ross for suspecting the misconfiguration.)