Commit graph

123816 commits

Author SHA1 Message Date
Matteo Riondato 50e31cbac8 Add curses ACS line graphics support for iso15 fonts
Now ncurses-based programs such as sysinstall and mc will display the
correct font for graphical lines instead of "-" and "+" characters.

Correct two special characters for cons25l1 in termcap: use real
arrows instead of ">>" and "<<".
Add a lot of additional symbols for line drawing which are taken from
the CP437 font.
Almost all of the ACS symbols are now implemented.

PR: conf/90082
Submitted by: Oliver Fromme <olli@secnetix.de>
MFC after:	1 week
2006-04-29 12:34:19 +00:00
Stefan Farfeleder 896229d920 Check the buffer size when copying the line returned by el_gets() into our
own buffer.  Interactively typing in long lines (>1023 characters)
previously overflowed the buffer.  Unlike the NetBSD people I don't see the
need to subtract 8 from BUFSIZ, so I just used BUFSIZ-1.

Obtained from:	NetBSD
PR:		91110
2006-04-29 10:29:10 +00:00
Kris Kennaway cef31ff7d9 Lock giant when assigning ni_vp and keep vfslocked state valid.
Committed for:	jeff
2006-04-29 07:13:49 +00:00
Hajimu UMEMOTO bda1fb2baf Oops, services should be compat by default for backward compatibility. 2006-04-29 06:39:07 +00:00
Andrew Thompson 7f87a57ca3 Add support for fragmenting ipv4 packets.
The packet filter may reassemble the ip fragments and return a packet that is
larger than the MTU of the sending interface. There is no check for DF or icmp
replies as we can only get a large packet to fragment by reassembling a
previous fragment, and this only happens after a call to pfil(9).

Obtained from:	OpenBSD (mostly)
Glanced at by:	mlaier
MFC after:	1 month
2006-04-29 05:37:25 +00:00
Hajimu UMEMOTO de4bee5922 Add newly supported databases such as services, protocols and rpc
into generated nsswitch.conf.
2006-04-29 04:49:19 +00:00
Hajimu UMEMOTO 0e3a96aae0 English grammar fix in comment.
Submitted by:	keramida
2006-04-29 04:26:16 +00:00
Tom Rhodes 2fb5ab2f0c Follow FreeBSD mdoc(7) conventions:
- Remove hard sentence breaks;
- Avoid using double negatives or "sexist" language;
- Expand contractions;
- Remove a blank line;
- Some grammar changes.

Usually we do not "hard code" requests to submit bugs to the author, but
I will leave this go for now.
2006-04-29 01:34:03 +00:00
Andrew Thompson 93b23a8b16 Correct sentence, forwarding non IP packets is now an option. 2006-04-29 01:19:08 +00:00
Alan Cox e9ba21a5bb Eliminate unnecessary, recursive acquisitions and releases of the page
queues lock by free_pv_entry() and pmap_remove_pages().

Reduce the scope of the page queues lock in pmap_remove_pages().
2006-04-29 00:59:15 +00:00
Giorgos Keramidas b1cc10206c Typo. 2006-04-29 00:43:23 +00:00
Giorgos Keramidas f4006aff16 Fix a couple of typos and other minor nits
Reviewed by:	rwatson
2006-04-28 23:21:36 +00:00
Giorgos Keramidas 9dc894b630 Minor improvements after last revision.
Reviewed by:	thompsa
2006-04-28 22:37:16 +00:00
Pawel Jakub Dawidek 122410eea2 vn_start_write() is called only when v_type != VCHR, so corresponding
vn_finished_write() should also be called only then.

BTW. I fixed two functions here: vn_rdwr() and vn_write(). The latter seems
to be unused.

MFC after:	3 weeks
2006-04-28 21:54:05 +00:00
Maxim Konovalov 64e16bf0e1 o Borrow from if_bridge.4: note that the bridge interface need to be upped.
PR:		docs/94545
Submitted by:	thompsa
2006-04-28 21:45:08 +00:00
Robert Watson 3bf14fd5e9 Also check use_pty in the ptmx clone lookup; this means that when ptmx
support is turned off using the sysctl, we no longer even allow the
ptmx device to be looked up.

Foot provided by:	peter
2006-04-28 21:39:57 +00:00
Marcel Moolenaar 8f405ed335 Remove the puc-specific hacks. The puc(4) driver now properly uses
the rman(9) interface.
2006-04-28 21:23:09 +00:00
Marcel Moolenaar 64220a7e28 Rewrite of puc(4). Significant changes are:
o  Properly use rman(9) to manage resources. This eliminates the
   need to puc-specific hacks to rman. It also allows devinfo(8)
   to be used to find out the specific assignment of resources to
   serial/parallel ports.
o  Compress the PCI device "database" by optimizing for the common
   case and to use a procedural interface to handle the exceptions.
   The procedural interface also generalizes the need to setup the
   hardware (program chipsets, program clock frequencies).
o  Eliminate the need for PUC_FASTINTR. Serdev devices are fast by
   default and non-serdev devices are handled by the bus.
o  Use the serdev I/F to collect interrupt status and to handle
   interrupts across ports in priority order.
o  Sync the PCI device configuration to include devices found in
   NetBSD and not yet merged to FreeBSD.
o  Add support for Quatech 2, 4 and 8 port UARTs.
o  Add support for a couple dozen Timedia serial cards as found
   in Linux.
2006-04-28 21:21:53 +00:00
John Baldwin f088002825 The nvidia binary blob sometimes defers tx completion notification to the
OS dependent layer.  Thus, the watchdog timer can go off when the tx
engine is working fine but the OS dependent layer just hasn't been called
to cleanup finished tx transactions.  To workaround this, when the watchdog
fires, poke the binary blob to force it to flush any pending tx
completions.  If this drops the pending tx count to zero then just return
without logging a message or resetting the chip.

This reportedly fixes the 'device timeout()' errors with at least several
NF4 nve(4) parts.

Submitted by:	Nathan Alexander Whitehorn <nathanw@uchicago.edu> (code)
Submitted by:	dg (inspiration for comment and explanation)
MFC after:	1 week
2006-04-28 20:08:16 +00:00
Robert Watson 8a1f412960 Fix typo.
MFC after:	1 month
Submitted by:	Antoine Brodin <antoine dot brodin@laposte dot net>
2006-04-28 19:43:44 +00:00
Sam Leffler ee25b8df01 Ensure outbound data packets in hostap mode are delivered only to
stations that are associated by making ieee80211_find_txnode return
NULL when a unicast frame is to be delivered to an unassociated
station.  This will be handled differently in the future but for
now putting the check here allows all drivers to immediately do
the right thing.

Reviewed by:	avatar
MFC after:	1 week
2006-04-28 19:06:15 +00:00
Peter Wemm 7eeda22793 Interim fix for pmap problems I introduced with my last commit.
Remove the code to dyanmically change the pv_entry limits.  Go back
to a single fixed kva reservation for pv entries, like was done
before when using the uma zone.  Go back to never freeing pages
back to the free pool after they are no longer used, just like
before.

This stops the lock order reversal due to aquiring the kernel map
lock while pmap was locked.

This fixes the recursive panic if invariants are enabled.

The problem was that allocating/freeing kva causes vm_map_entry
nodes to be allocated/freed.  That can recurse back into pmap as
new pages are hooked up to kvm and hence all the problem.
Allocating/freeing kva indirectly allocate/frees memory.

So, by going back to a single fixed size kva block and an index,
we avoid the recursion panics and the LOR.

The problem is that now with a linear block of kva, we have no
mechanism to track holes once pages are freed.  UMA has the same
problem when using custom object for a zone and a fixed reservation
of kva.  Simple solutions like having a bitmap would work, but would
be very inefficient when there are hundreds of thousands of bits
in the map.  A first-free pointer is similarly flawed because pages
can be freed at random and the first-free pointer would be rewinding
huge amounts.  If we could allocate memory for tree strucures or
an external freelist, that would work.  Except we cannot allocate/free
memory here because we cannot allocate/free address space to use
it in.  Anyway, my change here reverts back to the UMA behavior of
not freeing pages for now, thereby avoiding holes in the map.

ups@ had a truely evil idea that I'll investigate.  It should allow
freeing unused pages again by giving us a no-cost way to track the
holes in the kva block.  But in the meantime,  this should get people
booting with witness and/or invariants again.

Footnote: amd64 doesn't have this problem because of the direct map
access method.  I'd done all my witness/invariants testing there.  I'd
never considered that the harmless-looking kmem_alloc/kmem_free calls
would cause such a problem and it didn't show up on the boot test.
2006-04-28 19:05:08 +00:00
Marcel Moolenaar a31f91a061 Implement the ipend() method of the serdev I/F. 2006-04-28 18:29:23 +00:00
Christian Brueffer 8a2f9e6c0f Minor wording and formatting fixes. 2006-04-28 13:12:40 +00:00
Pawel Jakub Dawidek 84edb86df6 - Don't hold the device sx lock when going to sleep.
- Prevent possible live-lock in case of memory problems by freeing
  already completed requests first.

Reported and tested by:	markus, Bradley W. Dutton <brad-fbsd-stable@duttonbros.com>
MFC after:		1 day
2006-04-28 12:18:03 +00:00
Pawel Jakub Dawidek a2fe5c6676 - Remove dead code.
- Comment possible event miss, which isn't critical, but probably can be
  fixed by replacing the event lock usage with the queue lock.

MFC after:	2 weeks
2006-04-28 12:13:49 +00:00
Hajimu UMEMOTO 06a99fe36f - Extend the nsswitch to support Services, Protocols and Rpc
databases.
- Make nsswitch support caching.

Submitted by:	Michael Bushkov <bushman__at__rsu.ru>
Sponsored by:	Google Summer of Code 2005
2006-04-28 12:03:38 +00:00
Pawel Jakub Dawidek 18486a5ee3 Be sure to not destroy device twice. This is not possible in theory, but
with this change there is even no theoretical race.

MFC after:	2 weeks
2006-04-28 11:52:45 +00:00
Andrew Thompson 25bcdd36e4 - use ath(4) in the wireless examples rather than the aging wi(4)
- make the packet filtering its own section and clarify a few points
 - note that the interfaces need to be upped [1]

PR:	docs/94545 [1]
2006-04-28 11:48:53 +00:00
Pawel Jakub Dawidek a063667622 Be sure to not destroy device twice. This is not possible in theory, but
with this change there is even no theoretical race.

MFC after:	2 weeks
2006-04-28 11:47:28 +00:00
Christian Brueffer 0f0449ed87 Autogenerate hardware notes for rr232x(4). 2006-04-28 10:45:28 +00:00
Robert Watson dba9e9ccbf Add a basic man page for the sysctl(9) macro interfaces. Previously man
pages existed only for the dynamic sysctl interfaces.  There's probably
more complete and accurate content, better advice, etc, that could be added
here.

Per scottl's suggest, add a small piece of moralizing text regarding the
fact that sysctl names quickly get embedded in system configuration files,
libraries, third party applications, and even books, so renaming and
removing names after they've been published is a tricky issue.

MFC after:	1 month
2006-04-28 10:45:27 +00:00
Scott Long 4905491fe3 Add a section about locking protocol for busdma. 2006-04-28 08:36:49 +00:00
Christian Brueffer 1f013205ec Oops, forgot to remove the old entry in the last revision. 2006-04-28 06:23:42 +00:00
Christian Brueffer dff1951e61 Install rr232x.4 only on i386 and amd64. 2006-04-28 06:13:19 +00:00
Mike Silbersack 981b2dea6b Tweak the DMA limit from rev 1.33, it was off by one byte.
Submitted by:	scottl
2006-04-28 05:38:12 +00:00
Mike Silbersack cff1362221 Switch all bus_dmamap_sync calls that used PREREAD to PREWRITE and all
POSTWRITE to POSTREAD.

No guarantee that all busdma is usage is perfect, but this change (in
addition to scott's last two commits) makes if_bfe work with > 1GB of
memory in my laptop.
2006-04-28 05:27:27 +00:00
Scott Long 27aafcda76 Enable the rr232x driver for amd64. 2006-04-28 05:23:10 +00:00
Scott Long cbd6fedbf2 Fix a typo. 2006-04-28 04:39:50 +00:00
Scott Long 2de39eb9e2 Add a manpage for the rr232x driver. 2006-04-28 04:26:00 +00:00
Scott Long 2d6bdb90c1 Fix a typo that slipped in right before commit. 2006-04-28 04:00:50 +00:00
Maxim Sobolev ab39543373 Unbreak pc98. Sorry... 2006-04-28 03:38:23 +00:00
Maxim Sobolev 8dcfaef0a0 Add some incomplete support for Marvell Yukon EC controllers based on
OpenBSD changes. With these changes, PHY part of the driver becomes
functional (it senses media changes and negotiates speed just fine),
previously it just hang with no PHY message, but no data goes through
interface (error message is "can not stop transfer of Tx/Rx descriptor).

Hopefully somebody with more clue/free time will be able to pick up
after me.
2006-04-28 03:17:37 +00:00
Jeff Roberson 6ca9fcc586 - Add a BO_NEEDSGIANT flag to the bufobj. This flag forces all child
buffers to go on the buf daemon's DIRTYGIANT queue.
 - Set BO_NEEDSGIANT on ffs's devvp since the ffs_copyonwrite handler
   runs in the context of the buf daemon and may require Giant.
2006-04-28 01:05:31 +00:00
Jeff Roberson 4b5b86816c - Consistently track ni_dvp and ni_vp with dvfslocked and vfslocked rather
than trying to optimize it into a single lock.  This adds more calls to
   lock giant with non smpsafe filesystems but is the only way to reliably
   hold the correct lock.
 - Remove an invalid assert in the mountedhere case in lookup and fix the
   code to properly deal with the scenario.  We can actually have a lookup
   that returns dp == dvp with mountedhere set with certain unmount races.

Tested by:	kris
Reported by:	kris/mohans
2006-04-28 00:59:48 +00:00
Scott Long a6456c02ba The alignment parameter to busdma must be a power of two, while the if_bfe
driver was trying to use an arbitrary rx/tx ring size of the value.  Change
to using unrestricted values for alignment and boundary instead.
2006-04-27 23:03:00 +00:00
John Baldwin a421d57149 Sort includes. 2006-04-27 22:09:18 +00:00
John Baldwin eefcd2a1e6 A whitespace fix.
Submitted by:	bde
2006-04-27 22:02:27 +00:00
John Baldwin 60b0d00999 Drop locking comments. ddb functions should never use locking anyway and
no other ddb functions try to annotate what locking would otherwise be
appropriate in comments.

Prodded by:	bde
2006-04-27 21:59:43 +00:00
Max Laier c10b140011 MFp4: reworked iwi-driver
Changelog towards if_iwi.c 1.26 (some changes have been committed separately
in the mean time):

- add led support
- add firmware loading on demand
 - auto-restart firmware when it crashes
 - serialize operations sent to the firmware to reduce firmware crashes
- add power save operation support
 - remove incorrect specification of tx power control capability
- add radio on/off switch support

- improve net80211 state machine operation
 - recognize and handle beacon miss
 - handle authentication and association failures better
 - add shared key authentication
 - fix ibss mode (many changes)
 - fix wme (many changes)
- correct radiotap support (many changes)
- correct bus dma setup of s/g
- correct various locking issues
- fix monitor mode
- fix scanning (many changes)
 - recover from wedged scan requests
 - respect active channel list
- eliminate cases where interface was marked down on error
- don't treat parity errors as fatal
- reclaim mgt frames immediately from tx queue
- correct interrupt handling, ack early (from NetBSD)
- fix short/long preamble handling

Committed with RELENG_6 compat #if's, should compile in RELENG_6.  Requires
net/iwi-firmware-kmod to function.

Much work done by:	sam
Tested by:		many (freebsd-net), ume, luigi
MFC after:		4 weeks
2006-04-27 21:43:37 +00:00