Commit Graph

30432 Commits

Author SHA1 Message Date
wollman
7d29dd10d3 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().
2002-02-15 22:15:39 +00:00
bde
173a18f472 Fix my recent breakage of some modules. 2002-02-15 15:45:34 +00:00
tmm
a9a5e28ef4 Add a delta missed in the last iommu.c commit. This unbreaks the sparc64
kernel build.

Pointy hat to:	tmm
2002-02-15 14:48:54 +00:00
robert
7e57a5d41a - 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.
2002-02-15 13:22:09 +00:00
bde
5720876ee5 Garbage-collect options ACPI_NO_ENABLE_ON_BOOT, AML_DEBUG, BLEED,
DEVICE_SYSCTLS, KEY, LOUTB, NFS_MUIDHASHSIZ, NFS_UIDHASHSIZ, PCI_QUIET
and SIMPLELOCK_DEBUG.
2002-02-15 13:16:11 +00:00
robert
964cc8dfc6 This file is now unneeded. 2002-02-15 13:11:00 +00:00
robert
36d5064113 - 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.
2002-02-15 13:09:34 +00:00
robert
a1db61378b Add the FreeBSD/sparc64 bootblock and its make file. 2002-02-15 12:49:20 +00:00
ru
d2e47c3d20 Moved the 127/8 check below so that IPF redirects have a chance of working.
MFC after:	1 day
2002-02-15 12:19:03 +00:00
bde
3247dc600a Garbage collect options AVM_A1_PCI, AVM_A1_PCMCIA, DEBUG_LINUX, DEV_APM,
GUS_DMA, GUS_DMA2, GUS_IRQ, OLTR_NO_BULLSEYE_MAC, OLTR_NO_HAWKEYE_MAC,
OLTR_NO_TMS_MAC and PCIC_RESUME_RESET.
2002-02-15 10:19:39 +00:00
bde
4323174252 #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.

Not tested at runtime by:	bde
2002-02-15 08:28:34 +00:00
bde
cb8ddb654e Added undocumented options AAC_DEBUG, ACD_DEBUG, ACPI_MAX_THREADS,
ACPI_NO_SEMAPHORES, ASR_MEASURE_PERFORMANCE, AST_DEBUG, ATAPI_DEBUG,
ATA_DEBUG, BKTR_ALLOC_PAGES, BROOKTREE_ALLOC_PAGES, CAPABILITIES,
COMPAT_SUNOS, CV_DEBUG, MAXFILES, METEOR_TEST_VIDEO, NDEVFSINO,
NDEVFSOVERFLOW, NETGRAPH_BRIDGE, NETSMB, NETSMBCRYPTO, PFIL_HOOKS,
SIMOS, SMBFS, VESA_DEBUG, VGA_DEBUG.

Start using #! to comment out negative options and ## to comment out
broken options.

atapi-all.c:
Fixed rotted bits that were hiding under ATAPI_DEBUG.

atapi-cd.c:
#include "opt_ata.h" so that ACD_DEBUG is actually visible.

ata/atapi-tape.c
#include "opt_ata.h" so that AST_DEBUG is actually visible.
2002-02-15 07:08:44 +00:00
luigi
c2cd01e480 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.
2002-02-15 05:11:11 +00:00
luigi
6ec2db5d5b Remove useless initialization to 0 of a couple of global variables. 2002-02-15 04:57:18 +00:00
bde
60f2b0c638 Fixed a typo in rev.1.65 that gave a reference to a nonexistent variable.
This was not detected by LINT because LINT is missing COMPAT_SUNOS.
2002-02-15 03:54:01 +00:00
luigi
8129d9e355 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.

Reported-by: Joe Clarke
2002-02-15 02:50:07 +00:00
gallatin
bee556422d Spell #if 0 correctly 2002-02-14 22:29:03 +00:00
jhb
4ef7536caa 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.
2002-02-14 18:18:25 +00:00
green
b6a0d99fc7 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.
2002-02-14 08:22:37 +00:00
joe
193c787438 Regenerate. 2002-02-14 03:03:08 +00:00
joe
cb13f4973e Support the HP 5400C scanner.
PR:		kern/34783
2002-02-14 02:51:12 +00:00
benno
8c67ca76f7 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.

Obtained from:	NetBSD (pmap code)
2002-02-14 01:39:11 +00:00
bde
0a7fefb6ef Fixed sign extension bugs in previous commit. They didn't completely
break scheduling because negative priorities were most fixed up by
converting kg_pri_user back to the correct type.

Fixed some style bugs in previous commit (non-terminated sentence fragments
and regressions in comments).
2002-02-14 01:21:23 +00:00
joe
ebcf5e9539 Rework revision 1.12, and wrap the bmaj entry with an #if doesn't
compile it in on FreeBSD-current, but does in all other cases
(-stable, NetBSD, OpenBSD, etc).
2002-02-14 00:35:03 +00:00
joe
049d677fb9 Reinstate revision 1.14. The empty uscannerioctl() was accidently
re-added during a recent NetBSD merge.
2002-02-14 00:32:03 +00:00
bde
94db1ca693 Don't confuse a struct with its first member. This fixes:
./@/i386/i386/machdep.c: In function `init386':
./@/i386/i386/machdep.c:1700: warning: assignment from incompatible pointer type
2002-02-13 21:38:48 +00:00
fjoe
0b1af429c6 remove superflous empty line (in preparation to MFC) 2002-02-13 19:36:14 +00:00
alfred
625aab9014 Re-enable WITNESS for GENERIC. Since the 5.x branch is mostly about
SMP we'd like as much feedback as possible from users about possible
locking problems as early as possible.

To negate most of the performance impact I've also enabled
WITNESS_SKIPSPIN.  I've done this as we've been running WITNESS
over the spinlock code for a while without incident and it goes a
long way to making the performance problems of WITNESS much more
bearable.

Users who should be running current should know about turning WITNESS
off for performance reasons.

That said and done, WITNESS could/should be made into a tuneable,
but we'll leave that as an excersize to those that want to disable
it without a kernel recompile.
2002-02-13 18:47:50 +00:00
pdeuskar
59699901cf - Added support for receive in multiple
descriptors. This simplifies code for jumbo frames.
- Cleaned up coding conventions to make code more unix-like.
- Cleaned up code in if_em_fxhw.c and if_em_phy.c.
  Added relevant comments.

MFC after:	1 week
2002-02-13 18:19:27 +00:00
tmm
ec412094f2 Calculate physmem before calling init_param2().
Submitted by:	jake
2002-02-13 17:05:56 +00:00
tmm
192c359134 Avoid crashing in early boot when WITNESS is enabled by moving the
mtx_init() for intr_table_lock after the globaldata pointer
initialization.
2002-02-13 16:36:44 +00:00
tmm
585c8cf0cb Add counter.c and sbus.c. Unify style. 2002-02-13 16:29:51 +00:00
tmm
727706e845 Add the counter-timer node to the exclusion list, as it is handled
specially. While being there, sort that list.
2002-02-13 16:28:40 +00:00
tmm
078cd8f98d Use stxa_sync() when accessing the LSU control register to avoid undefined
behaviour.
2002-02-13 16:25:33 +00:00
tmm
df810ee5f1 Use stxa_sync() when accessing the diagnostic registers to invalidate
caches; this is needed to avoid undefined behaviour.
Clean up a bit.
2002-02-13 16:20:38 +00:00
tmm
0560836106 Add support for the counter-timer which is included in the Sun U2S and
U2P bridges as a time counter.
2002-02-13 16:16:36 +00:00
tmm
b7f14ec97a Add support for the SBus, which is used in early Sun UltraSPARC machines.
Ported from NetBSD.
2002-02-13 16:11:36 +00:00
tmm
aac61c2231 Merge r1.39 from NetBSD (manage both streaming caches for psycho pairs).
Use explicit bus space accesses instead of mapping the device memory
into kva.
Fix support for psycho pairs, and catch up with iommu code changes.
2002-02-13 16:07:59 +00:00
tmm
833609e922 Merge r1.42 of iommu.c and r1.9 of iommuvar.h from NetBSD (this adds
support for managing both streaming caches on psycho pairs).
Use explicit bus space accesses instead of mapping the device memory into
kva.
Move DVMA allocation to the map creation/dma memory allocation functions.
2002-02-13 15:59:17 +00:00
tmm
0c9d147985 Clean up bus space debugging support; change sparc64_bus_mem_map() to
take a bus tag and handle as argument instead of a i/o space id and a
physical address, now that nexus handles device memory resource
allocations.
2002-02-13 15:51:57 +00:00
tmm
1f20dab185 Define constants for the CPU implementation id; export the dectected id
as cpu_impl.
2002-02-13 15:47:12 +00:00
tmm
fd0bcc7a88 Don't panic when no interrupt map can be found for a PCI bus; this seems
to happen on some models, like the Netra T1.
2002-02-13 15:44:58 +00:00
tmm
d1b951ba96 Fix typos in a comment. 2002-02-13 15:43:42 +00:00
tmm
242f49613d Add a few new functions/macros: intr_disable() and intr_restore() to
disable interrupts completely, and stxa_sync(), which performs a store
immediately followed by a membar #Sync with interrupts disabled (this
is needed for writes to diagnostic registers).
2002-02-13 15:40:05 +00:00
tmm
caee904afc Minor bug fixes (add a missing break, correct the resource ranges, remove
a memory leak).
2002-02-13 15:35:22 +00:00
rwatson
33a1e03065 Remove WITNESS from GENERIC by default: as we grow more locks, this gets
slower, and may be impeding adoption of -CURRENT by developers.  We
recommend turning on WITNESS by default on crash boxes, and when doing
locking development.  It will probably get turned on by default for a week
or two following any major locking commits, also.

Approved by:	all and sundry (jhb, phk, ...)
2002-02-13 07:44:59 +00:00
scottl
e30d9a8fbd Add ID's for a couple of upcoming cards.
MFC after:	1 day
2002-02-13 07:44:43 +00:00
archie
7f5502e986 Fix another bug in handling of multi-link sequence numbers.
MFC after:	1 week
2002-02-13 00:58:49 +00:00
yar
6be8f7b39f ^U kills an entire input line in most applications,
including the default terminal canonical mode.
So let ddb(4) be no exception from this rule.

Pointed out by: Mark Peek <mark@peek.org>
2002-02-12 23:38:40 +00:00
dwmalone
74fa509202 Add an option CPU_ATHLON_SSE_HACK which attempts to enable the SSE
feature bit on newer Athlon CPUs if the BIOS has forgotten to enable
it.

This patch was constructed using some info made available by John
Clemens at http://www.deater.net/john/PavilionN5430.html

Reviewed by:	-audit
MFC after:	3 weeks
2002-02-12 21:13:02 +00:00
dwmalone
d48667d57b Move do_cpuid() from a identcpu.c into cpufunc.h. 2002-02-12 21:06:48 +00:00
archie
6309c679bd Fix bug in previous commit.
Submitted by:	Harti Brandt <brandt@fokus.gmd.de>
2002-02-12 18:33:10 +00:00
brooks
6cc0b98fd5 Add support for the Linksys WMP-11, Prism 2.5, PCI adaptor.
Submitted by:	Thomas Skibo <skibo@pacbell.net>
MFC after:	2 weeks
2002-02-12 17:52:11 +00:00
alc
f64c08b326 o Clearing p/td_retval[0] after aio_newproc() is unnecessary. (We stopped
calling rfork() to create aio threads in revision 1.46.)
 o Don't recompute the FILE * when it's already stored in the kernel's AIOCB.
2002-02-12 17:40:41 +00:00
sos
79c2c9546e Add support for the Cenatek Rocket Drive. 2002-02-12 16:59:28 +00:00
sos
5eb6e34010 Fix buglets in the ATAPI resume code.
This also fixes an old bug where some ATAPI devices went into
funny mode on an 'atacontrol reinit' command.
2002-02-12 13:21:51 +00:00
nyan
c53dc64416 MFi386: revision 1.164 2002-02-12 13:21:32 +00:00
nyan
a3a33d0393 MFi386: revision 1.391 2002-02-12 13:21:13 +00:00
sos
334f09ed2a Major update of the ATA RAID code, part 2:
More cleanups of the RAID1 failure mode code.

Add functionality that writes the changed RAID config setup
back to the disks (in controller BIOS specific format), so
that a reboot will make the BIOS pick up the changed config.
2002-02-12 11:35:15 +00:00
alc
227185b1bb Remove an unused (but initialized) variable from vmapbuf(). 2002-02-12 05:50:43 +00:00
imp
f3e9446326 Two fixes from Jonathan Hanna:
1) We shouldn't continue when we get a RX complete because we ack it
	   and the TX complete.
	2) Fix a couple of spl leaks
(why splbio is needed in ISR, I cannot understand).

MFC after: 3 days
2002-02-12 05:32:58 +00:00
alc
95059f78ce The previous commit included a change to fill_kinfo_proc() that results
in a NULL pointer dereference.  Repair this mistake.
2002-02-12 04:21:28 +00:00
jlemon
04bdc3812f When a duplicate SYN arrives which matches an entry in the syncache,
update our lazy reference to the inpcb structure, as it may have changed.

Found by: dima
2002-02-12 02:03:50 +00:00
msmith
03a880e06d Don't claim to have routed an interrupt when the method actually returned an
error.
2002-02-12 01:28:49 +00:00
gallatin
1e9b142f05 Enable polling to be configured into kernels on non i386 platforms. Note that
poll_in_trap is only implemented on i386.  I've tested this on alpha.

Approved by: luigi
2002-02-12 00:26:06 +00:00
luigi
57d5032c48 MFS: synchronize the code with the version in -stable, specifically:
+ SYSCTL_ULONG -> SYSCTL_UINT
 + some procedure renaming and variable rearrangement
 + fix the 'interface going deaf' problem same as in -stable.
2002-02-11 23:56:18 +00:00
silby
f6c1427240 Remove mbuf exhaustion warning messages; these are handled by the
mbuf system in a rate-limited fashion now.

MFC after:	3 days
2002-02-11 23:38:30 +00:00
silby
d942145dce Remove mbuf exhaustion warning messages; these are handled by the
mbuf system in a rate-limited fashion now.

MFC:	Already performed due to sloppiness.
2002-02-11 23:29:15 +00:00
julian
37369620df In a threaded world, differnt priorirites become properties of
different entities.  Make it so.

Reviewed by:	jhb@freebsd.org (john baldwin)
2002-02-11 20:37:54 +00:00
sos
030106f833 Add support for the HighPoint HPT374 4 channel ATA chip.
Sponsored by: Isilon Systems.
2002-02-11 15:48:04 +00:00
joe
9cadaeedec Fix some bugs in the ohci driver with respect to irq setup failure.
Submitted by:	nyan
2002-02-11 14:39:57 +00:00
yar
3b61d37e92 Teach ddb(4) to delete to the beginning of its command line on ^U.
PR:		kern/28976
Submitted by:	Nickolai Zeldovich <kolya@orbit.zepa.net>
2002-02-11 14:14:42 +00:00
joe
296d6685d4 Merge from NetBSD: revs 1.89 and 1.90.
Also, add some 'const's to supress warnings. (Submitted back to NetBSD).

The original logs from NetBSD:

	----------------------------
	revision 1.90
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +4 -4
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.89
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +18 -2
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 10:09:29 +00:00
nyan
79addeb604 Fall through from AT_TYPE_DIRECT to AT_TYPE_CDROM.
Old ATAPI CD-ROM drives return 0 (direct-access) as the type of the device.

(The ata driver has the same problem.)

MFC after:	3 days
2002-02-11 05:46:25 +00:00
obrien
f898027669 Allow one to specify the AWK used in the environment(commandline).
Gawk is blowing up when run natively on the sparc64 -- leading to totally
bogus kernel values (all "0x0").  Good ole BWK awk works fine however.
2002-02-11 03:54:30 +00:00
bde
78de9bc0b9 Garbage-collect the "LOCORE" version of MPLOCKED. 2002-02-11 03:41:59 +00:00
joe
462f3b689d Regenerate. 2002-02-11 03:36:13 +00:00
joe
7784c1f13f Merge from NetBSD.
Add lots of new scanner devices:

	AGFA SNAPSCAN1236U
	AGFA SNAPSCANE40
	AGFA SNAPSCANE50
	AGFA SNAPSCANE20
	AGFA SNAPSCANE25
	AGFA SNAPSCANE26
	AGFA SNAPSCANE52
	CANON N656U
	HP 3400CSE
	SCANLOGIC 336CX
	MUSTEK BEARPAW1200F
	MUSTEK 600USB
	MUSTEK 1200USBPLUS
	NATIONAL BEARPAW2400
	EPSON 640U
	EPSON 1650
	EPSON GT9700F
	UMAX ASTRA3400
	ULTIMA 1200UBPLUS
2002-02-11 03:35:53 +00:00
joe
8091640285 Quiet a qualifier warning. 2002-02-11 03:29:35 +00:00
joe
b906b978d1 Merge from NetBSD: revs 1.55 and 1.56
Original NetBSD logs:

	----------------------------
	revision 1.56
	date: 2001/12/03 01:47:12;  author: augustss;  lines: +5 -3
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.55
	date: 2001/12/02 23:25:25;  author: augustss;  lines: +8 -1
	Add a subroutine to search for a vendor/product pair.
	----------------------------
2002-02-11 03:15:08 +00:00
joe
db0b5e6c41 Merge from NetBSD: revs 1.12 and 1.21 - 1.23
Original NetBSD log messages are:

	----------------------------
	revision 1.23
	date: 2001/12/12 15:48:18;  author: augustss;  lines: +132 -114
	Add a scanner quirk for keeping the pipes open between device opening.
	Idea from Enami.
	----------------------------
	revision 1.22
	date: 2001/12/03 01:47:13;  author: augustss;  lines: +8 -16
	Handle vendor/product lookup with a common routine.
	----------------------------
	revision 1.21
	date: 2001/12/01 09:42:39;  author: enami;  lines: +4 -4
	Shorten wmesg so that they can be distinguished in ps/top output.
	----------------------------
	revision 1.12
	date: 2001/01/23 14:04:14;  author: augustss;  lines: +7 -1
	Make sure driver attach/detach events are generated in a
	consistent manner.
	----------------------------

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
2002-02-11 02:57:50 +00:00
joe
080f8de4f4 ANSIfy the function declarations, in line with NetBSD. 2002-02-11 02:25:47 +00:00
bde
92ed3d344f Move the declaration of panic() from sys/param.h back to sys/systm.h.
Almost all .c files have to include <sys/systm.h> for more than its
declaration of panic(), so little is gained from declaring panic() in
a wrong place.  This probably depends on missing garbage collection
of the includes of <sys/systm.h> that were added to get snprintf()
declared for old versions of the ktr macros.
2002-02-11 02:13:18 +00:00
joe
d3bb574305 Merge from NetBSD: revs 1.43 + 1.45
From the NetBSD logs:

    revision 1.45
    date: 2001/11/29 11:07:12;  author: augustss;  state: Exp;  lines: +12 -2
    Plug a memory leak in an error case.
    ----------------------------
    revision 1.43
    date: 2001/10/19 15:30:25;  author: nathanw;  state: Exp;  lines: +5 -3
    Match printers that report their interface as IEEE 1284 in addition to
    bidirectional.
2002-02-11 01:04:46 +00:00
dd
336de67dc7 Silence unused variable warning in the !KLD_MODULE case.
Submitted by:	archie
2002-02-10 22:22:05 +00:00
phk
6f1345e7e7 GC the unused einval()
Obtained from:	~bde/sys.dif.gz
2002-02-10 22:07:41 +00:00
phk
95c1f2fa1e Style(9) nits.
Obtained from:	~bde/sys.dif.gz
2002-02-10 22:04:44 +00:00
phk
6a8782408b Various nit-picking, mostly of style(9) character.
Obtained from:	~bde/sys.dif.gz
2002-02-10 22:00:20 +00:00
rwatson
3accefe9ca Add a comment indicating that the locking protocol should be updated
to be 'L L L' for vop_getattr().  Don't update it yet, because there
are still many offenders.
2002-02-10 21:46:16 +00:00
rwatson
5e6a46b8e5 Add a comment indicating that VOP_GETATTR() is called without appropriate
locking in the core dump code.  This should be fixed.
2002-02-10 21:45:16 +00:00
rwatson
2bbae54d18 Make sure to hold vnode lock when calling into VOP_GETATTR().
Discussed with:	mckusick, phk
2002-02-10 21:44:30 +00:00
phk
ef612b7ce4 Staticize the malloc definitions.
Obtained from:	~bde/sys.dif.gz
2002-02-10 21:42:44 +00:00
phk
6be6d245a4 Remove spurious ';'
Obtained from:	~bde/sys.dif.gz
2002-02-10 21:36:13 +00:00
rwatson
e2e50cbb21 Add a comment indicating that the vnode locking in this section of the
kernel linker code may be wrong: it fails to hold a lock across the
call to VOP_GETATTR(), and vn_rdwr() with IO_NODELOCKED.
2002-02-10 21:29:02 +00:00
rwatson
aa54f85939 Make sure to grab vnode lock on a vnode before calling VOP_GETATTR()
to perform an ownership test in revoke().  This is also required for
MAC hooks so that the vnode lock is held during a call to the MAC
framework.  Release the lock before calling VOP_REVOKE().

Discussed with:	phk, mckusick
2002-02-10 20:45:43 +00:00
rwatson
c20b76b8d0 Style consistency fix for MAC ioctls added previously. 2002-02-10 16:55:35 +00:00
joe
56f70a75ef Fill in the uhci_dump_ii function (from NetBSD). 2002-02-10 15:38:47 +00:00
obrien
bb08463f2b Add this FreeBSD standard header. 2002-02-10 14:27:20 +00:00
kato
9905138900 Cosmetic changes:
- Collected i486 identification codes in one place like
  586 and 686.
- Merged two cases (0x470 and 0x490) for `Enhanced Am486DX4
  Write-Back.'
- Replaced `unknown' into `Unknown'.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2002-02-10 11:23:14 +00:00
nyan
25bdd1bd55 Cosmetic changes. 2002-02-10 10:27:37 +00:00
nyan
18e5cade50 Add needed include. 2002-02-10 10:16:22 +00:00
nyan
41d18bbb0a - Refine the iskanji1 function.
- Print continuous ascii characters at a time.

Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2002-02-10 10:15:41 +00:00
nyan
bf52fb4e7a Fixed mouse cursor on a console.
Submitted by:	chi@bd.mbn.or.jp (Chiharu Shibata)
2002-02-10 10:14:39 +00:00
rwatson
eef638ac93 Remove a stray 'const' that slept into extattr_set_vp(), and could
result in compiler warnings.
2002-02-10 05:31:55 +00:00
imp
fc3cad7e87 Null interrupt handlers should be OK, so if we don't have a function,
just return.
2002-02-10 05:04:20 +00:00
rwatson
c00ccc43a6 Minor style tweaks.
Remove an unneeded comment and commented out code that won't be
needed.
2002-02-10 04:57:08 +00:00
rwatson
ce1e1df4d1 Copyright + license update. 2002-02-10 04:50:24 +00:00
rwatson
94eec10ab3 Part II: Update system calls for extended attributes. Rebuild of
generated files.
2002-02-10 04:44:37 +00:00
rwatson
6ca91a055c Part I: Update extended attribute API and ABI:
o Modify the system call syntax for extattr_{get,set}_{fd,file}() so
  as not to use the scatter gather API (which appeared not to be used
  by any consumers, and be less portable), rather, accepts 'data'
  and 'nbytes' in the style of other simple read/write interfaces.
  This changes the API and ABI.

o Modify system call semantics so that extattr_get_{fd,file}() return
  a size_t.  When performing a read, the number of bytes read will
  be returned, unless the data pointer is NULL, in which case the
  number of bytes of data are returned.  This changes the API only.

o Modify the VOP_GETEXTATTR() vnode operation to accept a *size_t
  argument so as to return the size, if desirable.  If set to NULL,
  the size will not be returned.

o Update various filesystems (pseodofs, ufs) to DTRT.

These changes should make extended attributes more useful and more
portable.  More commits to rebuild the system call files, as well
as update userland utilities to follow.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-02-10 04:43:22 +00:00
imp
001b5dc57d o Use bus_generic_setup_intr instead of bus_setup_intr.
o Call bus_generic_setup_intr and check its return value.  Don't setup
  func until we successfully get the interrupt from our parent.
o Add comments about some maybe questionable stuff so I can check later
  to make sure that it really is that way.
2002-02-10 03:34:44 +00:00
imp
196ad9781b o Use INTR_TYPE_AV (the highest possible) rather than INTR_TYPE_BIO
o Don't allow INTR_TYPE_FAST.  Since we are sharing the interrupt between
  CSC and the functions, they can't be FAST because fast interrupts can't
  be shared.
o Add the same workaround for resume that we have in OLDCARD.
o Also, return the error from bus_generic_resume rather than ignoring it.
2002-02-10 03:28:37 +00:00
phk
00376cdc1c It's OK to be pedantic, but long long literals are OK. 2002-02-10 02:30:53 +00:00
phk
d2872f5d10 Remove di_inumber since LFS is long gone. 2002-02-10 00:55:49 +00:00
imp
d22d828b7d Boot verbosify printing the CIS, since we don't normally need to do that. 2002-02-09 21:34:06 +00:00
imp
79276058c8 Make unsupported memory range message bootverbose only 2002-02-09 21:32:02 +00:00
kato
86f2eb52e9 Recognize VIA C3 Samuel 2.
MFC after:	3 days
2002-02-09 05:18:01 +00:00
julian
11fa082235 Replace accidentally removed setrunqueue()
solves problem with machines failing to sync in booting.
Submitted by: Tor.Egge@cvsup.no.freebsd.org
2002-02-09 01:38:16 +00:00
jhb
340b988d0b Use the mtx_owner() macro in one spot in _mtx_lock_sleep() to make the
code easier to read.
2002-02-09 00:12:53 +00:00
tmm
e5ac0f9e2f Fix a bug introduced in r. 1.28: when copy{in,out} would fail for an
iovec that was not the last one in the uio, the error would be ignored
silently.

Bug found and fix proposed by:	jhb
2002-02-08 20:19:44 +00:00
jhb
7f0ca2b0b8 Apparently during the KSE M2 commit bzero() on the i386 was changed so that
it's first parameter was volatile.  Catch i486_bzero() and i586_bzero()'s
prototypes up to this to quiet warnings.
2002-02-08 19:16:47 +00:00
jhb
2b39165550 Don't grab the ICU lock while reading the current pending interrupts and
current masked interrupts from the AT PIC.

Requested by:	bde
2002-02-08 18:30:36 +00:00
jhb
1d8d40a194 Turn SMP back on by default in GENERIC on the Alpha. 2002-02-08 18:25:07 +00:00
jhb
62824956eb Turn interrupt thread preemption back on on the alpha.
Tested by:	mjacob
2002-02-08 18:23:46 +00:00
nyan
3ecf840b66 MFi386: revisions 1.493 and 1.494. 2002-02-08 11:14:16 +00:00
peter
0c6681c435 Fix broken Giant locking protocol introduced in rev 1.114. You cannot
unlock Giant if it is not locked in the first place.  This make the
nfstat(2) syscall (#278) a nice panic(2) implementation.
2002-02-08 09:16:57 +00:00
peter
3589cfc992 Bah, I managed to turn cosmetic things into real bugs. Fix shadowed
variable declarations. :-(  Definately not my day today.
2002-02-08 08:56:01 +00:00
imp
b53876f21f Remove bogus range restrictions that attempted to restrict the range
of I/O in 1.5.  It looks like I got it right only for some of the
cases.  Instead, allow ISA addresses as a special case.  Most PCI
bridges decode this range.  I need to investigate PCI bridges better
to know if this is always true or not, but for now assume that it is
since that seems to be the most common case.

# We need to allocate addresses better for the pccard stuff...

Submitted by: phk, mitsunaga-san
2002-02-08 07:31:02 +00:00
rwatson
d45677811a o Merge various recent fixes from the MAC branch relating to extattrctl():
- Fix null-pointer dereference introduced when snapshotting
	  was introduced.  This occured because unlike the previous code,
	  vn_start_write() doesn't always return a non-NULL mp, as
	  filesystems may not support the VOP_GETWRITEMOUNT() call.  For
	  now, rely on two pointers, so that vn_finished_write() works
	  properly.
	- Fix locking problems on exit, introduced at some past time,
	  some when snapshots came in, where a vnode might not be
	  unlocked before being vrele'd in various error situations.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-02-08 05:58:41 +00:00
peter
bfa45f9454 Fix world breakage (compiling libstdc++):
sys/time.h:137: integer constant out of range
sys/time.h:137: warning: decimal integer constant is so large that it is unsigned
sys/time.h:153: integer constant out of range
sys/time.h:153: warning: decimal integer constant is so large that it is unsigned
2002-02-08 03:55:37 +00:00
peter
4f71c6828b Fix a fatal trap when using ksched_setscheduler() (eg: mozilla, netscape
etc) which use:  td->td_last_kse->ke_flags |= KEF_NEEDRESCHED;
2002-02-08 02:56:10 +00:00
msmith
f67ec8651d Add a helper script used to take an Intel-supplied ACPI CA drop and make it
ready for importing.  This should save me from my own over-cleanliness.
2002-02-08 02:16:45 +00:00
julian
6145412058 remove superfluous blank line 2002-02-08 01:38:32 +00:00
peter
4289b50433 Fix a couple of style bugs introduced (or touched by) previous commit. 2002-02-07 23:06:26 +00:00
peter
59b80f6697 Fix a whole bunch of long lines introduced by previous commit by using
td = FIRST_THREAD_IN_PROC(p) once, after we have identified the process
that we are operating on.
2002-02-07 23:05:40 +00:00
peter
5830d22764 Fix a long line touched in previous commit (but not caused by previous
commit)
2002-02-07 23:03:41 +00:00
peter
71eb37ca9f Attempt to patch up some style bugs introduced in the previous commit 2002-02-07 22:40:34 +00:00
peter
7562301aac Attempt to unmangle some code touched in the previous commit. 2002-02-07 22:36:19 +00:00
peter
1470f0dc97 Fix a long line introduced in previous commit. 2002-02-07 22:29:41 +00:00
peter
5a17526c20 Fix long line added in previous commit. 2002-02-07 22:28:24 +00:00
peter
a2e9d206a5 Patch up some long lines introduced in previous commit. 2002-02-07 22:26:51 +00:00
peter
e32237fcfa Fix style bug introduced in previous commit. 2002-02-07 22:26:07 +00:00
mckusick
88b4f0b921 Occationally background fsck would cause a spurious ``freeing free
inode'' panic. This change corrects that problem by setting the
fs_active flag when the inode map changes to notify the snapshot
code that the cylinder group must be rescanned.

Submitted by:	Robert Watson <rwatson@FreeBSD.org>
2002-02-07 22:13:56 +00:00
mjacob
f5604f2085 Replace a few more lines of code orphaned by MFREE going away.
MFC after:	1 day
2002-02-07 22:08:32 +00:00
mjacob
c83077ee4a You cannot take the address of a variable with the 'register' qualifier.
MFC after:	1 day
2002-02-07 22:06:23 +00:00
phk
2117970ab7 Remove the inline assembly optimized versins of bintime_*() functions,
they have no measurable effect and they don't belong in an MI header
even if they did.
2002-02-07 21:57:28 +00:00
phk
a028cfa65d Revise timercounters to use binary fixed point format internally.
The binary format "bintime" is a 32.64 format, it will go to 64.64
when time_t does.

The bintime format is available to consumers of time in the kernel,
and is preferable where timeintervals needs to be accumulated.

This change simplifies much of the magic math inside the timecounters
and improves the frequency and time precision by a couple of bits.

I have not been able to measure a performance difference which was not
a tiny fraction of the standard deviation on the measurements.
2002-02-07 21:21:55 +00:00
julian
b5eb64d6f0 Pre-KSE/M3 commit.
this is a low-functionality change that changes the kernel to access the main
thread of a process via the linked list of threads rather than
assuming that it is embedded in the process. It IS still embeded there
but remove all teh code that assumes that in preparation for the next commit
which will actually move it out.

Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice,
2002-02-07 20:58:47 +00:00
phk
fb9c14949a GC the PC_SWITCH* symbols which are not used in assembly anymore. 2002-02-07 10:27:58 +00:00
mjacob
049aebbb73 Replace the MFREE that Marshal (Quick Draw) Dillon apparently didn't look for.
MFC after:	1 day
2002-02-07 08:39:26 +00:00
luigi
355959290f Use ETHER_CRC_LEN instead of SIS_CRC_SIZE
Suggested-by: Archie, Doug Ambrisko
2002-02-07 08:04:24 +00:00
luigi
7f7dd1e45a Fix a bug in the driver -- the chip will always include the CRC
in the received packet size, but the upper level routines want
the length without it.

Reported-by: Doug Ambrisko, ambrisko@freebsd.org
2002-02-07 07:47:00 +00:00
imp
4e8bb198e7 Remove DETACH_NOWARN 2002-02-07 06:43:29 +00:00
imp
2450090605 Get rid of the bogus DETACH_NOWARN and don't warn when asked to detach
a card that isn't there unless we're booting verbose.  It serves no
purpose.
2002-02-07 06:43:02 +00:00
mckusick
9d51e5cc24 Occationally deleted files would hang around for hours or days
without being reclaimed. This bug was introduced in revision 1.95
dealing with filenames placed in newly allocated directory blocks,
thus is not present in 4.X systems. The bug is triggered when a
new entry is made in a directory after the data block containing
the original new entry has been written, but before the inode
that references the data block has been written.

Submitted by:	Bill Fenner <fenner@research.att.com>
2002-02-07 00:54:32 +00:00
ambrisko
66ffb1f138 Fix support for 630ET support. We don't need the Linux part to set the
mii access mode.  Fix the device ID and make it read the mac via sis_read_mac.

Reviewed by: 	imp
MFC after:	1 week
2002-02-06 22:06:47 +00:00
julian
021d8e63a1 Make LINT compile after fruitless attempts to get the authors
to fix their code.

ata stuff:
Change name of ar_attach to not colide with existing ar_attach in if_ar.c.
usb stuff:
Create a dummy function to satisfy a call to it when in DEBUG mode.
2002-02-06 19:35:37 +00:00
jhb
156f4c8aea Fixes for alpha pmap on SMP machines:
- Create a private list of active pmaps rather than abusing the list of all
  processes when we need to look up pmaps.  The process list needs a sx lock
  and we can't be getting sx locks in the middle of cpu_switch()
  (pmap_activate() can call pmap_get_asn() from cpu_switch()).  Instead, we
  protect the list with a spinlock.  This also means the list is shorter
  since a pmap can be used by more than one process and we could (at least
  in thoery) dink with pmap's more than once, but now we only touch each
  pmap once when we have to update all of them.
- Wrap pmap_activate()'s code to get a new ASN in an explicit critical section
  so that when it is called while doing an exec() we can't get preempted.
- Replace splhigh() in pmap_growkernel() with a critical section to prevent
  preemption while we are adjusting the kernel page tables.
- Fixes abuse of PCPU_GET(), which doesn't return an L-value.
- Also adds some slight cleanups to the ASN handling by adding some macros
  instead of magic numbers in relation to the ASN and ASN generations.

Reviewed by:	dfr
2002-02-06 04:30:26 +00:00
scottl
2ccafe6771 Don't attach to Dell PERC2/QC cards that have a firmware rev of 1.x. This
check is complicated by the fact that the Adaptec 5400S cards claim to use
1.x firmware also.  PERC2/QC 1.x firmware is not compatible with this driver
and will cause a system hang.

MFC after:	3 days
2002-02-06 01:34:09 +00:00
dillon
9371a9a23b Allow the kern.maxusers boot tuneable to be set to 0 (previously only
the kernel config's maxusers could be set to 0 for autosizing to work).
Reviewed by:	rwatson, imp
MFC after:	3 days
2002-02-06 01:19:19 +00:00
benno
fbd5ea601d Correctly identify the Intel 82830 AGP bridge. 2002-02-05 23:13:25 +00:00
alfred
c6a128a4b9 Fix a race with free'ing vmspaces at process exit when vmspaces are
shared.

Also introduce vm_endcopy instead of using pointer tricks when
initializing new vmspaces.

The race occured because of how the reference was utilized:
  test vmspace reference,
  possibly block,
  decrement reference

When sharing a vmspace between multiple processes it was possible
for two processes exiting at the same time to test the reference
count, possibly block and neither one free because they wouldn't
see the other's update.

Submitted by: green
2002-02-05 21:23:05 +00:00
phk
d0f44978bc Let the number of timecounters follow hz, otherwise people with
HZ=BIGNUM will strain the assumptions behind timecounters to the
point where they break.

This may or may not help people seeing microuptime() backwards messages.

Make the global timecounter variable volatile, it makes no difference in
the code GCC generates, but it makes represents the intent correctly.

Thanks to:	jdp
MFC after:	2 weeks
2002-02-05 20:44:56 +00:00
archie
a4aa24479f The hardware checksum code makes the assumption that a packet routed out
a particular Ethernet interface will actually be delivered by (only) that
device driver. This is not necessarily true when ng_ether(4) is used.

To word around this, while a ng_ether(4)'s "upper" hook is connected,
turn off all hardware checksum, fragmentation, etc., features for that
interface.

PR:		kern/31586
MFC after:	1 week
2002-02-05 18:27:30 +00:00
tg
7d6571799b Add support for the Aztech 2320 chip.
Reviewed by:	cg
Obtained from:	NetBSD (partly)
2002-02-05 12:09:23 +00:00
tanimura
df91bf49f0 - Do not hang if the resource allocation fails.
- Add another quirk entry of SB AWE64.

PR:		kern/32530
Submitted by:	Magnus Backstrom <b@etek.chalmers.se>
2002-02-05 06:52:56 +00:00
dillon
b3ddc72561 Get rid of the twisted MFREE() macro entirely.
Reviewed by:	dg, bmilekic
MFC after:	3 days
2002-02-05 02:00:56 +00:00
mjacob
6d2dbc9944 + A variety of 23XX changes:
disable MWI on 2300

	based on function code, set an 'isp_port' for the 2312- it's a
	separate instance, but the NVRAM is shared, and the second port's
	NVRAM is at offset 256.

+ Enable RIO operation for LVD SCSI cards. This makes a *big* difference
as even under reasonable load we get batched completions of about 30
commands at a time on, say, an ISP1080.

+ Do 'continuation' mailbox commands- this allows us to specify a work
area within the softc and 'continue' repeated mailbox commands. This is
more or less on an ad hoc basis and is currently only used for firmware
loading (which f/w now loads substantially faster becuase the calling
thread is only woken when all the f/w words are loaded- not for each
one of the 40000 f/w words that gets loaded).

+ If we're about to return from isp_intr with a 'bogus interrupt' indication,
and we're not a 23XX card, check to see whether the semaphore register is
currently *2* (not *1* as it should be) and whether there's an async completion
sitting in outgoing mailbox0. This seems to capture cases of lost fast posting
and RIO interrupts that the 12160 && 1080 have been known to pump out under
extreme load (extreme, as in > 250 active commands).

+ FC_SCRATCH_ACQUIRE/FC_SCRATCH_RELEASE macros.

+ Endian correct swizzle/unswizzle of an ATIO2 that has a WWPN in it.

MFC after:	1 week
2002-02-04 21:04:25 +00:00
des
451f832b15 Move the pseudofs, procfs and linprocfs modules out from the fs directory.
Keeping them there seemed like a good idea at the time, but it annoys bde
and confuses people who do not understand how MODULES_OVERRIDE works.
2002-02-04 20:16:50 +00:00
sos
f0704f5ca1 Major update of the ATA RAID code, part 1:
Overhaul of the attach/detach code and structures, there were some nasty
bugs in the old implementation. This made it possible to collapse the
ATA/ATAPI device control structures into one generic structure.

A note here, the kernel is NOT ready for detach of active devices,
it fails all over in random places, but for inactive devices it works.
However for ATA RAID this works, since the RAID abstration layer
insulates the buggy^H^H^H^H^H^Hfragile device subsystem from the
physical disks.

Proberly detect the RAID's from the BIOS, and mark critical RAID1
arrays as such, but continue if there is enough of the mirror left
to do so.

Properly fail arrays on a live system. For RAID0 that means return EIO,
and for RAID1 it means continue on the still working part of the mirror
if possible, else return EIO.
If the state changes, log this to the console.

Allow for Promise & Highpoint controllers/arrays to coexist on the
same machine. It is not possible to distribute arrays over different
makes of controllers though.

If Promise SuperSwap enclosures are used, signal disk state on the
status LED on the front.

Misc fixes that I had lying around for various minor bugs.

Sponsored by: Advanis Inc.
2002-02-04 19:23:40 +00:00
rwatson
609fda3cf4 Change EPERM to EOPNOTSUPP when failing pseudofs_setattr() arbitrarily.
Quoth the alfred:	The latter would be better.
2002-02-04 18:21:59 +00:00
rwatson
534670bd35 Return EPERM instead of 0 in the un-implemented pseudofs_setattr().
Conceivably, it should even return EOPNOTSUPP.
2002-02-04 18:09:29 +00:00
rwatson
10b6b09b25 o Scatter vn_start_write() and vn_finished_write() through ACL code so
that it interacts properly with snapshotting.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-02-04 17:58:15 +00:00
ume
4c31b56dc6 Corrected an argument to in6_pcbnotify().
Obtained from:	KAME
MFC after:	1 week
2002-02-04 17:40:36 +00:00
ume
0c5d24bcd2 In tcp_respond(), correctly reset returned IPv6 header. This is essential
when the original packet contains an IPv6 extension header.

Obtained from:	KAME
MFC after:	1 week
2002-02-04 17:37:06 +00:00
markm
89653f9b8d Back out the "upgrading" of NBBY to unsigned, as it exposes
bugs elsewhere, and also is well understood as a signed quantity.
2002-02-04 16:42:44 +00:00
rwatson
ca6a9763cb Note that Kirk apparently missed adding vn_start_write() and friends
to kern_acl.c when he added snapshotting.  This will need to be added
at some point.
2002-02-04 16:41:59 +00:00
imp
a6ee5d93d9 Default debugging to OFF now. 2002-02-04 15:55:21 +00:00
nyan
0c578852ad Supported C-NET(98)P2 PnP mode.
Submitted by:	"Hirokazu WATANABE" <gwna@geocities.co.jp>
MFC after:	3 days
2002-02-04 14:01:27 +00:00
silby
ce2c570ba3 Remove mbuf exhaustion warning messages; these are handled by the
mbuf system in a rate-limited fashion now.

Reviewed by:	luigi
MFC after:	1 week
2002-02-04 03:15:27 +00:00
joe
54aef36217 Follow NetBSD and ANSIfy the function definitions.
Remove trailing whitespaces (submitted to NetBSD).
2002-02-03 17:03:34 +00:00
markm
8110fb90cc WARNS=n and lint(1) silencer. Declare an array of (const) strings
as const char.
2002-02-03 11:57:32 +00:00
markm
08c0b74dd5 Zero functional difference; make some integer constants unsigned, as
they are used in unsigned context. This shuts lint(1) up in a few
significant ways with "signed/unsigned" arithmetic warnings.
2002-02-03 11:36:59 +00:00
markm
f1276b12a4 Make the style a little bit more consistant by removing parameter
names from some prototypes. (Other prototypes here already have
these removed).
2002-02-03 11:21:22 +00:00
bde
02ad3c7aca Use osigreturn(2) instead of sigreturn(2) plus broken magic for returning
from old signal handlers.  This is simpler and faster, and fixes (new)
sigreturn(2) when %eip in the new signal context happens to match the
magic value (0x1d516).  0x1d516 is below the default ELF text section,
so this probably never broken anything in practice.

locore.s:
In addition, don't build the signal trampoline for old signal handlers
when it is not used.

alpha:
Not fixed, but seems to be even less broken in practice due to more
advanced magic. A false match occurs for register #32 in mc_regs[].
Since there is no hardware register #32, a false match is only possible
for direct calls to sigreturn(2) that happen to have the magic number
in the spare mc_regs[32] field.
2002-02-03 09:13:58 +00:00
bde
10b0acc834 Improve the change in the previous commit: use a stub for osigreturn()
when it is not really used instead of unconditionalizing all of it.
2002-02-03 04:09:02 +00:00
joe
88092e8baf Regenerate. 2002-02-02 21:12:22 +00:00
joe
28d12c0e24 Update comments and product identifiers so that they're the same
as NetBSD's definitions.
2002-02-02 21:09:54 +00:00
joe
ae35ba9266 Add some missing usb vendors (from NetBSD). 2002-02-02 21:02:13 +00:00
joe
804990e585 Sync with NetBSD's version, dropping all the 'ltd', 'corp', etc.
It's more important to keep this file easily syncable across the
BSDs, and NetBSD have stated a preference for not adding them to
theirs.
2002-02-02 20:59:43 +00:00
rwatson
36a131477e o Add the prototype of cr_cansignal() from an earlier change to
kern_prot.c.  This has apparently been sitting in my local tree for
  ages, and has been generating a warning during the building of
  kern_prot.o.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2002-02-02 03:39:44 +00:00
bde
f9130c8f94 Merged cy_pcireg.h into the one file that uses it (cy_pci.c). 2002-02-02 02:22:51 +00:00
bde
f95902db10 Fixed breakage of interrupt setup in previous commit. It used an
uninitialized variable in the !CY_PCI_FASTINTR case (*blush*).
2002-02-02 02:05:44 +00:00
mckusick
ca79facdf4 In the routines vrele() and vput(), we must lock the vnode and
call VOP_INACTIVE before placing the vnode back on the free list.
Otherwise there is a race condition on SMP machines between
getnewvnode() locking the vnode to reclaim it and vrele()
locking the vnode to inactivate it. This window of vulnerability
becomes exaggerated in the presence of filesystems that have
been suspended as the inactive routine may need to temporarily
release the lock on the vnode to avoid deadlock with the syncer
process.
2002-02-02 01:49:18 +00:00
mckusick
c142ab455c When taking a snapshot, we must check for active files that have
been unlinked (e.g., with a zero link count). We have to expunge
all trace of these files from the snapshot so that they are neither
reclaimed prematurely by fsck nor saved unnecessarily by dump.
2002-02-02 01:42:44 +00:00
alfred
b616625325 Remove bogus assertion in dup2 that can lead to panics when kernel
threads race for a file slot.

dup2(2) incorrectly assumes that if it needs to grow the ofiles
array that it will get what it wants.  This assertion was valid
before we allowed shared filedescriptor tables but is now incorrect.

The assertion can trigger superfolous panics if the thread doing a
dup2 looses a race with another thread while possibly blocked in
the MALLOC call in fdalloc.  Another thread may grab the slot we
are requesting which makes fdalloc return something other than what
we asked for, this will triggering the bogus assertion.

MFC after: 2 weeks
Reviewed by: phk
2002-02-01 19:25:36 +00:00
alfred
74f44e9118 Avoid lock order reversal filedesc/Giant when calling FREE() in fdalloc
by unlocking the filedesc before calling FREE().

Submitted by: bde
2002-02-01 19:19:54 +00:00
alfred
bfbf894c82 Don't recurse on filedesc lock in chroot_refuse_vdir_fds().
Noticed by: Michael Nottebrock <michaelnottebrock@gmx.net>
2002-02-01 18:27:16 +00:00
bde
b50e6bc8e5 Regenerate to make osigreturn standard. 2002-02-01 17:41:45 +00:00
bde
c1d433597e Made osigreturn(2) standard so that SYS_osigreturn can be used in the
signal trampoline for old signals.  The arches that support old signals
currently abuse sigreturn(2) instead.  This mainly complicates things
and slightly breaks the the new sigreturn(2).

COMPAT is too limited to support the correct configuration of osigreturn,
and this commit doesn't attempt to fix it; it just moves the bogusness:
osigreturn() must now be provided unconditionally even on arches that
don't really need it; previously it had to be provided under the bogus
condition defined(COMPAT_43).
2002-02-01 17:27:14 +00:00
bde
199578d7e8 Compile osigreturn() unconditionally since it will always be needed on
some arches and the syscall table is machine-independent.  It was
(bogusly) conditional on COMPAT_43, so this usually makes no difference.

ia64: in addition:
- replace the bogus cloned comment before osigreturn() by a correct one.
  osigreturn() is just a stub fo ia64's.
- fix the formatting of cloned comment before sigreturn().
- fix the return code.  use nosys() instead of returning ENOSYS to get
  the same semantics as if the syscall is not in the syscall table.
  Generating SIGSYS is actually correct here.
- fix style bugs.

powerpc: copy the cleaned up ia64 stub.  This mainly fixes a bogus comment.

sparc64: copy the cleaned up the ia64 stub, since there was no stub before.
2002-02-01 15:44:03 +00:00
nyan
71445fd2e0 Expand COMBRD(x) macro. 2002-02-01 14:48:44 +00:00
archie
efc80756a1 Some netgraph parse types (such as for the 'value' field in ng_ksocket's
'struct ng_ksocket_sockopt') like to peek into the ng_mesg header for
information. Make sure when generating default values that we provide
a valid header to peek into.

MFC after:	1 week
2002-02-01 02:21:41 +00:00
obrien
b45ff0fb56 * Remove __P and convert to ANSI prototypes.
* Remove 'register'.  (some functions had 7+ register functions...)
* Fix SCM ID's.
2002-02-01 01:32:19 +00:00
dillon
8abd6168f2 GC P_BUFEXHAUST leftovers, we've had a new mechanism to avoid buffer
cache lockups for over a year now.

MFC after:		0 days
2002-01-31 18:39:44 +00:00
alfred
bbb9179cca identify GLPRISM2 PCI WaveLAN/IEEE 802.11
Submitted by: Toni Andjelkovic <toni@soth.at>
2002-01-31 16:55:13 +00:00
bde
f4e7e770db Finish revs.1.23 and 1.24 so that MCOUNT_ENTER really actually compiles
for SMP in the plain profiling case.  It seems to work too.

This error was not detected by LINT because LINT only compiles the
GUPROF profiling case, which is is a superset of the plain profiling
case for !SMP but which is so broken for SMP that the buggy code is
not compiled.
2002-01-31 13:49:55 +00:00
sobomax
17c3ef73cc Add support of PhotoClip USB Camera (http://www.myphotoclip.com):
- Vendor&Device IDs for USB product,
- quirk for SCSI CAM.

PR:		34481
Submitted by:	Olexander Kunytsa <kunia@x-telecom.net>
MFC in:		3 days
2002-01-31 11:39:17 +00:00
takawata
073fdd55ec Fix irq/drq handling. IRQ and DRQ resource information can be get
in one object for one resource. Array of values in a object means
possible values for the object.
2002-01-31 09:18:27 +00:00
nyan
a5768e878f MFi386: revision 1.489. 2002-01-31 08:35:38 +00:00
nyan
b09c2d2590 Changed iskanji[12] to inline functions. 2002-01-31 08:29:46 +00:00
nyan
1c5563e778 Merged from sys/dev/sio/{sio.c,sio_isa.c} revisions 1.363 and 1.5,
respectively.
2002-01-31 08:26:45 +00:00
nyan
108d6ed03f Add pc98 support. 2002-01-31 08:24:36 +00:00
nyan
82fdfbe8fa Remove obsolete COMBRD* definitions. 2002-01-31 08:23:30 +00:00
nyan
95cff18f04 MFi386: revision 1.180 2002-01-31 04:28:52 +00:00
nyan
9e96f2c127 MFi386: revision 1.52 2002-01-31 04:22:20 +00:00
takawata
b0b42236aa Fix error handling.
PR:30665
Submitted by:TOMITA Yoshinori <yoshint@flab.fujitsu.co.jp>
2002-01-31 01:23:22 +00:00
julian
6019ad8c57 Allow this to compile again
not tested under LINT by: msmith
2002-01-30 23:38:31 +00:00
alfred
e4eec6ad45 include sys/lock.h and sys/mutex.h to make compile.
Noticed by: Vincent Poy <vince@oahu.WURLDLINK.NET>
2002-01-30 23:28:25 +00:00
rwatson
4eceacaab6 o Reserve two interface ioctl values, 38, and 38, for SIOCGIFMAC and
SIOCSIFMAC, which are for the Mandatory Access Control
  implementation.  This will prevent collisions on the p4 development
  branch.

Obtained from:	TrustedBSD Project
2002-01-30 21:37:32 +00:00
alfred
9cecd5ae7f fget_locked fixes.
sort declaration.
  give paramters names.
  remove bogus check for negative fd (u_int) cast does this for us.

Pointed out by: bde
2002-01-30 19:53:57 +00:00
alfred
b6dbc86ae0 Remove unused variables in select(2) from previous delta.
Pointed out by: bde
2002-01-30 19:48:25 +00:00
bde
0d8bb06961 Backed out the main part of revs.1.14-16. Don't disable interrupts in
the packet transfer routines, since rev.1.468 of machdep.c does this
better.  I'm surprised that disabling interrupts helped much.  Disabling
them in the packet receive routine is too late.

Fixed some minor style bugs in rev.1.14.
2002-01-30 18:51:24 +00:00
bde
83b7c4d30a Backed out the last vestiges of rev.1.51. Don't enter a critical
region in Debugger(), since rev.1.468 of machdep.c does this better.
Other cosmetic backouts.
2002-01-30 18:23:31 +00:00
bde
5909c8df4d Cleaned up the 0ldSiG magic check before removing it. Just use fuword()
to fetch the magic word instead of useracc() plus a direct access.
This is more efficient as well as simpler and less incorrect:
- it was inefficent because useracc() takes much longer than just
  accessing the data using a correct access method, at least on i386's.
- it was incorrect because direct access is incorrect unless the address
  has been mapped.  This and nearby direct accesses are mostly handled
  better for other arches because they have to be (direct accesses don't
  work).
- using magic in sigreturn is still fundamentally broken because false
  matches are possible.  On i386's, a false match occurs when %eip in a
  new signal context happens to equal the magic value.  This is not
  handled better for other arches.
2002-01-30 17:47:12 +00:00
jhay
2aa4b18cd1 Add support for different serial clock frequencies and not just the
standard one of 1.8432MHz. This will be used by the puc (PCI
"universal" communication card) device driver.

Reviewed by:	bde
2002-01-30 17:22:04 +00:00
bde
192e988fe5 Regenerate just this file after unbreaking makesyscalls.sh. The previous
commit broke the world in libc.
2002-01-30 15:14:24 +00:00
bde
e40a861815 Oops, fix previous commit to not generate a C comment in syscall.mk. 2002-01-30 15:12:12 +00:00
bde
4778d0143f Removed the one use of the mandatory keyword (for npx).
npx is no more mandatory than sc.  Its mandatoryness went away in
rev.1.226 of i386/machdep.c 9 months before it was made mandatory in
rev.1.24 of config/mkmakefile.c.

This change is mainly to test building of minimal kernel configurations.
npx should really be even more standard than clk.  It was optional mainly
so that the usual device driver configuration info could be specified in
the usual way in config files, but this hasn't been necessary for a few
years.
2002-01-30 14:35:58 +00:00
bde
3371114993 Don't include <isa/isavar.h> or compile code depending on it when isa
is not configured.  Including <isa/isavar.h> when it is not used is
harmful as well as bogus, since it includes "isa_if.h" which is not
generated when isa is not configured.

This was fixed in 1999 but was broken by unconditionalizing PNPBIOS.
2002-01-30 12:41:12 +00:00
bde
5884b414e0 Removed unused includes. In particular, don't include <isa/isavar.h> since
its only effect is to break the optionality of the isa option.

Sorted includes.
2002-01-30 12:23:49 +00:00
bde
7e5d2672ea Regenerate _after_ the commit to syscalls.master. 2002-01-30 10:29:12 +00:00
bde
a348e6b305 Escape $FreeBSD$ in a different way to avoid using the bogus escapes \$
and \F.  Awk just started warning about these.
2002-01-30 10:22:05 +00:00
alfred
b0fc10702a Attempt to fixup select(2) and poll(2), this should fix some races with
other threads as well as speed up the interfaces.

To fix the race and accomplish the speedup, remove selholddrop and
pollholddrop.  The entire concept is somewhat bogus because holding
the individual struct file pointers offers us no guarantees that
another thread context won't close it on us thereby removing our
access to our own reference.

Selholddrop and pollholddrop also would do multiple locks and unlocks
of mutexes _per-file_ in the fd arrays to be scanned, this needed to
be sped up.

Instead of using selholddrop and pollholddrop, simply hold the
filedesc lock over the selscan and pollscan functions.  This should
protect us against close(2)'s on the files as reduce the multiple
lock/unlock pairs per fd into a single lock over the filedesc.
2002-01-29 22:54:19 +00:00
alfred
b969e5c198 Backout 1.120, EINVAL isn't a proper error return when the passed fd is
negative, the 'pointer' referred to by the manpage is actually the
struct file's f_offset field.

Pointed out by: bde
2002-01-29 17:12:10 +00:00
imp
2eb20551ff Move cardaddr to memory structure.
Forgotten by: imp
Reminded by: Dave Cornejo
2002-01-29 16:57:50 +00:00
imp
1c4600ced3 Add EDIMAX ethernet card for NEWCARD from NetBSD 2002-01-29 07:08:56 +00:00
imp
f57bf33ba0 Module for exca. Eventually, this will be shared between pcic and pccbb. 2002-01-29 06:53:32 +00:00
imp
5b52e9b1b7 pccbb needs exca now. 2002-01-29 06:51:09 +00:00
imp
0720d316de Migrate towards using the new exca module for 16bit stuff. This is a
WIP, but works for me.

Also do some minor code factoring and code cleanup while I'm here.
2002-01-29 06:50:18 +00:00
imp
18c19163fe First draft of common code between pccbb and pcic drivers for talking
to ExCA register sets.  These registers exist in both ISA and PCI
devices in a couple different ways, and this will provide a common
base for future building.  This code is a rehash of the pccbb 16-bit
code, which was a rehash of the pcic code, which was a rehash of the
netbsd i82365 code.  More hashing to come.
2002-01-29 06:48:38 +00:00
imp
063c279d9a Minor sorting orders 2002-01-29 06:15:07 +00:00
imp
a8d6fd7393 Sync to 1.27 of pccarddevs 2002-01-29 06:10:15 +00:00
imp
3f314d0de0 MFNetBSD:
1.159: sorting (not relevant to us, since I'd done thie before)
	1.158: joda; Ericsson PRISM2 WIRELEASS LAN CARD.
	1.157: aymeric Edimax Technology ethernet card
2002-01-29 06:09:39 +00:00
marcel
5a61ac7f11 Have SIOCGIFCONF return all (if any) AF_INET addresses for the
interfaces we encounter. In Linux, all addresses are returned for
which gifconf handlers are installed. This boils down to AF_DECnet
and AF_INET. We care mostly about AF_INET for now. Adding additional
families is simple enough.

Returning the addresses is important for RPC clients to function
properly. Andrew found in some reference code that the logic that
handles the retransmission looks for an interface that's up and has
an AF_INET address. This obviously failed as we didn't return any
addresses at all.

Note also that with this change we don't return interfaces that don't
have AF_INET addresses, whereas before we returned any interface
present in the system. This is in line with what Linux does (modulo
interfaces with only AF_DECnet addresses of course :-)

Reported by: "Andrew Atrens" <atrens@nortelnetworks.com>
MFC after: 1 week
2002-01-29 06:00:11 +00:00
grog
eee67dc655 Grr. The last commit contained update conflicts. It just goes to
show that you should check the code even for a forced commit.

Spotted by:	dd
2002-01-29 02:49:15 +00:00
grog
9e2d32bb6b Forced commit. The previous commit log was garbled and didn't even
apply to this file.  The correct message is:

throw_rude_remark: Make sure we're holding the config lock before
                   proceeding.  There's no reason to assume that this
                   has ever happened, but the alternative might be a
                   double fault.
2002-01-29 02:14:51 +00:00
alfred
6610d15f16 Bump __FreeBSD_version for sendfile fix to properly send 'nbytes' of
file when headers are supplied (version 1.104 of src/sys/kern/uipc_syscalls.c)
2002-01-29 01:52:30 +00:00
gallatin
cffbd57403 Simple fixes to get the powerpc kernel compiling again.
Reviewed by:	mp
2002-01-28 14:07:36 +00:00
sos
6c8ad084e0 Add support for the Promise TX4.
Rearrange the support for the VIA chips, and add experimental
support for ATA133 on the newest chips.
2002-01-28 13:17:10 +00:00
sos
e6cd71c92f Enable pccard support. 2002-01-28 13:13:14 +00:00