Commit Graph

29714 Commits

Author SHA1 Message Date
Mike Smith
0b3178a45c Eliminate the use of commons in the kernel and modules,
simplifying the module linking process and eliminating the risks
associated with doubly-defined variables.

Cases where commons were legitimately used (detection of
compiled-in subsystems) have been converted to use sysinits, and
any new code should use this or an equivalent practice as a
matter of course.

Modules can override this behaviour by substituting -fno-common
out of ${CFLAGS} in cases where commons are necessary
(eg. third-party object modules).  Commons will be resolved and
allocated space when the kld is linked as part of the module
build process, so they will not pose a risk to the kernel or
other modules.

Provide a mechanism for controlling the export of symbols from
the module namespace.  The EXPORT_SYMS variable may be set in the
Makefile to NO (export no symbols), a list of symbols to export,
or the name of a file containing a newline-seperated list of
symbols to be exported.  Non-exported symbols are converted to
local symbols.  If EXPORT_SYMS is not set, all global symbols are
currently exported.  This behaviour is expected to change (to
exporting no symbols) once modules have been converted.

Reviewed by:	peter (in principle)
Obtained from:	green (kmod_syms.awk)
2002-01-10 03:52:01 +00:00
Wes Peters
9539704639 Fix typo in function name.
Reviewed by:	peter@
Obtained from:	mux@sneakerz.org
2002-01-10 03:26:46 +00:00
Daniel Eischen
ed4e4544b1 Add getcontext, setcontext, makecontext, and swapcontext prototypes
to ucontext.h.

Approved by:	-arch
2002-01-10 02:44:30 +00:00
Daniel Eischen
8ec12ea9ce Use a spare slot in the machine context to identify the context format
and to inherently verify its validity.  Alpha signal frames and trap
frames are different; this field identifies which format the context
is

Set the machine context format (signal frame) before copying it out
when sending a signal.

Approved by:	-arch
2002-01-10 02:36:30 +00:00
Daniel Eischen
2e615b482d Use a spare slot in the machine context for a flags word to indicate
whether the machine context is valid and whether the FPU state is
valid (saved).

Mark the machine context valid before copying it out when sending a
signal.

Approved by:	-arch
2002-01-10 02:32:30 +00:00
Ian Dowse
a7f6ff2e8c Terminate requests in nfs_sigintr() if the filesystem is in the
process of being unmounted. This allows forced NFS unmounts to
complete even if there are processes stuck holding the mnt_lock
while the server is down. The mechanism is not ideal in that there
is a small chance we might accidentally cancel requests during a
failed non-forced unmount attempt on that filesystem, but this
is not really a big problem.

Also, move the tsleep() in nfs_nmcancelreqs() so that we do not
sleep in the case where there are no requests to be cancelled.
2002-01-10 02:15:35 +00:00
Ian Dowse
1f493270a1 Change dounmount() to return EBUSY in the non-MNT_FORCE case if we
can't acquire the mnt_lock without blocking. Normally non-forced
unmount attempts return EBUSY quickly if any vnodes are active, so
this just extends that behaviour to cover the per-mount mnt_lock
too.
2002-01-10 01:59:30 +00:00
Robert Watson
2b87b6d4f4 o Revert kern_sig.c#1.143, as cr_cansignal() doesn't currently permit
a number of desirable cases in which SIGIO/SIGURG are delivered.  We'll
  keep tweaking.

Reported by:	Alexander Kabaev <ak03@gte.com>
2002-01-10 01:25:35 +00:00
Matthew N. Dodd
ced8202c20 Implement 2 small helper functions:
pci_find_bsf() - Find a device_t by bus/slot/function.
	pci_find_device() - Find a device_t by vendor/device ID.
2002-01-10 00:56:02 +00:00
Mike Smith
5390e1bc8f Staticise the random_state array.
Reviewed by:	markm
2002-01-10 00:09:21 +00:00
Peter Wemm
72511ed13a Remove KMODDEPS, this is not used on -current and should not be left
around as a bad example.
2002-01-09 21:12:40 +00:00
Takanori Watanabe
89b8315762 Fix S3 breakage.
Now AcpiEnterSleep() is light enough, so flushing cache
before the function is not too early.
2002-01-09 16:00:31 +00:00
Ian Dowse
7e9c85d4ce Increase BSIZEMAX from 8k to 16k, so that we can reliably boot from
filesystems with 16k blocks.
2002-01-09 15:46:17 +00:00
Sheldon Hearn
b1c7da31f2 Use KMODDEPS to document module dependencies on libiconv and
libmchain.

KMODDEPS seems to be a no-op in HEAD, but is required in RELENG_4,
where MODULE_DEPEND seems to be a no-op.

Therefore, this change is harmless in -CURRENT, but will fix the
dependencies when merged to RELENG_4, where they are currently not
registered!

PR:		kern/33625
Submitted by:	Joe Marcus Clarke <marcus@marcuscom.com>
2002-01-09 11:45:58 +00:00
Kelly Yancey
2bbe1e9d6c Replace spaces after #defines with tabs; this makes all #defines
consistent in their adherence with style(9).
2002-01-09 07:29:28 +00:00
Alan Cox
7d17bbd0e6 o Correct a 32/64-bit error in the initialization of aiol_zone, specifically,
sizeof(int) is not the size of a pointer.
2002-01-09 06:40:45 +00:00
Mike Smith
a7489fe56f Add a new sysinit SI_SUB_DEVFS. Devfs hooks into the kernel at SI_ORDER_FIRST,
and devices can be created anytime after that.

Print a warning if an atttempt is made to create a device too early.
2002-01-09 04:58:49 +00:00
Mike Silbersack
fdba8cf430 GC fast_vfork; it's not actually referenced anywhere.
MFC after:	3 weeks
2002-01-09 04:51:21 +00:00
Jake Burkholder
47a1c91514 Move the make_dev call from the cn_probe to a sysinit that runs at
SI_SUB_DRIVERS.  cnprobe is too early.
2002-01-09 04:03:55 +00:00
Mike Smith
65c382562e Define the kern.cam sysctl in the cam layer, rather than multiply in several
peripheral drivers.  Remove Ken's comment to the effect that this needed
to be done.

Staticise camnet_ih and cambio_ih.
2002-01-09 03:39:04 +00:00
Mike Smith
1e050d0ca5 Staticise a debugging variable.
Submitted by:	non
2002-01-09 03:37:16 +00:00
Mike Smith
e45bef2aa9 Staticise the aac devclass. 2002-01-09 03:32:40 +00:00
Alfred Perlstein
47927c198b holdsock is gone, remove the prototype 2002-01-09 03:08:47 +00:00
Alfred Perlstein
078a4e8939 Sockets are called 'so' not 'sp'. 2002-01-09 02:47:00 +00:00
Mike Silbersack
9f5193ca0b Revert 1.81; 1.19 fixed this already in a different way. 2002-01-09 01:45:17 +00:00
Mike Smith
92fef27d97 Use a sysinit to initialise the devfs hooks in kern_conf.c rather than common
variables.

Reviewed by:	phk (in principle)
2002-01-09 01:00:20 +00:00
Maxim Sobolev
1fc3a4a25d Add quirk for DIVA USB Mp3 Player.
PR:		kern/33638
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC after:	3 days
		(pending re's approval)
2002-01-08 21:07:46 +00:00
Warner Losh
7be18016b5 Regenerate from 1.26 pccarddevs 2002-01-08 20:52:57 +00:00
Warner Losh
e5c51b0548 Catch up to NetBSD:
1.156 pooka; Socket Low-Power CF WLAN
	1.155 ichiro; IBM Smart Capture Card II
	1.152-154 ichiro; Fujitsu CF EtherCard and FMV-181,182,182A
	1.151 christos; Symbol Spectrum24
2002-01-08 20:52:23 +00:00
Max Khon
eda6ecb22a - generic Arcnet framework
- device driver for SMC COM90cx6 Arcnet network adapters

Obtained from:	NetBSD
2002-01-08 20:03:13 +00:00
Mike Smith
b3a39c8ae2 Rename some variables that end up shadowing their namesakes in the NFS client
code.

Reviewed by:	peter
2002-01-08 19:41:06 +00:00
Mike Smith
1dd003ecf4 Staticise a couple of debugging variables. 2002-01-08 19:37:12 +00:00
Mike Smith
8265abbd64 Rename a variable that might accidentally be duplicated elsewhere. 2002-01-08 19:36:54 +00:00
Mike Smith
1ea155bafa Avoid doubly defining machdep.pccard 2002-01-08 19:35:27 +00:00
Mike Smith
eeff042fb3 Staticise the coda vfsop pointer. 2002-01-08 19:33:51 +00:00
Mike Smith
b9a4338d29 Initialise the bioops vector hack at runtime rather than at link time. This
avoids the use of common variables.

Reviewed by:	mckusick
2002-01-08 19:32:18 +00:00
Mike Smith
b6b6d662bc find_devclass -> devclass_find. 2002-01-08 19:14:59 +00:00
Warner Losh
94663a748c Revert change that breaks the joy module. joydevclass must not be static. 2002-01-08 18:27:49 +00:00
Thomas Moestl
d7ff50a055 Add upa.h, which I had previously forgotten, to unbreak the sparc64
kernel build.

Pointy hat to:	tmm
2002-01-08 16:25:51 +00:00
Mike Smith
7577116e1e Staticise pfs_vncache, it's not used anywhere else.
Reviewed by:	des
2002-01-08 11:15:57 +00:00
Mike Smith
bedbd47e6a Initialise the intrq_present fields at runtime, not link time. This allows
us to load protocols at runtime, and avoids the use of common variables.

Also fix the ip6_intrq assignment so that it works at all.
2002-01-08 10:34:03 +00:00
Josef Karthauser
46c8c4207d Staticise a couple of things that shouldn't be leaked into the
kernel namespace.

Submitted by:	msmith
2002-01-08 10:32:33 +00:00
Mike Smith
ba9613cd9b Staticise the fw chain. 2002-01-08 10:30:55 +00:00
Mike Smith
b78929a257 Staticise the socket list. 2002-01-08 10:30:34 +00:00
Mike Smith
e8783c4d6b Staticise private interface lists. 2002-01-08 10:30:09 +00:00
Mike Smith
0f04c2b207 Gut this header; since physio_proc_init is never called, the code never does
anything more than multiply declare some unused variables.
2002-01-08 10:26:44 +00:00
Mike Smith
fe5d4a9fac Staticise the flash buffer, since it isn't needed anywhere else. 2002-01-08 10:25:12 +00:00
Mike Smith
172f13eb36 Staticise the con_bios and digi_devclass variables, since they aren't needed
by anything else.
2002-01-08 10:24:34 +00:00
Mike Smith
5b48f71694 Staticise the device node pointers. 2002-01-08 06:50:17 +00:00
Mike Smith
489da1e76a Staticise the joy devclass. 2002-01-08 06:49:06 +00:00