45438 Commits

Author SHA1 Message Date
rwatson
48d4fe5ea4 Remove unneeded label 'done2' from socket(). We now grab Giant
only around socreate(), and don't need it for file descriptor
accesses.

Submitted by:	sam
2004-03-04 01:57:48 +00:00
wpaul
3ca539236d Add sanity checks to the ndis_packet and ndis_buffer pool handling
routines to guard against problems caused by (possibly) buggy drivers.

The RealTek 8180 wireless driver calls NdisFreeBuffer() to release
some of its buffers _after_ it's already called NdisFreeBufferPool()
to destroy the pool to which the buffers belong. In our implementation,
this error causes NdisFreeBuffer() to touch stale heap memory.

If you are running a release kernel, and hence have INVARIANTS et al
turned off, it turns out nothing happens. But if you're using a
development kernel config with INVARIANTS on, the malloc()/free()
sanity checks will scribble over the pool memory with 0xdeadc0de
once it's released so that any attempts to touch it will cause a
trap, and indeed this is what happens. It happens that I run 5.2-RELEASE
on my laptop, so when I tested the rtl8180.sys driver, it worked fine
for me, but people trying to run it with development systems checked
out or cvsupped from -current would get a page fault on driver load.

I can't find any reason why the NDISulator would cause the RealTek
driver to do the NdisFreeBufferPool() prematurely, and the same driver
obviously works with Windows -- or at least, it doesn't cause a crash:
the Microsoft documentation for NdisFreeBufferPool() says that failing
to return all buffers to the pool before calling  NdisFreeBufferPool()
causes a memory leak.

I've written to my contacts at RealTek asking them to check if this
is indeed a bug in their driver. In the meantime, these new sanity checks
will catch this problem and issue a warning rather than causing a trap.
The trick is to keep a count of outstanding buffers for each buffer pool,
and if the driver tries to call NdisFreeBufferPool() while there are still
buffers outstanding, we mark the pool for deletion and then defer
destroying it until after the last buffer has been reclaimed.
2004-03-04 00:17:14 +00:00
des
e6b61c95ad Use different dummy wait channels to avoid panic in msleep().
Reviewed by:	jhb
2004-03-03 23:03:18 +00:00
pjd
a9cc917261 - Remove d_valid field, we can use d_consumer field to check if disk
is valid.
- Use SYSCTL_DECL() instead of using own, ugly extern.
2004-03-03 22:29:24 +00:00
njl
902e092d18 Change to acpi_{Get,Set}Integer to provide both methods. Convert all
callers to the new API.

Submitted by:	Mark Santcroos <marks@ripe.net>
2004-03-03 18:34:42 +00:00
wpaul
753cd4eacb Add proper support for DbgPrint(): only print messages if bootverbose
is set, since some drivers with debug info can be very chatty.

Also implement DbgBreakPoint(), which is the Windows equivalent of
Debugger(). Unfortunately, this forces subr_ntoskrnl.c to include
opt_ddb.h.
2004-03-03 17:57:05 +00:00
ume
b71d361468 - stlye and comments
- variable name change (scopeid -> zoneid)
- u_short -> u_int16_t, u_char -> u_int8_t

Obtained from:	KAME
2004-03-03 14:33:16 +00:00
rik
143f04af71 Add ctau (Cronyx/Tau-ISA) device driver entry.
Approved by:	imp (mentor)
2004-03-03 12:43:59 +00:00
obrien
40039119c0 Add rules for font.h atkbdmap.h ukbdmap.h so more of LINT can be built. 2004-03-03 09:37:44 +00:00
obrien
73e6d31cab Add missing working options from i386 file. 2004-03-03 09:35:47 +00:00
obrien
7002713513 Lower i386's INLINE_LIMIT to AMD64's level. 2004-03-03 09:35:06 +00:00
obrien
2eec82be4c mga_state & r128_state need an inline-limit larger than amd64's default
in order to compile.  AMD64's default could be reduced below 8k, if
dev/aic7xxx/aic79xx.c got this same treatment.
2004-03-03 09:33:03 +00:00
obrien
9454beccf2 Sync with i386/NOTES rev. 1.1131. 2004-03-03 09:26:40 +00:00
obrien
46cde00b03 Peter prefers it this way, bde might also[*]. I just want to have a chance
of working on amd64 for vmware use.
[*] bde will probably not like either version...
2004-03-03 08:33:34 +00:00
obrien
b64f46d773 Prefer uintptr_t to intptr_t. 2004-03-03 08:27:33 +00:00
obrien
f213ad5896 Use a long as the opaque type so that it matches the size of a pointer
on both 32-bit and 64-bit platforms.
2004-03-03 08:24:31 +00:00
scottl
be64b495ab Change __FUNCTION__ to __func__
Submitted by:	Stefan Farfeleder
2004-03-03 07:43:34 +00:00
scottl
3b5a054a71 Finish the removal of the 'nv' device reference. 2004-03-03 07:16:42 +00:00
obrien
92ce7ab461 Opps, nv(4) isn't committed yet. Comment out. 2004-03-03 07:09:40 +00:00
obrien
c47306ec77 AMD64 versions. 2004-03-03 07:00:48 +00:00
obrien
dc67216992 Adjust lnc(4) for 64-bit platforms should it get newbus'ified. 2004-03-03 06:54:26 +00:00
obrien
1c15117450 Adjust ed(4) for 64-bit platforms should it get newbus'ified. 2004-03-03 06:48:42 +00:00
obrien
900a25b95b Use a long as the opaque type so that it matches the size of a pointer
on both 32-bit and 64-bit platforms.
2004-03-03 06:20:36 +00:00
obrien
3cba815b88 Add memory barrier routines for AMD64. 2004-03-03 06:19:03 +00:00
obrien
7aec91557a Cast thru intptr_t on the way to void* for success on 64-bit platforms. 2004-03-03 06:18:29 +00:00
njl
d1a09954e4 Finish fixing style problems in my previous commit.
Pointed out by: 	bde
2004-03-03 05:51:48 +00:00
njl
670ef1b2eb This commit was generated by cvs2svn to compensate for changes in r126520,
which included commits to RCS files with non-trunk default branches.
2004-03-03 05:47:09 +00:00
bde
797d786f93 In the descrption of network interfaces:
- use consistent formatting (no tabs)
- improved wording for cx and oltr.
2004-03-03 05:26:03 +00:00
njl
3baf2d6bee Add support for quirks for acpi tables. Key off OEM vendor and revision.
Sort acpi debug values.  Change "disable" to "disabled" to match rest of
the kernel.  Remove debugging from acpi_toshiba since it was only used for
probe/attach.
2004-03-03 03:02:17 +00:00
mlaier
206b5dcf52 Add some missing DUMMYNET_UNLOCK() in config_pipe().
Noticed by:	Simon Coggins
Approved by:	bms(mentor)
2004-03-03 01:33:22 +00:00
mlaier
d3ede346f9 Move PFIL_HOOKS and ipfw past the scope checks to allow easy redirection to
linklocal.

Obtained from:	OpenBSD
Reviewed by:	ume
Approved by:	bms(mentor)
2004-03-02 20:29:55 +00:00
phk
4c53114daa Make swapbacked md(4) devices respect the -x and -y emulation arguments. 2004-03-02 20:13:23 +00:00
obrien
26048a44af Whitespace fixes. 2004-03-02 19:15:13 +00:00
peter
28abf2fd58 Add new Matrix Orbital LCD panel id's so that they are recognized and
attached via uftdi->ucom.
2004-03-02 19:03:26 +00:00
peter
7fe91e1dcd Regen 2004-03-02 19:01:56 +00:00
peter
80ed420253 Add some device id's for Matrix Orbital's newer LCD panels. These use
another ftdi usb->serial bridge with different ID's.
2004-03-02 19:01:30 +00:00
rik
06782af765 1. Add modules makefile for Cronyx Tau/ISA driver (ctau).
Approved by: imp (mentor)
2004-03-02 16:51:34 +00:00
rik
4615512fd6 1. Connect Cronyx Tau/ISA driver (ctau) to kernel.
Approved by: imp (mentor)
2004-03-02 16:48:19 +00:00
rik
e6b8b40794 1. Fix compilation and panic while system boot problem after makedev was
changed to unde2dev.

Approved by: imp (mentor)
2004-03-02 16:44:07 +00:00
rik
fe4ee75f22 1. Renames NCT constant to NCTAU. This will help while MFC to 4 branch.
2. Fix compilation and panic while system boot problem after makedev
was changed to unde2dev.

Approved by: imp (mentor)
2004-03-02 16:39:40 +00:00
sos
6b843cff78 If being verbose in the autosense code, print the original error. 2004-03-02 16:16:54 +00:00
ume
8ab60c5643 scope awareness of ff01:: is not merged, yet. So, clear
embeded form of scopeid for ff01:: for now.

Pointed out by:	mlaier
2004-03-02 16:01:27 +00:00
jhb
286e504b8f Always assert that the passed in lock is the same as the saved lock in the
sleep queue now that the one abnormal case has been fixed.
2004-03-02 15:02:08 +00:00
jhb
93c4123deb Correct handling of PDROP in msleep() to just skip the mtx_lock() rather
than clear the lock pointer so that sleepq_add() still gets the correct
lock pointer and doesn't bogusly trip an assertion.
2004-03-02 14:58:33 +00:00
mlaier
a32329ae33 Two minor follow-ups on the MT_TAG removal:
ifp is now passed explicitly to ether_demux; no need to look it up again.
Make mtag a global var in ip_input.

Noticed by:	rwatson
Approved by:	bms(mentor)
2004-03-02 14:37:23 +00:00
sos
3090a1eb47 Report the original command on failures that causes auto sense.
Keep the ATA_R_QUIET flag if set during autosense.
2004-03-02 14:05:12 +00:00
sos
20140d6615 Fix getting progress data for some device in yet another way.
Take advantage of the new autosense logic.
2004-03-02 14:03:43 +00:00
alc
163a9eabd1 Modify contigmalloc1() so that the free page queues lock is not held when
vm_page_free() is called.  The problem with holding this lock is that it is
a spin lock and vm_page_free() may attempt the acquisition of a different
default-type lock.
2004-03-02 08:25:58 +00:00
grehan
1ae35df349 Increase kernel VA from 256Mb to 512Mb by shifting the segment used
for user copyinout down to 12, and keeping segments 13/14 for
kernel VA.

It would be nice to have more available, but segments lower than
this are reserved for either memory or 1:1 mapped device i/o,
and seg 15 is OpenFirmware ROM. Also, the effort to keep OpenFirmware
available for callbacks limits the use of VA-mapped segments.
Fortunately UMA_MD_SMALL_ALLOC takes away a lot of VM pressure.

Obtained from:  NetBSD
2004-03-02 06:49:21 +00:00
grehan
256bcf5eae Kernel changes for libthr (and probably libpthread).
include/ucontext.h
 - remove trapframe and switch over to 'generic' description of machine
   state. Include version field to help with future modifications.
   Include floating point and altivec state, and hopefully align
   correctly

powerpc/copyinout.c
 - fill out casuptr() sync primitive, required by kern_umtx.c

powerpc/machdep.c
 - shifted proc0/thread0/pcpu setup to before cninit, since
   syscons -> make_dev -> devlock requires a valid curthread
 - implemented get_mcontext/set_mcontext
 - recast sendsig/sigreturn to use get/set_mcontext and new
   ucontext struct. floating point now saved
 - TODO: save/restore altivec state

powerpc/vm_machdep.c
 - implemented cpu_thread_setup/cpu_set_upcall/cpu_set_upcall_kse
 - eliminated trailing whitespace

Submitted by:  Suleiman Souhlal <refugee@segfaulted.com>, ucontext by grehan
2004-03-02 06:13:09 +00:00