julian [Tue, 30 Jan 2001 20:51:52 +0000 (20:51 +0000)]
Implement direct support for semipersistant nodes.
(e.g. ethernet nodes are persistent until you rip out the hardware)
Use this support in the ethernet and sample nodes.
Add some more abstraction on the 'item's so that node and
hook reference counting can be checked easier.
Slight man page correction.
Make pppoe type dependent on ethernet type.
Clean up node shutdown a little.
Move a mutex from MTX_SPIN to MTX_DEF (oops)
Fix small ref-counting bug.
remove warning on one2many type.
jhb [Tue, 30 Jan 2001 20:13:02 +0000 (20:13 +0000)]
- Fix TUNABLE_STR_FETCH() to actually be a code fragment rather than
declaring a static function.
- Modify TUNABLE_*_DECL() to use TUNABLE_*_FETCH() to avoid code
duplication.
bde [Tue, 30 Jan 2001 17:05:58 +0000 (17:05 +0000)]
Added used include of <sys/mutex.h>. The SMP case was broken by
incompletely converting simplelocks to mutexes (COM_LOCK() is supposed
to hide the SMP locking internals, but it now depends on mutex interfaces
being visible).
brian [Tue, 30 Jan 2001 10:24:18 +0000 (10:24 +0000)]
Allow the output of /etc/security to be logged or mailed to different
users in line with ${daily,weekly,monthly}_output using a new
$daily_status_security_output variable.
dillon [Tue, 30 Jan 2001 06:31:59 +0000 (06:31 +0000)]
Fix a race between the syncer and umount. When you umount a softupdates
filesystem softdep_process_worklist() is called in a loop until it indicates
that no dependancies remain, but the determination of that fact depends on
there only being one softdep_process_worklist() instance running. It was
possible for the syncer to also be running softdep_process_worklist()
and the pre-existing checks in the code to prevent this were not sufficient
to prevent the race. This patch solves the problem.
jhb [Tue, 30 Jan 2001 00:10:37 +0000 (00:10 +0000)]
- Use the right name for the proctree lock in the locking key.
- Add a note about the special locking semantics used for members such as
p_cred that are read by multiple processes but only written to by the
current process.
- Change p_upages_obj's locking key to note that it is created at fork
and left alone afterwards (the actual pointer, not what it points to.)
- Mark p_intr_nesting_level as being implicitly locked since only curproc
accesses it.
luigi [Mon, 29 Jan 2001 22:47:46 +0000 (22:47 +0000)]
Put picobsd build scripts in sync with the ones in -STABLE.
With these scripts i was able to build a _working_ image of a
bridge-like floppy image with a reasonable set of utilities
in it, despite the code size increase we have in 5.0
The scripts are slightly different from the previous ones especially
on the place where the kernel and binaries are built. Hopefully
this will not cause too much trouble to people (is there any???)
using the old scripts.
peter [Mon, 29 Jan 2001 13:26:14 +0000 (13:26 +0000)]
Supply a stub bpf_validate() (always returning false - the script is not
valid) if BPF is missing.
The netgraph_bpf node forced bpf to be present, reflect that in the
options.
Stop doing a 'count bpf' - we provide stubs.
Since a handful of drivers still refer to "bpf.h", provide a more accurate
indication that the API is present always. (eg: netinet6)
bp [Mon, 29 Jan 2001 12:48:37 +0000 (12:48 +0000)]
Add M_PANIC flag to the list of available flags passed to malloc().
With this flag set malloc() will panic if memory allocation failed.
This usable only in critical places where failed allocation is fatal.
peter [Mon, 29 Jan 2001 11:38:39 +0000 (11:38 +0000)]
Zap silly #if NPCI > 0 and the hoops that we jump through for the module
case. Use an 'and' case in conf/files so that it only gets compiled if
pci is present.
peter [Mon, 29 Jan 2001 11:06:26 +0000 (11:06 +0000)]
Make the number of loopback interfaces dynamically tunable. Why one
would *want* to is a different story, but it used to be able to be done
statically. Get rid of #include "loop.h" and struct ifnet loif[NLOOP];
This could be used as an example of how to do this in other drivers,
for example: ccd.
peter [Mon, 29 Jan 2001 09:38:39 +0000 (09:38 +0000)]
Send "#if NISA > 0" to the bit-bucket and replace it with an option.
These were compile-time "is the isa code present?" tests and not
'how many isa busses' tests.
peter [Mon, 29 Jan 2001 09:34:43 +0000 (09:34 +0000)]
I confess. This is a truely nasty hack. I am so ashamed!
(I think config(8) source does bad things to your brain :-)
Clean up likely stray *.h files in the build directory.
Eg: if isa.h ceases being generated, zap it.
The heuristics to figure out a 'likely' file are pretty revolting.
sheldonh [Mon, 29 Jan 2001 08:22:21 +0000 (08:22 +0000)]
Replace the full path to sysinstall with a standard manual page
reference. The sysinstall binary is now in root's standard PATH,
so there's no need for explicit pathing, and there's some value
in a manual page reference.
dillon [Mon, 29 Jan 2001 08:19:28 +0000 (08:19 +0000)]
This patch reestablishes the spec_fsync() guarentee that synchronous
fsyncs, which typically occur during unmounting, will drain all dirty
buffers even if it takes multiple passes to do so. The guarentee was
mangled by the last patch which solved a problem due to -current disabling
interrupts while holding giant (which caused an infinite spin loop waiting for
I/O to complete). -stable does not have either patch, but has a similar
bug in the original spec_fsync() code which is triggered by a bug in the
softupdates umount code, a fix for which will be committed to -current
as soon as Kirk stamps it. Then both solutions will be MFC'd to -stable.
-stable currently suffers from a combination of the softupdates bug and
a small window of opportunity in the original spec_fsync() code, and -stable
also suffers from the spin-loop bug but since interrupts are enabled the
spin resolves itself in a few milliseconds.
peter [Mon, 29 Jan 2001 08:19:02 +0000 (08:19 +0000)]
change 'count eisa' to 'optional eisa' and update the only consumer
of 'NEISA' - userconfig.c.
While there, send some defunct code to the file history.
ken [Mon, 29 Jan 2001 05:33:14 +0000 (05:33 +0000)]
Back out rev 1.102. The IBM DNES drives work fine for me, jedgar and other
folks.
My guess is that reducing the number of tags is just masking the real
problem for the PR submitter. I'll re-open the PR and see if I can work
with the submitter to diagnose the problem.
deischen [Mon, 29 Jan 2001 03:24:23 +0000 (03:24 +0000)]
_exit in libc is now __sys_exit not __sys__exit.
Add another check for thread library initialization (jdp, we
really need a way to get _thread_init called at program start
before any constructors are run).
marcel [Mon, 29 Jan 2001 01:55:54 +0000 (01:55 +0000)]
Don't hard-code alignment and data declarations valid for 64-bit
machines (duh!). This was one reason why this script broke on
i386. The other being that on i386 sections did not have the
proper alignment. This has been fixed in sys/sys/linker_set.h.
marcel [Mon, 29 Jan 2001 01:46:50 +0000 (01:46 +0000)]
o Add explicit alignment to linker set definitions. On i386, data
declarations will not be aligned by default.
o Remove the alignment work-around for alpha. Our current alpha
as(1) does not assume alignment after section switching, nor
does the ia64 as(1).
brian [Mon, 29 Jan 2001 01:35:06 +0000 (01:35 +0000)]
Only remove socket files with ``set server open''.
Only show the mask in ``show bundle'' when it's been specified.
Complain about unexpected arguments after ``set server {none,open,closed}''
Log re-open failures as warnings rather than phase messages.
Fix some markup for the ``set server'' man page description.
asmodai [Sun, 28 Jan 2001 23:21:00 +0000 (23:21 +0000)]
Add static dependency on libisc.a to get isc_movefile() on which named
now depends. This keeps named the same as before the import, that is: only
linking against libc dynamically, at a little space increase, which might
be due to the source code changes anyway. Very neglectable space
difference.
Some people might dub it a hack. It will do for now at least.
groudier [Sun, 28 Jan 2001 19:58:21 +0000 (19:58 +0000)]
A couple of chip errata work-arounds refined:
- When used on a 33MHz PCI BUS, the 53C1010-66 revision 0
requires extra clocks to be inserted in data out phase.
Revision 1 is fixed.
- The 53C1010-33 revision 1 requires internal cycles to be
disabled due to possible contentions on IO registers.
Revision 2 is fixed.
Fix:
- The probing of HVD from GPIO3 bit by the driver was reversed.
The driver could misprobe the bus mode of a 825 or 875 chip
that was not previously initialized (no BIOS for example).
jake [Sun, 28 Jan 2001 17:20:11 +0000 (17:20 +0000)]
Clear intr_nesting_level when an interrupt thread has no more
handlers and wants to exit, so it doesn't panic in exit1()
which malloc()s with M_WAITOK.
julian [Sun, 28 Jan 2001 15:37:06 +0000 (15:37 +0000)]
Add a new distribution algorythm to the 'one2many' node type.
The new method is 'flood' (in addition to the old round-robin)
in which incoming packets are sent to more than one outgoing hook.
(I'm not sure what Rogier is using this for but it seems generally useful
and isn't much extra)
Submitted by: Rogier R. Mulhuijzen (drwilco@drwilco.net )
marcel [Sun, 28 Jan 2001 06:39:56 +0000 (06:39 +0000)]
Improve kernel bootstrapping:
o Use objdump instead of gensetdefs(1) to build the linker sets.
o Allow overriding of nm and objdump in resp. genassym.sh and
gensetdefs.pl for non-native toolchains.
Reviewed by: arch
Perl improvements: Jos Backus <josb@cncdsl.com>, benno
bmilekic [Sun, 28 Jan 2001 03:41:01 +0000 (03:41 +0000)]
Move the setting of curproc to idleproc up earlier in ap_init(). The
problem is that a mutex lock, prior to this change, is acquired before
the curproc is set to idleproc, so we mess ourselves up by calling
the mutex lock routine with curproc == NULL.
Moving it up after the aps_ready spin-wait has us hopefully setting it
after idleproc is setup.