Move the stuff related to select and poll out of struct vnode.
The use of the zone allocator may or may not be overkill.
There is an XXX: over in ufs/ufs/ufs_vnops.c that jlemon may need
to revisit.
This shaves about 60 bytes of struct vnode which on my laptop means
600k less RAM used for vnodes.
Daniel Eischen [Sun, 17 Feb 2002 17:40:34 +0000 (17:40 +0000)]
Use struct __ucontext in prototypes and associated functions instead of
ucontext_t. Forward declare struct __ucontext in <sys/signal.h> and
remove reliance on <sys/ucontext.h> being included.
While I'm here, also hide osigcontext types from userland; suggested
by bde.
Namespace pollution noticed by: Kevin Day <toasty@shell.dragondata.com>
- Split the routine to initialize a bus_space_handle into the separate
function.
- Only access a bus_space_handle if the resource type is SYS_RES_MEMORY or
SYS_RES_IOPORT.
- Add the bus_space_subregion supports.
Matthew Dillon [Sun, 17 Feb 2002 07:30:34 +0000 (07:30 +0000)]
replace the embedded cr_mtx in the ucred structure with cr_mtxp (a mutex
pointer), and use the mutex pool routines. This greatly reduces the size
of the ucred structure.
David E. O'Brien [Sun, 17 Feb 2002 07:04:32 +0000 (07:04 +0000)]
Add support such that if LD_TRACE_LOADED_OBJECTS_ALL is defined to a
non-empty string in the environment; we indicate which objects caused
each object to be loaded.
PR: 30908
Submitted-by: Mike Meyer <mwm@mired.org>
Matt Jacob [Sun, 17 Feb 2002 06:38:22 +0000 (06:38 +0000)]
Support for f/w crash dumps (2200 && 23XX).
If you want QLogic to look at a potential f/w problem for FC cards, you really
have to provide them info in the format they expect. This involves dumping
a lot of hardware registers (> 300 16 bit registers) and a lot of SRAM
(> 128KB minimum). Thus all of this code is #ifdef protected which will
become an option so that the memory allocation of where to dump the crash
image is pretty expensive. It's worth it if you have a reproducible problem
because they have some tools that can tell them, given the f/w version,
the precise state of everything.
Warner Losh [Sun, 17 Feb 2002 03:11:11 +0000 (03:11 +0000)]
Bulk changes made during the BSDcon kernel summit and travel afterwards.
Appologies for making this one bulk commit, but I have tested all these
changes together and don't want to break anything by trying to disentangle
it.
o Make debugging a sysctl/tunable
o Remove flags word from yenta chip info, it is unused
o Make 16-bit card I/O range and 32-bit card I/O range tunables
o Start the rename of pccbb to cbb to match NetBSD by misc renames.
o Kill the now bogus list of softcs to create kthread. Instead, just
create the kthread in the attach routine.
o Remove sc_ from some structure names. It isn't needed.
o Refine chipset lookup code.
o Match generic PCI <-> CardBus bridges. We specifically don't generically
match PCI PCMCIA bridges because they are not, with one exception, yenta
devices.
o Add some comments about the why we need to have a function table ala
OLDCARD
o The PCI interrupt routing by using the ExCA registers is needed for
for all bridges, per the spec, not just TI ones.
o Collapse TOPIC95 and TOPIC95B.
o Using the ToPIC 97 and 100 datasheets, try to support these bridges better,
but more work is needed.
o Generally clarify some XXX comments and add them in a few places where
things didn't look right to me.
o Move interrupt generating register access until after we establish an ISR.
o Add support for YV and XV cards. X and Y are numbers to be determined
later (but maybe never).
o factor powerup code for 16-bit and 32-bit cards.
o When a card supports more than one voltage, prefer the lowest supported
volage. Windows does this, and MS's design guides imply this is the
right thing to do.
o Document race between kthread_exit(0) and kldunload's unmapping of pages
that John Baldwin and I discovered.
o Debounce the CSC interrupt a little better.
o When a 16-bit card is inserted when we don't have a pccard child,
warn about it better. Ditto for 32-bit card.
o Ack ALL the interrupt bits that we get, not just 0x1.
o maybe a couple minor style nits corrected.
Crist J. Clark [Sun, 17 Feb 2002 02:01:15 +0000 (02:01 +0000)]
Remove check for sendmail.conf before even trying to start sendmail.
Checking for the existence of sendmail.cf is rather silly when someone
is using the mailwrapper(8) to run a mail daemon that is not actually
sendmail(8). It is also probably better to let sendmail(8) actually
try to start and error out if the administrator has
'sendmail_enable="YES"' but no sendmail.conf. At present, it would
fail silently.
Julian Elischer [Sun, 17 Feb 2002 01:09:56 +0000 (01:09 +0000)]
If the credential on an incoming thread is correct, don't bother
reaquiring it. In the same vein, don't bother dropping the thread cred
when goinf ot userland. We are guaranteed to nned it when we come back,
(which we are guaranteed to do).
Reviewed by: jhb@freebsd.org, bde@freebsd.org (slightly different version)
Ian Dowse [Sat, 16 Feb 2002 21:05:16 +0000 (21:05 +0000)]
Supply progress information in dump's process title, which is useful
for monitoring automated backups. This is based on a patch by Mikhail
Teterin, with some changes to make its operation clearer and to
update the proctitle more frequently.
Matthew Dillon [Sat, 16 Feb 2002 20:10:00 +0000 (20:10 +0000)]
When blocked on a mutex, display the mutex name via the wchan string field
so we can at least tell the difference between being blocked in Giant
and being blocked in some other mutex.
Brian Feldman [Sat, 16 Feb 2002 17:35:05 +0000 (17:35 +0000)]
Add revoke_and_destroy_dev(), to be used by devices which decide when
they choose to destroy themselves without regard to whether or not
they are open.
Ian Dowse [Sat, 16 Feb 2002 17:05:49 +0000 (17:05 +0000)]
Fix two file descriptor leaks in the internal function local_rpcb()
that is used by a number of rpcbind-related library functions. Also
fix a rpc client leak in rpcb_set().
John Hay [Sat, 16 Feb 2002 15:12:14 +0000 (15:12 +0000)]
Add the puc (PCI "Universal" Communications) driver. The idea and some of
the structure definitions come from NetBSD to make it easier to share card
definitions. The driver only acts as a shim between the pci bus and the
sio driver. Later pci parallel ports could also be supported through this
driver. Support for most single and multiport pci serial cards should be
as simple as adding its definition to pucdata.c
Tested with the following pci cards:
Moxa Industio CP-114, 4 port RS-232,RS-422/485
Syba Tech Ltd. PCI-4S2P-550-ECP, 4 port RS-232 + 2 parallel ports
Netmos NM9835 PCI-2S-550, 2 port RS-232
Bruce Evans [Sat, 16 Feb 2002 07:07:54 +0000 (07:07 +0000)]
Don't leave garbage in parts of fpregs in the fxsr case. All callers
(procfs and ptrace) supply kernel stack garbage, so kernel context was
leaked to userland.
Bruce Evans [Sat, 16 Feb 2002 05:59:26 +0000 (05:59 +0000)]
FIxed the following style bugs:
- clobbering of jsp's $Id$ by FreeBSD's old $Id$.
- long lines in recent KSE changes (procfs_ctl.c).
- other style bugs in KSE changes (most related to an shadowed variable
in procfs_status.c -- the td in the outer scope is obfuscated by
PFS_FILL_ARGS).
Bruce Evans [Sat, 16 Feb 2002 05:38:07 +0000 (05:38 +0000)]
FIxed the following style bugs:
- clobbering of jsp's $Id$ by FreeBSD's old $Id$.
- lost Berkeley id in procfs_dbregs.c
- long lines in recent KSE changes.
- various gratuitous differences between procfs_*regs.c.
Garrett Wollman [Fri, 15 Feb 2002 22:15:39 +0000 (22:15 +0000)]
Resurrect one of the easiest changes from my big include files roll-up
patch from a year ago: give file flags their own type. This does not
(yet) change the type used by system calls or library functions.
The underlying type was chosen to match what is returned by stat().
Robert Drehmel [Fri, 15 Feb 2002 13:22:09 +0000 (13:22 +0000)]
- Remove unneeded variable.
- Remove change for my local configuration that slipped in with
the last commit; I am having problems booting when multiple SCSI
disks are attached, so I will change this part as soon as I find
a solution, anyway.
Robert Drehmel [Fri, 15 Feb 2002 13:09:34 +0000 (13:09 +0000)]
- Do not include a NetBSD header as it is not needed anymore.
- Remove two constants that were needed in conjuction with the
NetBSD disklabel header. Use the FreeBSD equivalents.
To boot from NetBSD/sparc64 partitions, define LABELOFFSET to
be 128.
- Do not use the complete open firmware path to filter out cdrom drives.
No path containing "cdrom" is detected as a disk now.
- Simplify some code.
Bruce Evans [Fri, 15 Feb 2002 08:28:34 +0000 (08:28 +0000)]
#include "opt_compat.h" so that the support for old ioctls can actually
be compiled. Old tty ioctls are still used (possibly ifdef'ed) in at
least the following programs in the src tree:
atc des ee fontedit gdb gdbserver lock ntp perl5 tcsh telnet top vttest
rp.c:
Unremoved used variables so that the support for old ioctls actually
compiles.
Luigi Rizzo [Fri, 15 Feb 2002 05:11:11 +0000 (05:11 +0000)]
Lots of improvement to the bridging code.
In order of importance:
+ each cluster now uses private data structures (filtering and
local address tables) so you can treat them as fully independent
switches. This part of the work was supported by:
Cisco Systems, Inc. - NSITE lab, RTP, NC.
+ cleaned up the handling of configuration, so the system will behave
much better when real or pseudo devices are dynamically attached
or detached. It should also not panic anymore on systems with large
number of devices, closing a few existings PRs on the topic.
+ while at it, add support for VLAN. This means that a FreeBSD box
can now work as a real VLAN switch, with trunk interfaces etc.
As an example:
ifconfig vlan0 vlan 3 vlandev dc0
ifconfig vlan1 vlan 4 vlandev dc0
net.link.ether.bridge_cfg="vlan0:3,dc1:3,vlan1:4,dc1:4"
uses dc0 as a trunk interface, and dc1 and dc3 as ports on vlans 3 and 4
You get the idea...
NOTA BENE: by default bridge_cfg is initialised to "" so even if
you enable bridging, no packets will be bridged until you set the
list of interfaces on which you want this to happen.
+ large restructuring of the code, moving private vars and types from
bridge.h to bridge.c.
+ added a lot of comments to the code to explain how to use it.
Luigi Rizzo [Fri, 15 Feb 2002 03:57:06 +0000 (03:57 +0000)]
Do not disable IPv6 and vlan support when RELEASE_CRUNCH is defined.
We do support already IPv6 in the RELENG_4 boot floppies, and
vlan might be desirable as well.
Luigi Rizzo [Fri, 15 Feb 2002 02:50:07 +0000 (02:50 +0000)]
Make this compile after changes to kse structures.
This escaped because DEVICE_POLLING is disabled in LINT being
not compatible with SMP. In fact, it is only a runtime problem,
so if we could recognize that we are building a LINT kernel
we could as well disable the check for SMP being defined.
Bruce Evans [Fri, 15 Feb 2002 02:28:50 +0000 (02:28 +0000)]
Fixed style bugs in rev.1.5:
- missing whitespace
- strange version of warn() built out of warnx() + strerror(). Just use
warn().
- conversion of just one of the two perror()'s to warn*()
Actually use _warn() instead of _warn(), to keep up with namespace-
unpollution for warn().
Luigi Rizzo [Thu, 14 Feb 2002 19:43:40 +0000 (19:43 +0000)]
Put a more reasonable path for "more" sources in crunch.conf,
and disable telnet and friends in favour of ssh/sshd/scp.
Pull out a few NIC drivers from the config file to make the
image fit into a 1.44 image again. I have left "lnc" in as that is
emulated by vmware so this can be booted there.
John Baldwin [Thu, 14 Feb 2002 18:18:25 +0000 (18:18 +0000)]
Remove an unneeded include of sys/sx.h. An older pre-commit version of
the filedesc locking used an sx lock for the filedesc lock rather than a
mutex which is why the include was here.
Ruslan Ermilov [Thu, 14 Feb 2002 13:06:52 +0000 (13:06 +0000)]
The previous fix for broken -DMAKE_KERBEROS5 world was incomplete.
Finish it by adding kerberos5/lib/libvers to the build-tools list.
(I didn't notice it before because I tested my fix in a -DNOCLEAN
environment, and static libc.a was already in ${WORLDTMP}/usr/lib,
and libvers's make-print-version build tool used it for linking.)
Spotted by: John Indra <maverick@office.naver.co.id>
Brian Feldman [Thu, 14 Feb 2002 08:22:37 +0000 (08:22 +0000)]
Fix a bug introduced in rev.1.40 which can cause systems to crash when
detaching USB devices. Specifically, a variable which was not meant
to be reused was, in fact, being reused.
Benno Rice [Thu, 14 Feb 2002 01:39:11 +0000 (01:39 +0000)]
Complete rework of the PowerPC pmap and a number of other bits in the early
boot sequence.
The new pmap.c is based on NetBSD's newer pmap.c (for the mpc6xx processors)
which is 70% faster than the older code that the original pmap.c was based
on. It has also been based on the framework established by jake's initial
sparc64 pmap.c.
There is no change to how far the kernel gets (it makes it to the mountroot
prompt in psim) but the new pmap code is a lot cleaner.