Allow loadable interface drivers with BPF support to be loaded into a kernel
that doesn't have it. This is achieved by having minimal do-nothing stubs
enabled when there are no bpfilter devices configured.
Driver modules should be built with BPF enabled for maximum
convenience (but can be built without it for maximum performance).
Enable vmspace sharing on SMP. Major changes are,
- %fs register is added to trapframe and saved/restored upon kernel entry/exit.
- Per-cpu pages are no longer mapped at the same virtual address.
- Each cpu now has a separate gdt selector table. A new segment selector
is added to point to per-cpu pages, per-cpu global variables are now
accessed through this new selector (%fs). The selectors in gdt table are
rearranged for cache line optimization.
- fask_vfork is now on as default for both UP and SMP.
- Some aio code cleanup.
Reviewed by: Alan Cox <alc@cs.rice.edu>
John Dyson <dyson@iquest.net>
Julian Elischer <julian@whistel.com>
Bruce Evans <bde@zeta.org.au>
David Greenman <dg@root.com>
Simplify the definition of FBSD_SWITCH_TAKES_ARG, and make sure
SWITCH_TAKES_ARG isn't defined (which svr4.h does) when we assign our
definition to it.
Fix the code that prints the "Initializing PC-card drivers" message
so that the list of drivers is correct. This is a slightly
simplified version of the patch from the PR.
Wait until EGCS 1.2 to use more efficient ``thunks'' to implement C++ vtables.
While I have yet to hear of any problems with us using thunks. The EGCS
mailing list notes some have problems with it and not using them are a
safer default. People wanting to use them, can set the appropiate
compiler flag.
o Make package matching for specific package loading use the Latest/
feature of packages now so that no version info is embedded.
o Add a default X desktop menu offering afterstep, enlightenment, KDE, GNOME
and Windowmaker desktops instead of the boring twm(1) based one if the
user so chooses. This will require a little testing.
1. Remove the hateful EDITOR=ee from root's environment; it's one
thing to use it at startup, when you don't know if the user can
handle vi or not, but yet another thing to leave it as a permanent
land mine for root.
2. Put /usr/X11R6/bin in path; it makes getting the desktop up a lot easier.
lpd tries to be clever and checks if RM == my_hostname.
However, it doesn't check if the remote printer name it
is sending it to is the same as the local printer name,
and so chokes 'cos "laser" is not a real printer.
PR: 7081
Submitted by: David Malone <dwmalone@maths.tcd.ie>
Mention that set-id bits are not honoured for shell scripts and
filesystems with the "nosuid" option. Mention that syscall tracing
is disabled sometimes.
brian [Tue, 27 Apr 1999 00:23:57 +0000 (00:23 +0000)]
Change ``set device'' so that it parses its arguments as one
device per argument rather than the old way of concatenating
everything then splitting the result at commas and whitespace.
Old syntax of ``set device /dev/cuaa0, /dev/cuaa1''
may no longer contain the comma, but syntax such as
``set device "!ssh host ppp -direct label"'' is now
possible.
peter [Mon, 26 Apr 1999 09:05:31 +0000 (09:05 +0000)]
Temporary hack. The radix code shouldn't need this, it should be
able to expand the zeros, ones etc masks on the fly. It seems a good
number of domains don't set the rn_maxkey variable anyway, and because
this is a domain itself, there is no guarantee we've been called after
a protocol that actually has set it (ie: inet), so start with a maxkey
of a relatively sane size as a base point until it can adapt on the fly.
peter [Mon, 26 Apr 1999 09:02:40 +0000 (09:02 +0000)]
Protect the ifinit() function's internals with splimp() for safety since
it used to be that way. I'm not sure that it's needed, but it does
walk the ifp list..
Incidently, there's nothing to sanity check the ifq_maxlen on loaded
interfaces..
peter [Mon, 26 Apr 1999 08:56:09 +0000 (08:56 +0000)]
Redo domain registration to use SYSINITS rather than linker sets.
Get rid of the spl wrapper kludge, it doesn't seem to be needed between
init calls since all that's running is the domain/protocol timers and they
are safe since domain list modifications are splnet() protected (which
blocks the timers)
More egcs warning fixes:
o main returns int not void
o use return 0 at end of main when needed
o use braces to avoid potentially ambiguous else
o don't default to type int
o #ifdef 0 -> #if 0
More egcs warning fixes:
o main returns int not void
o use braces to avoid potentially ambiguous else
Note: The fix to natd is potentially functional in nature since I used
the indentation as the right thing rather than the struct semantics.
Someone more familiar with the code should double check me on this one.
More egcs warning fixes:
o use braces to avoid potentially ambiguous else
o don't default to type int (and also remove a useless register
modifier).
o Use parens around assignment values used as truth values.
o Remove unused function.
More egcs warning fixes:
o main returns int not void
o use return 0 at end of main when needed
o use braces to avoid potentially ambiguous else
o don't default to type int (and also remove a useless register
modifier).
First set of fixes to keep egcs happy. These include {} around single
statement if blocks[*] when the else could be ambiguous, not defaulting
to int type and removal of some unused variables.
[*] This is explicitly allowed by style(9) when the single statement
spans more than one line.
Remove several explicit rules. The two for exceptioni.o and typeionfoi.o
aren't needed as those files aren't part of libstdc++ any longer. Another
isn't needed as Cygnus doesn't compile with -frtti.
max [Sun, 25 Apr 1999 16:42:46 +0000 (16:42 +0000)]
Change the loader.rc in the boot floppy to:
1. Enable use of serial console for installation by using autoboot
instead of boot.
2. Beep when the mfs root floppy needs to be placed in the fdd.
3. Beep again when mfs root image is loaded and the loader waits
for ten seconds before it starts booting for any input. (Serial
console users can say " boot -h" here.)
Bring two-digit years up-to-date with POSIX requirements.
70-00 are intepreted in the 20th century; 01-69 in the
21st century. (Yes, 2000 is the last year of the 20th
century, not the first year of the 21st.)
peter [Sat, 24 Apr 1999 20:20:37 +0000 (20:20 +0000)]
#if 0 out the pci device list, not that you could do a lot with it. It
was only looking at old style drivers in the pcidevice_set, which doesn't
exist any more.. Ultimately, the pci and eisa bus drivers will check for
hints for wiring, flags and enable/disable etc as well.
peter [Sat, 24 Apr 1999 19:59:20 +0000 (19:59 +0000)]
Replace the pcidevice_set linker set based configuration mechanism for old
style pci drivers with a simple one-line change to use a module that
registers itself under new-bus and should in theory enable just about all
of the pci drivers to be loadable (kldload and loader(8)) but without
having the impact of converting the APIs yet.
This also fixes the problem of having undefined variables when only
new-style pci drivers are present.
peter [Sat, 24 Apr 1999 18:59:19 +0000 (18:59 +0000)]
More cleanups, tweaks and features.
- make this work: options FOO123=456 *without quotes*
- grumble (but accept) vector xxxintr, and tty/net/bio/cam flags.
- complain if a device is specified twice (eg: 2 x psm0)
- don't require quotes around: port IO_COM2
- recognize negative numbers. (ie: options CAM_DEBUG_UNIT=-1)
- GC some more unused stuff (we don't have composite disks from config(8)).
- various other nits (snprintf paranoia etc)
Changed the type of id_port from short into int to avoid wrong
conversion from short to unsigned long which is an argument of
bus_alloc_resource. Since the value -1 is used to indicate no port
reousece, id_port need to be signed (suggested by Doug Rabson and
Peter Wemm.)
Add loader.4th man page (worst man page I ever wrote -- reviews
are welcomed). Correct a nasty bug in loader.4th before anyone
notices, add a couple of features.