1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
Commit Graph

41019 Commits

Author SHA1 Message Date
Nate Lawson
4bad3a1025 Remove a multiply-defined function. The change has been submitted to the
vendor.
2003-07-14 02:58:00 +00:00
Marcel Moolenaar
6613111b55 Fix build breakage on ia64. The second argument of AcpiOsReadable()
and AcpiOsWritable() have type ACPI_SIZE and not UINT32.
2003-07-14 02:42:15 +00:00
Nate Lawson
6fca9360db Update code to work with 0619 dist
* Use ACPI_BUFFER as the type for AcpiGetObjectInfo
* Remove AcpiEnableEvent/AcpiClearEvent for ACPI_EVENT_FIXED (power/sleep
  buttons) as they are no longer needed
* Change calls to use the new GPE functions
* Add AcpiOs*Lock functions
2003-07-13 22:57:16 +00:00
Nate Lawson
cefe7f9185 Add include file so this builds with new acpica
Reported by:	Kevin Oberman <oberman@es.net>
2003-07-13 22:54:53 +00:00
Nate Lawson
0078ca95f5 Fix handling of _BST in the new dist.
Submitted by:	kochi@netbsd.org
2003-07-13 22:52:51 +00:00
Nate Lawson
377a65490a This commit was generated by cvs2svn to compensate for changes in r117527,
which included commits to RCS files with non-trunk default branches.
2003-07-13 22:52:51 +00:00
Nate Lawson
1fd6e80f3e Patch for global lock error messages that the vendor will import eventually.
Originally committed as 1.1.1.17
2003-07-13 22:50:30 +00:00
Nate Lawson
767fb63125 This commit was generated by cvs2svn to compensate for changes in r117525,
which included commits to RCS files with non-trunk default branches.
2003-07-13 22:50:30 +00:00
Nate Lawson
a4ae793658 Commit local patches for files off the vendor branch. 2003-07-13 22:47:01 +00:00
Nate Lawson
4f42014b1c Unmodified files from the vendor 0619 dist that should no longer be off the
vendor branch.
2003-07-13 22:45:34 +00:00
Nate Lawson
4146e46ceb ACPICA import from the 0619 dist. 2003-07-13 22:44:13 +00:00
Nate Lawson
5303348047 This commit was generated by cvs2svn to compensate for changes in r117521,
which included commits to RCS files with non-trunk default branches.
2003-07-13 22:44:13 +00:00
Robert Drehmel
857961d925 Avoid an unnecessary calculation: there is no need to subtract
`firstaddr' from `v' if we know that the former equals zero.
2003-07-13 21:02:11 +00:00
Robert Watson
533d8562e4 Move the MAC entry point to label ethernet-sourced mbufs with a MAC label
from the network interface earlier in ether_input().  At some point
(no fingers pointed), things were restructured and the labeling operation
moved later.  This wasn't a problem as BPF_MTAP() relies on the ifnet
label not the mbuf label, but there might have been other problems.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-07-13 20:32:58 +00:00
Sam Leffler
45cabbdc58 o add read-only sysctls to view regulatory domain, country code, and
outdoor use controls
o use sysctl-visible values in setting up channel list
2003-07-13 17:07:25 +00:00
Hidetoshi Shimokawa
8ce4e5189e Fix for FAIL_IF_NO_KBD case as expected.
Even if we have no AT keyboard, an AT keyboard is registered because
it's probed with KB_CONF_PROBE_ONLY flag set during console initialization.
Unregister the keyboard if it doesn't present while second probe.

This should fix USB keyboard only case without 'kbdcontrol -k /dev/kbd1'.
2003-07-13 10:08:33 +00:00
Yoshihiro Takahashi
943be5d359 Fixed build error with GCC 3.3.1 2003-07-13 08:13:52 +00:00
Yoshihiro Takahashi
88dbf7e716 Fixed mouse cursor support.
Submitted by:	KIYOHARA Takashi <kiyohara@kk.iij4u.or.jp>
2003-07-13 08:09:31 +00:00
Marcel Moolenaar
ed4ee6b2af Enable the high FP registers when we call the FPSWA handler and disable
them again afterwards. This fixes a disabled FP fault while in the FPSWA
handler.
While here, merge the FP fault and FP trap handling code to reduce code
duplication. Where code was different, it was not sure it should be.

Trigger case: ports/math/atlas
2003-07-13 04:08:16 +00:00
Don Lewis
857d9c60d0 Extend the mutex pool implementation to permit the creation and use of
multiple mutex pools with different options and sizes.  Mutex pools can
be created with either the default sleep mutexes or with spin mutexes.
A dynamically created mutex pool can now be destroyed if it is no longer
needed.

Create two pools by default, one that matches the existing pool that
uses the MTX_NOWITNESS option that should be used for building higher
level locks, and a new pool with witness checking enabled.

Modify the users of the existing mutex pool to use the appropriate pool
in the new implementation.

Reviewed by:	jhb
2003-07-13 01:22:21 +00:00
Paul Saab
3c63a8b4fc Check the status of the user command and return the proper error
to the user.
2003-07-12 22:37:03 +00:00
Paul Saab
4bca277bd3 Quiet down ciss unless bootverbose is set. 2003-07-12 22:32:27 +00:00
Mike Heffner
e0c22597cb Add support for the A4 Tech RFSW-35 mouse wheel. Probe is similar to
4D Plus.

PR:		44333
2003-07-12 18:36:04 +00:00
Hidetoshi Shimokawa
d7e486b41d Allow retrieval of local Configuration ROM. 2003-07-12 09:34:44 +00:00
Luigi Rizzo
72e02d4dac Implement comments embedded into ipfw2 instructions.
Since we already had 'O_NOP' instructions which always match, all
I needed to do is allow the NOP command to have arbitrary length
(i.e. move its label in a different part of the switch() which
validates instructions).

The kernel must know nothing about comments, everything else is
done in userland (which will be described in the upcoming ipfw2.c
commit).
2003-07-12 05:54:17 +00:00
Marcel Moolenaar
480d3dd2ea Add logic to trace across/over a trapframe. We have ABI markers in
our unwind information for functions that are entry points into the
kernel. When stepping to the next frame, the unwinder will let us
know when sych a marker was encountered. We use this to stop the
current unwind session, query the trapframe and restart a new
unwind session based on the new trapframe.

The implementation is a bit sloppy, but at this time there are
bigger fish to fry.
2003-07-12 04:35:09 +00:00
Marcel Moolenaar
67f74420f4 This commit was generated by cvs2svn to compensate for changes in r117465,
which included commits to RCS files with non-trunk default branches.
2003-07-12 04:20:56 +00:00
Marcel Moolenaar
dca737bc61 Fix a nasty bug that was exposed by disabling the trace support by
default. There were 2 cases where the trace code was in the else-
part of an if-statement without any compound construct to protect
against nullification. The result was that 2 unconditional statements
turned into conditional statements and wrecked havoc.

This fix has been returned to the vendor and in anticipation of a
future import committed onto the vendor branch.
2003-07-12 04:20:56 +00:00
Robert Drehmel
baf731e6ed Make the system call vector name of a process accessible to user
land applications by introducing the KERN_PROC_SV_NAME sysctl node,
which is searchable by PID.
2003-07-12 02:00:16 +00:00
Peter Wemm
74ed31bfc0 Fix the gcc-3.3 boot problem. Gcc now optimizes 'int foo = 0' by moving
it to the bss section and skips the initialization.  This causes all
sorts of havoc because the bogus bss zero code clobbered previously set
variables.  All our supported boot loaders already zero the bss, even
kgzip for the elf case.  Since we dont generate a.out kernels, the old
a.out bootblocks and the a.out kgzip are not a factor anymore.
2003-07-11 21:39:25 +00:00
Josef Karthauser
4608d6b170 Regen. 2003-07-11 21:17:53 +00:00
Josef Karthauser
02fe91185f Added a few more entries.
Submitted by:	Lars Eggert <larse@ISI.EDU>
2003-07-11 21:17:29 +00:00
John Baldwin
c660bdfa66 Unlock the fxp driver lock before calling fxp_poll() to avoid recursing on
the lock when using DEVICE_POLLING.

Tested by:	Robin P. Blanchard <Robin.Blanchard@gactr.uga.edu>
Reviewed by:	njl
2003-07-11 20:49:36 +00:00
Warner Losh
08ebe101d2 Fix typo for BURN_BRIDGES' file, it should be opt_global.h 2003-07-11 17:04:37 +00:00
Thomas Moestl
07a41f740a NFS support should be conditional on LOADER_NFS_SUPPORT, not
LOADER_NET_SUPPORT.
2003-07-11 16:12:50 +00:00
Hidetoshi Shimokawa
558d6f9a60 Fix if_wi breakage. 2003-07-11 13:50:31 +00:00
David Xu
ffb2e92a98 If a thread is sending signal to its process, if the thread can handle
the signal itself, it should get it without looking for other threads.
2003-07-11 13:42:23 +00:00
Warner Losh
40d3bedc9e Add support for asus wl100
PR: 49033/53249
2003-07-11 09:19:04 +00:00
Warner Losh
c3cee955c0 sync to pccarddev 1.55 2003-07-11 09:17:07 +00:00
Warner Losh
4aafc6cbf1 remove stray ASUS 2003-07-11 09:16:40 +00:00
Warner Losh
688a06fa4d sync to pccarddev 1.54 2003-07-11 09:15:45 +00:00
Warner Losh
386a95a275 Add asus wl100
PR: 49033, 53249
2003-07-11 09:15:21 +00:00
Marcel Moolenaar
2c75b47793 Add a body directive before the first instruction in epc_syscall().
This results in a zero length prologue and a body that covers the
whole function. This is more correct.
2003-07-11 08:52:48 +00:00
Marcel Moolenaar
67f79f5a15 Remove a gratuitous align directive after the endp directive for
IVT entries.
2003-07-11 08:49:26 +00:00
Marcel Moolenaar
31bc3942e5 Make UWX_TRACE_ENABLE a global option so that we don't have to
modify vendor code (libuwx) with a specific include directive.
The second order advantage is that we can also enable verbosity
in the glue code (ia64/ia64/unwind.c).
2003-07-11 08:47:15 +00:00
Bill Paul
22606b2001 Squelch spurious "gigabit link up" messages generated on some fiber NICs
(mainly the 3Com 3c996B/BCM5701).

For some reason that I don't fully understand, the 5701 signals PCS
encoding errors as though they were link change events, i.e. the 'link
state changed' bit in the status word of the status block is updated
and an interrupt is generated. This would cause the bge_tick() function
to be invoked and a "gigabit link up" message to be printed on the console.

To avoid this, the interrupt handler now checks the MAC status register
when a link change interrupt is triggered, and it will only call the
bge_tick() function if the 'PCS encoding error detected' bit is clear.
(This change should have no effect on copper NICs since this bit can
only ever be set in TBI mode. I do not know how it affects 5704 NICs
with a BCM8002 SERDES PHY.)

Special thanks to: Sherry Rogers at UCB for allowing me access to one
of their traffic monitor boxes so I could diagnose this problem.
2003-07-11 08:19:52 +00:00
Alexander Kabaev
cd2f2571d8 Fix i386 assembly constraints. The same register cannot be
in output and clobber lists at the same time.
2003-07-11 07:49:40 +00:00
Alexander Kabaev
360d2e3b61 Temporarily switch off -Werror until new GCC warning have been dealt with. 2003-07-11 07:13:42 +00:00
Marcel Moolenaar
2884f2dcd8 Rename DISABLE_TRACE to UWX_TRACE_ENABLE and change the conditional
compilation accordingly. The net effect is that tracing is not by
default present and that it can easily be compiled-in.

The tracer uses getenv() and printf(), which cannot be used in all
cases (ie from the debugger) and with this change we improved the
applicability of the unwinder.

This change is made on the vendor branch and given back to the
vendor for possible inclusion in future versions.
2003-07-11 01:03:55 +00:00
Marcel Moolenaar
0eb870194c This commit was generated by cvs2svn to compensate for changes in r117392,
which included commits to RCS files with non-trunk default branches.
2003-07-11 01:03:55 +00:00
Mike Silbersack
347194c172 Add init_param3() to subr_param. This function is called
immediately after the kernel map has been sized, and is
the optimal place for the autosizing of memory allocations
which occur within the kernel map to occur.

Suggested by:	bde
2003-07-11 00:01:03 +00:00
Thomas Moestl
928a49644f Lock down the IOMMU bus_dma implementation to make it safe to use
without Giant held.

A quick outline of the locking strategy:
Since all IOMMUs are synchronized, there is a single lock, iommu_mtx,
which protects the hardware registers (where needed) and the global and
per-IOMMU software states. As soon as the IOMMUs are divorced, each struct
iommu_state will have its own mutex (and the remaining global state
will be moved into the struct).
The dvma rman has its own internal mutex; the TSB slots may only be
accessed by the owner of the corresponding resource, so neither needs
extra protection.
Since there is a second access path to maps via LRU queues, the consumer-
provided locking is not sufficient; therefore, each map which is on a
queue is additionally protected by iommu_mtx (in part, there is one
member which only the map owner may access). Each map on a queue may
be accessed and removed from or repositioned in a queue in any context as
long as the lock is held; only the owner may insert a map.
To reduce lock contention, some bus_dma functions remove the map from
the queue temporarily (on behalf of the map owner) for some operations and
reinsert it when they are done. Shorter operations and operations which are
not done on behalf of the lock owner are completely covered by the lock.

To facilitate the locking, reorganize the streaming buffer handling;
while being there, fix an old oversight which would cause the streaming
buffer to always be flushed, regardless of whether streaming was enabled
in the TSB entry. The streaming buffer is still disabled for now, since
there are a number of drivers which lack critical bus_dmamp_sync() calls.

Additional testing by:	jake
2003-07-10 23:27:35 +00:00
Bill Paul
96fd5c300d Add support for the 8139C+ chipset. Unlike the other chips in the 8139
series, the 8139C+ has a descriptor-based DMA mechanism, and its
performance is actually pretty respectable. Note: the 8139D chip does
not support C+ mode. Only the 8139C+ and 8169 gigE chips support C+ mode.

Supported features:

- RX and TX checksum offload
- hardware VLAN tag insertion/extraction
- TX interrupt moderation using the 8139's on-board timer

Everything should be properly busdma'ed and endian-independent, so
things should work ok on non-x86 platforms. Unfortunately, my call
for testers on this code was met with deafening silence, and I don't
have access to any non-x86 FreeBSD boxes at the moment, so this is
speculation.

The device detection code has been cleaned up a little as well
(thanks to Michal Mertl) for the patches.

There are also updates to the rl(4) man page (which I accidentally
checked in before when I updated the dc(4) man page. Oops.)

Todo: finish support for the 8169 gigabit ethernet chip. This
mainly requires writing an rlgphy driver to handle the 8169's built-in
PHY. This will have to wait until I actually get my hands on an 8169
card for testing though. (I still can't find a source for one in the
U.S. Suggestions/pointers welcome.)
2003-07-10 20:38:48 +00:00
Bill Paul
e0b2dc9329 Regenerate. 2003-07-10 18:43:39 +00:00
Bill Paul
e7b9ab3aaa Add support for a bunch of Microsoft networking products:
- MN-110 10/100 USB ethernet (ADMtek Pegasus II, if_aue)
- MN-120 10/100 cardbus (ADMtek Centaur-C, if_dc)
- MN-130 10/100 PCI (ADMtek Centaur-P, if_dc)

Also update dc(4) man page to mention support for MN-120 and MN-130.
2003-07-10 18:43:17 +00:00
Mark Murray
c7b132c974 Protect lint(1) from a #error. 2003-07-10 18:05:02 +00:00
Nate Lawson
1f04e8f501 Rewrite much of the embedded controller driver.
* Always use polled mode.  The intr approach did not work for many
  controllers and required the hw.acpi.ec.event_driven workaround.
* Only use an edge (not level) triggered GPE handler
* Add sc->ec_mtx for locking operations to a single EC.  There were
  many race conditions earlier between an SCI event and EcRead/Write.
* Use 1 ms as the global lock timeout
* Only acquire global lock if _GLK != 0
* Update EcWaitEvent to use an incremental backoff delay in its
  poll loop.  Wait 50 ms max instead of 10.  Most ECs respond
  in < 5 us (50 us when heavily loaded).  However, some time out
  occasionally even with a 10 ms timeout.  For delays past 1 ms, use
  msleep instead of DELAY to give SCI interrupts a chance to occur.
* Add EcCommand to send a command and wait for the appropriate event.
* The hw.acpi.ec.event_driven tunable is no longer applicable and
  has been removed.

Ideas from:	Linux
2003-07-10 17:22:46 +00:00
Hartmut Brandt
445b5e54cf Use the default arguments for lockfunc and lockfuncarg in
bus_dma_tag_create. We need to be sure that our packets are
kept in-sequence (that's how ATM is supposed to work) and
therefor use BUS_DMA_NOWAIT in all calls to bus_dmamap_load.

For memory allocated with bus_dmamem_alloc the use of anything
other than NULL arguments for the locking is anyway bogus because
this memory never should need bouncing and hence the load should never
be defered.

Allow the receipt of OAM and RM cells on raw connections. Caveat: it seems
that RM cells are still processed by the hardware even when we open the
connection as UBR.
2003-07-10 13:55:09 +00:00
Bill Paul
e4cffe95c7 Support for large frames for VLANs was added by tweaking the packet size
register, present only on 3c90xB and later NICs. This meant that you could
not use a 1500 byte MTU with VLANs on original 3c905/3c900 cards (boomerang
chipset). The boomerang chip does support large frames though, just not
in the same way: you can set the 'allow large frames' bit in the MAC
control register to receive frames up to 4K in size.

Changes:

- Set the 'allow large frames' bit for boomerang chips and increase
  the packet size register for cyclone and later chips. This allows
  us to use IFCAP_VLAN_MTU on all supported xl(4) NICs.
- Actually set the IFCAP_VLAN_MTU flag in the capabilities word
  in xl_attach().
- Change the method used to detect older boomerang chips. My 3c575C
  cardbus NIC was being incorrectly identified as 3c90x chip instead
  of 3c90xB because the capabilities word in its EEPROM reports
  a bizzare value. In addition to checking for the supportsNoTxLength
  bit, also check for the absence of the supportsLargePackets bit.
  Both of these cases denote a 3c90xB chip.
- Make RX and TX checksums configurable via the SIOCSIFCAP ioctl.
- Avoid an unecessary le32toh() in xl_rxeof(): we already have the
  received frame size in the lower 16 bits of rxstat, no need to
  read it again.

Tested with 3c905-TX, 3c900-TPO, 3c980C and 3c575C NICs.
2003-07-10 05:24:33 +00:00
Bill Paul
85a94674d0 tdkphy.c is missing from this module's Makefile. Add it. 2003-07-10 05:12:10 +00:00
Peter Wemm
e95babf3a8 unifdef -DLAZY_SWITCH and start to tidy up the associated glue. 2003-07-10 01:02:59 +00:00
Peter Wemm
bf8ca114e2 Fix the VADDR() macros to use either KVADDR() or UVADDR(), depending
on the implied sign extension.  The single unified VADDR() macro was
not able to avoid sign extending the VM_MAXUSER_ADDRESS/USRSTACK values.
Be explicit about UVADDR() (positive address space) and KVADDR()
(kernel negative address space) to make mistakes show up more
spectacularly.

Increase user VM space from 1/2TB (512GB) to 128TB.
2003-07-09 23:04:23 +00:00
Peter Wemm
6486c09935 Fix up bogus index/offset/mask calculations in the allocpte and the
corresponding release code.  This was preventing the use of more than
1/2TB of user VM.  I also spent a week staring at this code only to
eventually find that I'd mistakenly typed a P as an R.
2003-07-09 22:59:45 +00:00
Peter Wemm
4afd44c16a Turn the 2MB page mappings that cover the kernel text+data+bss area back
on now that pmap_pte() can handle it.  I never actually ran into anything
that broke that I know of, but this was turned off as a precaution.
2003-07-09 22:55:00 +00:00
Peter Wemm
436e1f203f Have pmap_pte() on a 2MB mapped address return the 2MB pde itself
rather than a non-existing pte.  There is code elsewhere in i386/amd64
pmap that neglects to handle the large page cases because it knows that
it will see PG_PS in the returned "pte".
2003-07-09 22:53:45 +00:00
Jeffrey Hsu
b6f5d1d603 Replace custom field offset macro with the system __offsetof() macro.
Reviewed by:	bde
2003-07-09 22:23:10 +00:00
Mike Silbersack
ff56f15e26 A few minor changes:
- Use atomic ops to update the bigpipe count
- Make the bigpipe count sysctl readable
- Remove a duplicate comparison in an if statement
- Comment two SYSCTLs.
2003-07-09 21:59:48 +00:00
Scott Long
cd481291bd Handle the EINPROGRESS case of bus_dmamap_load() for data buffers. 2003-07-09 21:16:23 +00:00
Scott Long
204c0bef67 Fix a missing } that got dropped from the last commit. 2003-07-09 19:30:30 +00:00
Scott Long
4b00f859d0 Add a new quirk for cards that incorrectly interpret the amount of memory
in the system.  This might also have a small performance gain.
2003-07-09 19:19:16 +00:00
John Baldwin
852989bdbf - Fix a typo in the call to acpi_disabled() in probe() by removing an
extra trailing space.
- Don't bother probing a generic ISA bus device if isab0 already exists.
  Some BIOSes place an ACPI psuedo-device with the HID of a generic ISA bus
  device under the PCI-ISA bridge device.  This is not the best solution
  but will work for now.  The isa bus driver only allows for one ISA bus
  anyways.
2003-07-09 18:28:53 +00:00
Andrey A. Chernov
171f8dccf7 Add ID for UMAX Astra 2100U 2003-07-09 17:05:59 +00:00
John Baldwin
2c8b8ff8cf - Fix the kernel build for configurations that include pci but not isa by
having the PCI-ISA bridge driver depend on both pci and isa.
- Have the PCI-EISA bridge driver depend on both pci and eisa as well.
- Make acpi_isab.c depend on acpi and isa.

Submitted by:	Marius Strobl <marius@alchemy.franken.de> (1,2)
2003-07-09 16:14:10 +00:00
Maxime Henrion
fab712dcc6 Uncomment the dc(4) driver, it should work just fine now. 2003-07-09 15:04:27 +00:00
Maxime Henrion
af4358c71e Make the dc(4) driver endian-clean, so to that it works on sparc64.
There are such cards in Netra X1 boxes, which should thus be fully
supported now.

Tested by:	jake
2003-07-09 15:03:10 +00:00
Hidetoshi Shimokawa
4d4e204a98 Configuraiton ROM fix:
- Don't bump the generation if ROM has not changed and keep it
	between 0x2 and 0xf.
- Refetch the ROM if CRC of the businfo block has changed.
2003-07-09 13:07:35 +00:00
Bill Paul
fb88a3e0f4 - In vlan_input(), always mask off all but the VLID bits from tags
extracted from received frames, both in the IFCAP_VLAN_HWTAGGING case
  and not. (Some drivers may already do this masking internally, but
  doing it here doesn't hurt and insures consistency.)

- In vlan_ioctl(), don't let the user set a VLAN ID value with anything
  besides the VLID bits set, otherwise we will have trouble matching
  an interface in vlan_input() later.

PR:		kern/46405
2003-07-08 21:54:20 +00:00
Poul-Henning Kamp
d32622aaee Handle geoms which are withering away specially in the dump functions. 2003-07-08 21:12:40 +00:00
Alan Cox
90a7c7b671 In pmap_object_init_pt(), the pmap_invalidate_all() should be performed on
the caller-provided pmap, not the kernel_pmap.  Using the kernel_pmap
results in an unnecessary IPI for TLB shootdown on SMPs.

Reviewed by:	jake, peter
2003-07-08 19:40:35 +00:00
John Baldwin
6c525ee43c Add an ACPI to ISA psuedo bridge driver. It attaches an isab(4) device to
ACPI nodes with the plug and play ID's defined for a "Generic ISA Bus
Device" as defined in section 10.7 of the ACPI 2.0 specification.  This
gives machines like the Libretto that contain a fake ISA bus that is not
connected via a PCI-ISA bridge an ISA bus for ISA devices to attach to.

Tested by:	markm
2003-07-08 18:59:32 +00:00
Mike Silbersack
41f16f8208 Pull in the entire kmem_map size calculation from kern_malloc, rather
than the shortcircuited version I had been using, which only worked
properly on i386 & amd64.

Also, change an autoscale constant to account for the more correct
kmem_map size.

Problem noticed by:     mux
2003-07-08 18:59:21 +00:00
John Baldwin
c37faf267c - Make the isab devclass global to allow for multiple ISA bridge drivers.
- Factor out code common to all ISA bridge drivers attach methods into a
  isab_attach() function.
- Rename the PCI-ISA bridge driver's attach function to pci_isab_attach()
  and have it call isab_attach().
2003-07-08 18:56:58 +00:00
Luigi Rizzo
7a1dfbc0d3 Merge the handlers of O_IP_SRC_MASK and O_IP_DST_MASK opcodes, and
support matching a list of addr/mask pairs so one can write
more efficient rulesets which were not possible before e.g.

    add 100 skipto 1000 not src-ip 10.0.0.0/8,127.0.0.1/8,192.168.0.0/16

The change is fully backward compatible.
ipfw2 and manpage commit to follow.

MFC after: 3 days
2003-07-08 07:44:42 +00:00
Jeff Roberson
0c0a98b231 - When stealing a kse in kseq_move() ignore the current kseq's min nice
value.  We want to steal any thread, even one that is not given a slice
   on its current queue.
2003-07-08 06:19:40 +00:00
Mike Silbersack
289016f2d1 Put some concrete limits on pipe memory consumption:
- Limit the total number of pipes so that we do not
  exhaust all vm objects in the kernel map.  When
  this limit is reached, a ratelimited message will
  be printed to the console.

- Put a soft limit on the amount of memory consumable
  by pipes.  Once the limit has been reached, all new
  pipes will be limited to 4K in size, rather than the
  default of 16K.

- Put a limit on the number of pages that may be used
  for high speed page flipping in order to reduce the
  amount of wired memory.  Pipe writes that occur
  while this limit is exceeded will fall back to
  non-page flipping mode.

The above values are auto-tuned in subr_param.c and
are scaled to take into account both the size of
physical memory and the size of the kernel map.

These limits help to reduce the "kernel resources exhausted"
panics that could be caused by opening a large
number of pipes.  (Pipes alone are no longer able
to exhaust all resources, but other kernel memory hogs
in league with pipes may still be able to do so.)

PR:			53627
Ideas / comments from:	hsu, tjr, dillon@apollo.backplane.com
MFC after:		1 week
2003-07-08 04:02:31 +00:00
David Xu
e2e8935832 Fix LOR between scheduler lock and SMP rendezvous lock.
Reviewed by: jhb
2003-07-08 00:14:30 +00:00
Garrett Wollman
e14eb5a118 FreeBSD 2.0.5 is old hat. Also cross-reference GEOM_VOL from the discussion
of wiring SCSI devices, since it provides a non-SCSI-specific way of
accomplishing a similar task.
2003-07-07 21:19:04 +00:00
Garrett Wollman
4aeb6d2671 Fix wording: `irregardless' is a solecism. 2003-07-07 21:15:01 +00:00
Garrett Wollman
00b0445c82 Put NFSSERVER in the right list of filesystem stuff. Building a kernel
with only NFSSERVER won't get you anywhere.
2003-07-07 21:13:21 +00:00
Garrett Wollman
57a42501da Single-character style fix. 2003-07-07 21:12:34 +00:00
Jeff Roberson
0ec896fd28 - Clean up an unused variable.
Submitted by:	Steve Kargl <skg@routmask.apl.washington.edu>
2003-07-07 21:08:28 +00:00
Bill Paul
39e674767e Add a workaround for the USB_PRODUCT_MCT_SITECOM_USB232 device: limit
the bulk out buffer size to 16 bytes. The bulk out endpoint descriptor
reports 32 bytes, but if you use this value, data will get dropped.

Reviewed/approved by: scottl
2003-07-07 18:01:23 +00:00
Cameron Grant
eaa69ee9a9 * add a function to display a complete feeder chain on the console, for
debugging.

* set the parent of non-format feeders, so that sndstat doesn't miss out
things like feeder_rate.

MFC:		1 week
2003-07-07 17:40:02 +00:00
Warner Losh
247056ed2a Add corega PCCL-11 to match entry added to pccarddevs a while ago.
Noticed going into openbsd...
2003-07-07 07:57:35 +00:00
Alan Cox
ecf6279f00 - Complete the vm object locking in vm_pageout_object_deactivate_pages().
- Change vm_pageout_object_deactivate_pages()'s first parameter from a
   vm_map_t to a pmap_t.
 - Change vm_pageout_object_deactivate_pages()'s and
   vm_pageout_map_deactivate_pages()'s last parameter from a vm_pindex_t
   to a long.  Since the number of pages in an address space doesn't
   require 64 bits on an i386, vm_pindex_t is overkill.
2003-07-07 07:16:29 +00:00
Mike Heffner
b1181a94a3 Reset the PSM aux device twice to help pierce through some KVM's to
get the correct data from the attached mouse. Multiple resets should
be harmless, but just in case, the second one is non-fatal and is just
ignored.
2003-07-07 05:40:13 +00:00
Cameron Grant
e2df178350 * support ich5
PR:		kern/53242
Submitted by:	Shin-ichi Yoshimoto <yosimoto@waishi.jp>  (partly)
Tested by:	Dominic Marks <dom@cus.org.uk> (version in PR)
MFC after:	1 week
2003-07-06 23:54:00 +00:00
Maxime Henrion
56e5e7ae57 Convert the dc(4) driver to the busdma API. This is a necessary step
to have this driver working on sparc64.  It still needs to be made
endian-clean before it can work there.

Special thanks to dragonk@evilcode.net for sending me a dc(4) card so
that I was able to do this work.

Many cheers to all the people that tested this change, thanks to them,
this change shouldn't break anything :-).

Tested by:	marcel (i386 and ia64), ru (i386), wilko (alpha),
		mbr (i386), wpaul (i386) and
		Will Saxon <WillS@housing.ufl.edu> (i386)
2003-07-06 21:45:31 +00:00
Alan Cox
6e3bf93111 MFi386
Updates to cnt.v_wire_count, the global count of wired pages, should be
 performed using atomic ops.
2003-07-06 20:32:42 +00:00
Brian S. Dean
fa8ee6aca1 Woops - don't forget to declare locals needed for that last commit. 2003-07-06 16:56:16 +00:00