119319 Commits

Author SHA1 Message Date
glebius
dfc409a7f8 Revamp interrupt handling in em(4) driver:
o Do not mask the RX overrun interrupt.

o Rewrite em_intr():
  - Axe EM_MAX_INTR.
  - Cycle acknowledging interrupts and processing
    packets until zero interrupt cause register is
    read.
  - If RX overrun comes in log this fact. [ NetBSD also
    resets adapter in this case, but my tests showed that
    this is not needed and only pessimizes behavior under
    heavy load. ]
  - Since almost all functions is rewritten, style the
    remaining lines.

This fixes em(4) interfaces wedging under high load.

In collaboration with:	wpaul, cognet
Obtained from:		NetBSD
2005-10-20 08:46:43 +00:00
stefanf
2cd8b1e9bf Add el_get to the NAME section.
Obtained from:	OpenBSD (via NetBSD)
2005-10-20 08:26:03 +00:00
peter
e62b997c41 Fix a well duplicated fencepost error that stopped crashdumps being
readable on certain random memory configurations.  If the libkvm consumer
tried to read something that was in the very last pdpe, pde or pte slot,
it would bogusly fail.

This is broken in RELENG_6 too.
2005-10-20 05:41:38 +00:00
njl
cd579e831a Set the signal handlers before creating the thread. This is so it inherits
the parent's signal mask.  Once daemon() forked, signals would be ignored
in the child thread.  While I'm here, check the return value of daemon().
This fixes termination in the daemon case (bug introduced in last commit).

Noticed by:	Frederik Lindberg
2005-10-20 05:12:20 +00:00
jkim
af52aff9fb wpa_supplicant(8) requires -D option for ndis(4) now. 2005-10-19 22:26:47 +00:00
brooks
046511ce88 Make devd WARNS=4 clean and bump WARNS accordingly. This will insure
that future variable shadowing bugs don't compile.

Reviewed by:	imp
Compiled on:	alpha i386 sparc64
2005-10-19 21:21:22 +00:00
jdp
a3d0544135 Fix a bug in the kernel module runtime linker that made it impossible
to unload the usb.ko module after boot if it was originally preloaded
from "/boot/loader.conf".  When processing preloaded modules, the
linker erroneously added self-dependencies the each module's reference
count.  That prevented usb.ko's reference count from ever going to 0,
so it could not be unloaded.

Sponsored by Isilon Systems.

Reviewed by:	pjd, peter
MFC after:	1 week
2005-10-19 20:40:30 +00:00
imp
32a93330de As pointed out on current@, we don't want to declare a variable in a scope
that just uses the variable and throws it away.

This should fix the subsystem keyword wrt media-type.

MFC After: 2 days
2005-10-19 18:10:34 +00:00
suz
69d53f9967 sync with KAME (nuked unused code, use NULL to denote a NULL pointer)
Obtained from: KAME
Reviewed by: ume, gnn
2005-10-19 17:18:49 +00:00
suz
412574c368 sync with KAME (removed a unnecesary non-standard macro)
Obtained from: KAME
Reviewd by: ume, gnn
2005-10-19 16:53:24 +00:00
suz
0fd6aaa3c7 sync with KAME regarding the following clarification in RFC3542:
- disable IPv6 operation if DAD fails for some EUI-64 link-local addresses.
 - export get_hw_ifid() (and rename it) as a subroutine for this process.

Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 week
2005-10-19 16:43:57 +00:00
stefanf
bb15d175e9 Use the new name H_SETSIZE instead of the old H_EVENT to set the history
size.

PR:		86355
Approved by:	gad
2005-10-19 16:37:52 +00:00
suz
c8197b6e73 sync with KAME (don't respond to NI_QTYPE_IPV4ADDR)
Obtained from: KAME
Reviewed by: ume, gnn
2005-10-19 16:27:33 +00:00
suz
44730c0a96 supported an ndp command suboption to disable IPv6 in the given interface
Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 week
2005-10-19 16:20:18 +00:00
suz
fe91d8d38d sync with KAME in the following point:
- fixed a bug that "ndp ... proxy" command does not work

Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:58:23 +00:00
suz
a74e8eb45a sync with KAME in the following points:
- removed compilation warnings
- suppress a redundant error message when a default-router-list is empty

Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:52:00 +00:00
stefanf
267cbf8d22 Use the new name H_SETSIZE instead of the old H_EVENT to set the history
size.

PR:	86355
2005-10-19 15:37:43 +00:00
suz
f584bb27ab changed syslog level to more appropriate ones
Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:19:06 +00:00
suz
1e68536f50 source link-layer address option should be marked to be checked later,
because rs_input() need this option.

Obtained from: KAME
Reviewed by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:14:28 +00:00
suz
7cb7aed97b added an ioctl option in kernel so that ndp/rtadvd can change some NDP-related kernel variables based on their configurations (RFC2461 p.43 6.2.1 mandates this for IPv6 routers)
Obtained from: KAME
Reviewd by: ume, gnn
MFC after: 2 weeks
2005-10-19 15:05:42 +00:00
rwatson
e0f0e9f59a Use svr4_si_{addr,code,errno,signo,trap} in preference to si_{...}.
Fix a debugging printf to printf after a variable is first assigned,
not before.

These are purely build fixes, and need inspection to make sure they
were what the original author of the previous changes intended.
2005-10-19 14:59:54 +00:00
glebius
1767a8e54e In the em_process_receive_interrupts() cycle check the IFF_DRV_RUNNING
flag. This fixes panic, when 'ifconfig em0 down' was called and it calls
em_stop() while the em_process_receive_interrupts() has temporarily
dropped the lock.
2005-10-19 13:34:48 +00:00
suz
21f42e535f sync with KAME in the following points:
- fixed typos
- improved some comment descriptions
- use NULL, instead of 0, to denote a NULL pointer
- avoid embedding a magic number in the code
- use nd6log() instead of log() to record NDP-specific logs
- nuked an unnecessay white space

Obtained from: KAME
MFC after:  1 day
2005-10-19 10:09:19 +00:00
rwatson
2043307751 Convert if (tp->t_state == TCPS_LISTEN) panic() into a KASSERT.
MFC after:	2 weeks
2005-10-19 09:37:52 +00:00
davidxu
22847b1b84 Fix compiling problem by adding prefix name svr4 to si_xxx macro, the
si_xxx macro should not be used in compat headers, as these are standard
member names or only can be used in our native header file signal.h.
2005-10-19 09:33:15 +00:00
phk
899db1aa12 Fix typo 2005-10-19 06:37:39 +00:00
njl
d5e033e83c Use a pipe for reading devd events as another method of getting the AC line
status.  Add a thread that waits for events on the named pipe instead of
polling the line status via apm or the ACPI sysctl.  Additionally, use
robust error handling in case devd goes away or we temporarily can't set
a frequency (i.e., passive cooling has preempted our setting).

Later, this should be improved so that if adaptive control is not being used,
we will block while waiting for AC line events, saving a little CPU.

Submitted by:	Frederik Lindberg <fli+freebsd-current/shapeshifter.se>
2005-10-19 04:48:44 +00:00
wpaul
df7513965d Correct the size used to allocate ndis_txarray. It should be
NDIS_TXPKTS now, not ndis_maxpkts.
2005-10-19 03:14:11 +00:00
suz
897c7e4265 Raw IPv6 checksum must use the protocol number of the last header, instead of the first next-header value.
Obtained from: KAME
MFC after: 1 day
2005-10-19 01:21:49 +00:00
imp
0c736a6f9b Set the name of the chipset found 2005-10-19 00:25:39 +00:00
imp
a6f0699845 Make sure we set bst and bsh in the softc.
This gets us probing, but not attaching to, ISA cards.  More work
needed since the ISA attach routine is return ENXIO right now :-)
2005-10-19 00:18:11 +00:00
ariff
6ef4b2f555 Fix vchan speed for hardware with discrete (non-continuous)
sampling rate:
- Improve vchan chn_setspeed() strategy. Try to avoid FEEDER_RATE
  on parent channel if the requested value is not supported
  by the hardware.
- Fix vchan default speed calculation. In any case, vchan should
  rely on parent bufsoft speed instead of bufhard since it is
  possible that the entire feeder chain might involve FEEDER_RATE.
  This is possible under extreme, rare condition if the above
  chn_setspeed() strategy failed.

Approved by:	netchild (mentor)
2005-10-18 21:33:51 +00:00
ariff
5fb94046f0 Added missing comma. This fixes compilation if we need to enable
RATE_ASSERT debug macro.

Approved by:	netchild (mentor)
2005-10-18 21:18:47 +00:00
phk
dd29d22ebf Bruce Schneier is underrepresented in the fortune file. 2005-10-18 20:37:44 +00:00
phk
3ed5c9efd0 Use correct cirteria for determining which directory entries we can
purge right away and which we merely can hide.

Beaten into my skull by:	kris
2005-10-18 20:21:25 +00:00
jkim
d0aea4e867 Export processor socket information. New environment variables are:
smbios.socket.enabled:		number of enabled sockets
smbios.socket.populated:	number of populated sockets
2005-10-18 20:03:31 +00:00
wpaul
81737fff08 Another round of cleanups and fixes:
- Change ndis_return() from a DPC to a workitem so that it doesn't
  run at DISPATCH_LEVEL (with the dispatcher lock held).

- In if_ndis.c, submit packets to the stack via (*ifp->if_input)() in
  a workitem instead of doing it directly in ndis_rxeof(), because
  ndis_rxeof() runs in a DPC, and hence at DISPATCH_LEVEL. This
  implies that the 'dispatch level' mutex for the current CPU is
  being held, and we don't want to call if_input while holding
  any locks.

- Reimplement IoConnectInterrupt()/IoDisconnectInterrupt(). The original
  approach I used to track down the interrupt resource (by scanning
  the device tree starting at the nexus) is prone to problems when
  two devices share an interrupt. (E.g removing ndis1 might disable
  interrupts for ndis0.) The new approach is to multiplex all the
  NDIS interrupts through a common internal dispatcher (ntoskrnl_intr())
  and allow IoConnectInterrupt()/IoDisconnectInterrupt() to add or
  remove interrupts from the dispatch list.

- Implement KeAcquireInterruptSpinLock() and KeReleaseInterruptSpinLock().

- Change the DPC and workitem threads to use the KeXXXSpinLock
  API instead of mtx_lock_spin()/mtx_unlock_spin().

- Simplify the NdisXXXPacket routines by creating an actual
  packet pool structure and using the InterlockedSList routines
  to manage the packet queue.

- Only honor the value returned by OID_GEN_MAXIMUM_SEND_PACKETS
  for serialized drivers. For deserialized drivers, we now create
  a packet array of 64 entries. (The Microsoft DDK documentation
  says that for deserialized miniports, OID_GEN_MAXIMUM_SEND_PACKETS
  is ignored, and the driver for the Marvell 8335 chip, which is
  a deserialized miniport, returns 1 when queried.)

- Clean up timer handling in subr_ntoskrnl.

- Add the following conditional debugging code:
	NTOSKRNL_DEBUG_TIMERS - add debugging and stats for timers
	NDIS_DEBUG_PACKETS - add extra sanity checking for NdisXXXPacket API
	NTOSKRNL_DEBUG_SPINLOCKS - add test for spinning too long

- In kern_ndis.c, always start the HAL first and shut it down last,
  since Windows spinlocks depend on it. Ntoskrnl should similarly be
  started second and shut down next to last.
2005-10-18 19:52:15 +00:00
jhb
71b612fc9b Move the initialization of the devmtx into the mutex_init() function
called during early init before cninit().

Tested on:	i386, alpha, sparc64
Reviewed by:	phk, imp
Reported by:	Divacky Roman xdivac02 at stud dot fit dot vutbr dot cz
MFC after:	1 week
2005-10-18 18:27:44 +00:00
stefanf
ca175bacb2 Make __sem_timedwait() consistent with the sem_timedwait() prototype. 2005-10-18 17:24:03 +00:00
ache
7e8cf15964 xterm-basic: add AX flag
(the same in xterm-supplied termcap)
2005-10-18 16:11:48 +00:00
des
4426988f2c Implement the full range of ISO9660 number conversion routines in iso.h.
MFC after:	2 weeks
2005-10-18 13:35:08 +00:00
stefanf
35136ff29a Regenerate. 2005-10-18 11:49:14 +00:00
stefanf
e5209c5665 Const-qualify ksem_timedwait's parameter abstime as it's only passed in. 2005-10-18 11:46:24 +00:00
yar
153abf782e In this case, disable wrapping of fake opt_*.h targets in
"if defined(KERNBUILDDIR)" for now since the new way of
building modules with the kernel can't handle dynamic SRCS
depending on build options yet.
2005-10-18 07:54:02 +00:00
harti
d0b8720651 Add first tests for semicolon handling. The first test fails. This is
probably a bug in the parser.
2005-10-18 07:28:09 +00:00
harti
2733c20457 Add more tests for escaped newline handling and fix a test that currently
should fail because of a bug in the parser (test 2).
2005-10-18 07:20:14 +00:00
imp
8fa362e399 Don't build dc-only pseudo phy devices with mii.ko anymore 2005-10-18 06:39:30 +00:00
yar
f4b6099f4e Spotted a call to a cdev-related function not wrapped
in "#ifdef KBD_INSTALL_CDEV".

Noticed by:	glebius
Uncovered by:	recent change to modules' Makefiles
2005-10-18 06:38:14 +00:00
imp
6fb0cd4149 Move dc sources from pci and dev/mii into dev/dc. 2005-10-18 06:11:59 +00:00
imp
11b71844b6 Move dc sources from pci to dev/dc. 2005-10-18 06:11:08 +00:00