Peter Avalos [Tue, 12 Dec 2006 18:44:17 +0000 (18:44 +0000)]
Merge from vendor branch FILE:
Update to file-4.19.
Peter Avalos [Tue, 12 Dec 2006 18:44:17 +0000 (18:44 +0000)]
Update to file-4.19.
Peter Avalos [Tue, 12 Dec 2006 18:44:17 +0000 (18:44 +0000)]
Update to file-4.19.
Peter Avalos [Tue, 12 Dec 2006 18:27:25 +0000 (18:27 +0000)]
We don't use magic2mime, so remove it.
Sepherosa Ziehau [Tue, 12 Dec 2006 15:48:09 +0000 (15:48 +0000)]
- Correct some debug messages format.
- In ieee80211_init_neighbor(), print neighbors' rate set.
Sepherosa Ziehau [Tue, 12 Dec 2006 11:14:27 +0000 (11:14 +0000)]
Exploring low speed busses during cold boot, so USB keyboard will work even
if the kernel is configured with "device atkbd" and "device atkbdc"
Reported-by: Petr Janda <elekktretterr@exemail.com.au>
Tested-by: Petr Janda <elekktretterr@exemail.com.au>
Peter Avalos [Tue, 12 Dec 2006 06:56:25 +0000 (06:56 +0000)]
Update with the latest newsletters from the ISO3166 Maintenance Agency:
http://www.iso.ch/iso/en/prods-services/iso3166ma/03updates-on-iso-3166/index.html
This has the nice side-effect of fixing tzsetup.
Sascha Wildner [Tue, 12 Dec 2006 01:47:23 +0000 (01:47 +0000)]
Remove unnecessary escape character.
Sascha Wildner [Tue, 12 Dec 2006 01:27:10 +0000 (01:27 +0000)]
Convert to mdoc.
Sascha Wildner [Tue, 12 Dec 2006 00:49:22 +0000 (00:49 +0000)]
Convert to mdoc.
Sascha Wildner [Tue, 12 Dec 2006 00:26:38 +0000 (00:26 +0000)]
Add documentation for the mcontrol system call.
Sascha Wildner [Tue, 12 Dec 2006 00:08:17 +0000 (00:08 +0000)]
Add markup and bump date for rev. 1.5.
Sascha Wildner [Mon, 11 Dec 2006 23:59:49 +0000 (23:59 +0000)]
Fix typos: mininum/minimun -> minimum
Matthew Dillon [Mon, 11 Dec 2006 20:55:25 +0000 (20:55 +0000)]
Document MADV_SETMAP and MAP_VPAGETABLE. These functions support virtualized
page tables for memory mapped regions from userland.
Matthew Dillon [Mon, 11 Dec 2006 20:54:22 +0000 (20:54 +0000)]
Use ${.CURDIR} to get the correct path to the root skeleton directory.
Thomas E. Spanjaard [Sun, 10 Dec 2006 23:39:43 +0000 (23:39 +0000)]
This time *really* fix the .PATHs in the kmod Makefiles. I promise.
Thomas E. Spanjaard [Sun, 10 Dec 2006 23:36:13 +0000 (23:36 +0000)]
Fix a deadlock in the request completion code when the timeout timed out.
The cause was not unlocking the done spinlock before calling ata_completed,
resulting in ata_completed waiting forever because it needs to acquire the
lock as well.
The solution introduces a new request flag, ATA_R_COMPLETED to signal
sleepers that a request has or has not been completed. In theory, we could
just check the return value of msleep(), but this is quite elegant, and
corecode convinced me ;).
Reported-by: YONETANI Tomokazu <qhwt+dfly@les.ath.cx>
Reviewed-by: Simon 'corecode' Schubert <corecode@fs.ei.tum.de>
Sepherosa Ziehau [Sun, 10 Dec 2006 05:21:40 +0000 (05:21 +0000)]
Don't mention recently nuked sysctl MIBs
Sepherosa Ziehau [Sun, 10 Dec 2006 05:15:59 +0000 (05:15 +0000)]
Mention required kernel devices for rtw(4) and acx(4)
Sepherosa Ziehau [Sun, 10 Dec 2006 05:10:41 +0000 (05:10 +0000)]
rtw(4) requires wlan_wep(4)
Sepherosa Ziehau [Sun, 10 Dec 2006 05:03:20 +0000 (05:03 +0000)]
- Add manpage for rum(4)
Obtained-from: OpenBSD
- Add manpage for ural(4)
Obatined-frim: FreeBSD
Reviewed-by: swildner@
Sepherosa Ziehau [Sun, 10 Dec 2006 04:59:38 +0000 (04:59 +0000)]
- Hook rum(4) and ural(4) into GENERIC and LINT
- Hook rum(4) and ural(4) into module building
- Enable wlan_ratectl_onoe in GENERIC. It is required by rum(4) and ural(4)
- Add a commented-out entry in GENERIC for wlan_ratectl_amrr
- Enable rtw(4) in GENERIC again
Sepherosa Ziehau [Sun, 10 Dec 2006 04:37:02 +0000 (04:37 +0000)]
Add missing header if USB_DEBUG is defined
Sepherosa Ziehau [Sun, 10 Dec 2006 03:24:25 +0000 (03:24 +0000)]
Add support for RT2501USB/RT2601USB devices.
Thank Niall O'Higgins <niallo@openbsd.org> and
Damien Bergamini <damien@openbsd.org> for writing this driver.
Obtained-from: OpenBSD
Sepherosa Ziehau [Sun, 10 Dec 2006 02:53:34 +0000 (02:53 +0000)]
Add support for RT2500USB devices.
Thank Damien Bergamini <damien@openbsd.org> for writing this driver.
Obtained-from: FreeBSD
Sepherosa Ziehau [Sun, 10 Dec 2006 02:16:26 +0000 (02:16 +0000)]
Update following manpage to reflect changes made to USB host controller part:
- usb.4
Obtained-from: FreeBSD
- ehci.4 ohci.4 uhci.4
Reviewed-by: swildner@
Sepherosa Ziehau [Sun, 10 Dec 2006 02:03:57 +0000 (02:03 +0000)]
Sync USB support (host controller part) with FreeBSD6.
Following changes on FreeBSD-CURRENT(by iedowse@freebsd.org) are merged:
ehci.c rev 1.52
ohci.c rev 1.167
uhci.c rev 1.172
usb.c rev 1.111
usbdi.h rev 1.61
"Use a different task queue for host controller and peripheral driver
tasks. Since the host controllers rely on tasks to process transfer
timeouts, if a synchronous transfer from a driver was invoked from
a task and timed out, it would never complete because the single
task thread was stuck performing the synchronous transfer so couldn't
process the timeout."
As of this commit, only following kernel APIs are changed:
- usbd_get_string_desc() takes one more argument which returns the actual
size of the string description.
- usb_add_task() takes one more argument. The extra arguemnt is used
to specify to which task queue the task should be added. There is
two task queues defined, one for peripheral driver (USB_TASKQ_DRIVER),
one for host controller (USB_TASKQ_HC).
ugen(4) is adapted according to the above kernel API changes.
Thank all of the folks for their work on the USB support.
Tested-by:
swildner@, vbd@, joerg@(1.6 backport), Max Herrgard <herrgard@gmail.com>
# Though VT6202 is supported by ehci(4), I still have problems with this
# chip, even with the updated ehci(4).
Sepherosa Ziehau [Sat, 9 Dec 2006 10:57:31 +0000 (10:57 +0000)]
regen
Sepherosa Ziehau [Sat, 9 Dec 2006 10:56:32 +0000 (10:56 +0000)]
- Add ids for RT2501USB/RT2601USB/RT2500USB
- Add ids for MGE UPS
Sepherosa Ziehau [Sat, 9 Dec 2006 08:10:04 +0000 (08:10 +0000)]
- Use ieee80211_probe_resp_alloc() to setup probe response template.
- Check the return value of ieee80211_probe_resp_alloc() and
ieee80211_beacon_alloc(). Since these two functions use MB_DONTWAIT
to allocate mbuf, it is quite possible they will return NULL.
- Turn on IEEE80211_FC0_VERSION_0 when setup null data and probe request
templates as what we do in netproto/802_11.
- Don't transmit probe responses injected by netproto/802_11 layer,
firmware will handle them for us.
- Move acx100's TIM ie template setup into common templates initialization
routine, so acx111 will get its TIM ie template properly set up.
This makes firmware add well formatted TIM ies to the end of the beacons
instead of junked ones.
Reported-by: Marcus Glocker <mglocker@openbsd.org>
- Obey DTIM period set in netproto/802_11, i.e. use ieee80211com.ic_dtim_period
- Reduce the length of Partial Virtual Bitmap in TIM template.
Sepherosa Ziehau [Sat, 9 Dec 2006 07:22:49 +0000 (07:22 +0000)]
- Factor out _ieee80211_probe_resp_alloc() from ieee80211_send_mgmt().
This function creates frame body of a Probe Response.
- Add ieee80211_probe_resp_alloc(), which utilizes
_ieee80211_probe_resp_alloc() to create a complete Probe Response
management frame (i.e. has MAC header).
Sascha Wildner [Sat, 9 Dec 2006 01:44:23 +0000 (01:44 +0000)]
Fix compilation warnings when compiling without DEVICE_POLLING.
Thomas E. Spanjaard [Fri, 8 Dec 2006 15:09:19 +0000 (15:09 +0000)]
Fix the paths in ata_if.m and the module Makefiles to reflect their
location in our tree, rather than my development tree at home.
Submitted-by: YONETANI Tomokazu <qwht+dfly@les.ath.cx>
Sepherosa Ziehau [Fri, 8 Dec 2006 14:25:07 +0000 (14:25 +0000)]
Fix a stack overflow in ifconfig(8).
The stack overflow happens, if "-" is passed as the argument to 'ssid' or
'wepkey' commands. The offender is ifieee80211.c:get_string()'s "-" special
handling:
...
len = p - buf;
/* The string "-" is treated as the empty string. */
if (!hexstr && len == 1 && buf[0] == '-')
len = 0;
if (len < *lenp)
memset(p, 0, *lenp - len);
...
If the string is "-", the 'p' will be 1 byte beyound 'buf' and 'len' is set to
0. 'len' must be less than '*lenp' here, so memset() will be called. But the
length, used to clear the buffer, is 1 byte larger the buffer pointed by 'p'
Thomas E. Spanjaard [Thu, 7 Dec 2006 13:33:04 +0000 (13:33 +0000)]
Expand the Intel Brand ID table to cover all known brand IDs as mentioned
in Intel document AP-485, released September 2006, document number
241618-31, page 42.
Thomas E. Spanjaard [Thu, 7 Dec 2006 12:47:24 +0000 (12:47 +0000)]
Revert to zero'ing the objects we pull out of our objcaches ourselves.
Having it done by objcache_get() incurs too much of a penalty on the hot
path of it, that it isn't warranted, especially considering the fact that
pulling zero'ed objects out of it isn't taking advantage of the objcache
model. However, there are arguments for using it, like growability in
interrupt context (zones can't).
Thomas E. Spanjaard [Wed, 6 Dec 2006 20:20:51 +0000 (20:20 +0000)]
Fix some of the C++/Java-style comments in ata-usb.c. Adjust the default
pipe abort to our interface.
These changes allow natausb to compile.
Thomas E. Spanjaard [Wed, 6 Dec 2006 20:14:47 +0000 (20:14 +0000)]
Add a function to retrieve the speed a USB device is running on.
Thomas E. Spanjaard [Wed, 6 Dec 2006 16:33:29 +0000 (16:33 +0000)]
Pending enlightenment, specify confstr(3) to conform to SUSv3 instead of
POSIX 1003.2.
Thomas E. Spanjaard [Wed, 6 Dec 2006 16:27:28 +0000 (16:27 +0000)]
Add a SUSv3 symbol to our local mdoc(7) file. A patch has been submitted to
upstream's doc-syms.
Approved-by: Sascha Wildner <saw@online.de>
Sepherosa Ziehau [Wed, 6 Dec 2006 13:47:29 +0000 (13:47 +0000)]
nfe_init() should be called with softc not ifnet
Thomas E. Spanjaard [Wed, 6 Dec 2006 11:58:57 +0000 (11:58 +0000)]
Fix a bug in our confstr(3) implementation, it did not conform to POSIX
1003.2. It returned -1 for errors where it should have returned 0.
Also, fix the only consumer of confstr(3) in our tree, getconf(1).
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue393>
Reviewed-by: Victor Balada Diaz <victor@bsdes.net>
Simon Schubert [Wed, 6 Dec 2006 11:50:06 +0000 (11:50 +0000)]
Correct a signedness bug which allowed members of the operator
group to read kernel memory.
Obtained-from: FreeBSD / FreeBSD-SA-06:25.kmem
Matthew Dillon [Tue, 5 Dec 2006 23:31:57 +0000 (23:31 +0000)]
Local variables that were improperly named 'errno' must be renamed so as
not to conflict with libc's errno, when building a virtual kernel.
Matthew Dillon [Tue, 5 Dec 2006 23:14:55 +0000 (23:14 +0000)]
For the moment conditionally remove the declaration of certain libc
functions when compiling with _KERNEL_VIRTUAL to avoid conflicts with
replicas in the kernel code. This allows the virtual kernel source to
include standard libc header files.
Define _KERNEL_VIRTUAL in machine/vkernel/conf/kern.mk.
Begin fleshing out the virtual kernel init sequence.
Thomas E. Spanjaard [Tue, 5 Dec 2006 21:32:21 +0000 (21:32 +0000)]
Import of the port of the new(er) FreeBSD atacontrol(8), as natacontrol(8).
It has not yet been hooked into the build, though it does build.
Thomas E. Spanjaard [Tue, 5 Dec 2006 19:40:43 +0000 (19:40 +0000)]
Our cam_sim_free() does not have a flag to signify it should free the devq.
We can probably get away with it like this.
Also, make sure opt_scsi.h is generated for individual kmod builds. The CAM
header files need it.
Thomas E. Spanjaard [Tue, 5 Dec 2006 19:30:14 +0000 (19:30 +0000)]
Add more kmods to the Makefile after testing.
Thomas E. Spanjaard [Tue, 5 Dec 2006 19:28:14 +0000 (19:28 +0000)]
Use IODATA as pcmcia vendor id for the IO-Data CBIDE2. Actually, it should
be -1, because it is really identified by CIS data. This requires (at least)
a sync of our pccarddevs with Free-/NetBSD, because this vendor id actually
belongs to another company.
Also call pccard_get_function_number() instead of pccard_get_function() with
error recording, as we don't have that, and this works.
Matthew Dillon [Tue, 5 Dec 2006 19:07:18 +0000 (19:07 +0000)]
Fix a NULL pointer dereference introduced in the previous commit.
Reported-by: Emiel Kollof <coolvibe@hackerheaven.org>
Submitted-by: "Thomas E. Spanjaard" <tgen@netphreax.net>, "Simon 'corecode' Schubert" <corecode@fs.ei.tum.de>
Matthew Dillon [Tue, 5 Dec 2006 17:53:09 +0000 (17:53 +0000)]
Generate forwarding header files to mimic /usr/include -> /usr/include/sys
linkages for the benefit of virtual kernel builds and virtual kernel driver
builds. Certain header files, such as <fcntl.h>, have to be generated this
way to allow virtual kernel and virtual kernel driver source files to do
standard #include's.
Matthew Dillon [Tue, 5 Dec 2006 17:06:15 +0000 (17:06 +0000)]
Add a generic interrupt controller type that the virtual kernel build can use.
Sepherosa Ziehau [Tue, 5 Dec 2006 11:02:19 +0000 (11:02 +0000)]
Order ${_MACHINE_FWD}/include/machine and ${_FWDHDRS} so that intermittent
error messages bugging me during 'make -j N buildkernel' go away.
Rolution-from: y0netan1@
Jeffrey Hsu [Tue, 5 Dec 2006 08:09:10 +0000 (08:09 +0000)]
Clean up code.
Matthew Dillon [Mon, 4 Dec 2006 18:04:05 +0000 (18:04 +0000)]
Misc vkernel work.
Matthew Dillon [Mon, 4 Dec 2006 18:03:28 +0000 (18:03 +0000)]
Make int bootverbose and int cold declarations machine independant.
Thomas E. Spanjaard [Mon, 4 Dec 2006 15:15:54 +0000 (15:15 +0000)]
Now that the objcache supports M_ZERO for objcache_get() in the case of
simple object caches, use it.
Thomas E. Spanjaard [Mon, 4 Dec 2006 14:40:37 +0000 (14:40 +0000)]
Initial import of the port of the new(er) FreeBSD ATA code.
Note this code has not yet been hooked into the build as such, unless you (unwisely) specify the devices in your kernel config according to sys/conf/files. The modules are also excluded from the module build due to not having a SUBDIR entry in sys/dev/disk/Makefile. The PCI code isn't yet operation pending a patch for sys/bus/pci/pci.c I will send to kernel@ shortly. It short-circuits lazy resource allocation for PCI ATA controllers in legacy mode (i.e. on legacy ISA ATA addresses, which are not configured in the PCI BARs).
The userland utility used to control nata ('natacontrol') and documentation will follow later. Also, be aware only nata, natapci, natadisk and natapicd have seen testing on real hardware so far. nataraid, natausb and natacam are probably not compilable yet, I need to clean those up.
Thomas E. Spanjaard [Sun, 3 Dec 2006 21:46:17 +0000 (21:46 +0000)]
Hello, world!
Sascha Wildner [Sun, 3 Dec 2006 21:15:27 +0000 (21:15 +0000)]
Quick-fix some mdoc errors.
I'll do a more thorough run over it within the next few days.
Sascha Wildner [Sun, 3 Dec 2006 21:04:23 +0000 (21:04 +0000)]
Move the committer manpage (outlining the rules for committers) from man8
to man7.
Matthew Dillon [Sun, 3 Dec 2006 20:28:07 +0000 (20:28 +0000)]
Add a manual page outlining the rules for committers.
Matthew Dillon [Sun, 3 Dec 2006 04:52:25 +0000 (04:52 +0000)]
Check an additional special pattern to detect dangerously dedicated mode.
Submitted-by: "Thomas E. Spanjaard" <tgen@netphreax.net>
Jeffrey Hsu [Sun, 3 Dec 2006 03:16:24 +0000 (03:16 +0000)]
Apply FreeBSD rev 1.17:
date: 2004-09-25 19:01:27 -0700; author: sam; state: Exp; lines: +0 -5;
Correct handling of SADB_UPDATE and SADB_ADD requests. key_align may split
the mbuf due to use of m_pulldown. Discarding the result because of this
does not make sense as no subsequent code depends on the entire msg being
linearized (only the individual pieces). It's likely something else is wrong
here but for now this appears to get things back to a working state.
Submitted by: Roselyn Lee
Jeffrey Hsu [Sun, 3 Dec 2006 02:52:44 +0000 (02:52 +0000)]
Apply FreeBSD rev 1.6:
date: 2003-06-29 16:58:38 -0700; author: sam; state: Exp; lines: +13 -2;
plug xform memory leaks:
o add missing zeroize op when deleting an SA
o don't re-initialize an xform for an SA that already has one
Submitted by: Doug Ambrisko <ambrisko@verniernetworks.com>
Jeffrey Hsu [Sun, 3 Dec 2006 02:47:53 +0000 (02:47 +0000)]
Apply FreeBSD rev 1.16:
date: 2004-06-22 10:17:44 -0700; author: bms; state: Exp; lines: +2 -2;
Fix a paste-o in key_cmpspidx_withmask().
PR: misc/67013
Submitted by: Zhenmin <zli4@cs.uiuc.edu>
Jeffrey Hsu [Sun, 3 Dec 2006 02:45:42 +0000 (02:45 +0000)]
Apply FreeBSD rev 1.15:
date: 2004-05-02 22:15:53 -0700; author: sam; state: Exp; lines: +2 -2;
use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy
(was using src instead of dst)
Submitted by: Bjoern A. Zeeb
Obtained from: KAME
Jeffrey Hsu [Sun, 3 Dec 2006 02:29:02 +0000 (02:29 +0000)]
Apply FreeBSD rev 1.9:
date: 2004-02-05 15:19:17 -0800; author: sam; state: Exp; lines: +7 -1;
must convert protocol to sa type when preparing a DELETE message
Submitted by: Roselyn Lee <rosel@verniernetworks.com>
Matthew Dillon [Sat, 2 Dec 2006 23:13:46 +0000 (23:13 +0000)]
Replace the global VM page hash table with a per-VM-object RB tree. No
performance degradation was observed (probably due to locality of reference
in the RB tree improving cache characteristics for searches). This also
significantly reduces the kernel memory footprint (no global VM page hash
table) and reduces the size of the vm_page structure. Future MP work
should benefit from this change.
Prior work in the VM tree guarenteed that VM pages only existed in the hash
table while also associated with a VM object, this commit uses that guarentee
to make the VM page lookup structures VM-object-centric.
Matthew Dillon [Sat, 2 Dec 2006 22:17:22 +0000 (22:17 +0000)]
Allow M_ZERO to be specified when using simple object cache setups which
do not have a ctor or dtor function. Panic the system if M_ZERO is used
with more complex object setups.
Suggested-by: Thomas E. Spanjaard
Sepherosa Ziehau [Fri, 1 Dec 2006 07:52:30 +0000 (07:52 +0000)]
In rtw_pci_shutdown(), hold serializer before calling rtw_stop()
Sepherosa Ziehau [Fri, 1 Dec 2006 07:37:18 +0000 (07:37 +0000)]
- Enable PBCC based rate 22Mbit/s
- Finish incomplete acx_watchdog()
- Add acx_media_change(), which re-initialize NIC and returns 0 if
ieee80211_media_change() returns ENETRESET. Use acx_media_change()
as change_callback for ifmedia instead of ieee80211_media_change().
This unbreaks 'ifconfig acx0 list sta' in HOSTAP operation mode.
- Nuke no longer needed debug messages
Sepherosa Ziehau [Fri, 1 Dec 2006 04:42:53 +0000 (04:42 +0000)]
Add PBCC modulation support in netproto/802_11:
- Since ieee80211com.ic_caps is already crowded, add ieee80211com.ic_caps_ext
to extend it. Currently only IEEE80211_CEXT_PBCC, which should be set by
the drivers capable of PBCC modulation, is defined for this field.
- Adapt SIOCG80211:IEEE80211_IOC_DRIVER_CAPS ioctl handling to expose the
content of ieee80211com.ic_caps_ext. Old semantic of this ioctl is not
changed, given ieee80211req is zeroed out before the ioctl call.
- Add debug information about peer node's rate set (after negociation)
- Set PBCC bit in Capability ie base on the value of
(ieee80211com.ic_caps_ext & IEEE80211_CEXT_PBCC). This is only done for 2GHz
channels.
- Teach ifconfig(8) to print ieee80211.ic_caps_ext upon "list caps" command.
Sepherosa Ziehau [Thu, 30 Nov 2006 01:38:54 +0000 (01:38 +0000)]
Properly set ifmedia_entry.ifm_data when nge(4) tries to camouflage an
isolation media entry, and restore it once media isolation is done.
Reported-by: Steve O'Hara-Smith <steve@sohara.org>
Tested-by: Steve O'Hara-Smith <steve@sohara.org>
Reviewed-by: dillon@
Sepherosa Ziehau [Wed, 29 Nov 2006 15:12:10 +0000 (15:12 +0000)]
Don't use unprocessed (e.g. negociated) peer node's rate set to fill
Supported rates ie of Association Request, instead, use own supported
rate set (i.e. ieee80211com.ic_sup_rates).
In the orginal way, following senario is broken:
- STA is 11b
- AP is 11g
STA will send out sorted AP's rate set in Association Request. Obviously
STA will not be able to receive at any data rates > 11Mbit/s. So this
breaks IEEE Std 802.11b subclause 10.3.3.1.2:
"... The STA must be able to receive at each of the data rates listed
in the set. ...".
Sepherosa Ziehau [Tue, 28 Nov 2006 15:17:36 +0000 (15:17 +0000)]
According to IEEE Std 802.11b-1999 subclause 7.3.1.4:
"... STAs shall set the Short Preamble subfield to 1 in transmitted
Association Request and Reassociation Request MMPDUs when the MIB
attribute dot11ShortPreambleOptionImplemented is true. ..."
For us, 'dot11ShortPreambleOptionImplemented' is
(ieee80211com.ic_caps & IEEE80211_C_SHPREAMBLE)
Sepherosa Ziehau [Tue, 28 Nov 2006 14:44:03 +0000 (14:44 +0000)]
M_NOWAIT -> MB_DONTWAIT
Sascha Wildner [Mon, 27 Nov 2006 14:22:26 +0000 (14:22 +0000)]
Sync zoneinfo database with tzdata2006p from elsie.
australasia: 8.3 -> 8.4
zone.tab: 8.5 -> 8.6
From Paul Eggert's comments:
Changes that affect near-future time stamps:
* Western Australia starts DST on December 3. (Thanks to
Jesper Norgaard Welen for the initial warning, and to Christopher Hunt
for letting us know it was official.)
This patch migrates the WA DST idiosyncracies into Rule lines,
where they probably belonged anyway. I realize the official
legislation specifies dates rather than "Mar lastSun", but we
commonly reverse-engineer the underlying rules in other situations
and might as well do so consistently here.
Changes affecting location data only:
* The coordinates for Jersey and Podgorica were off.
(Thanks to Andy McDonald for noting this.)
Sepherosa Ziehau [Mon, 27 Nov 2006 13:56:30 +0000 (13:56 +0000)]
Wrong #undef
Sepherosa Ziehau [Mon, 27 Nov 2006 13:05:15 +0000 (13:05 +0000)]
The Problem [1]:
In em_process_receive_interrupts(), if em_get_buf() fails, which
may be a common case since it calls m_getcl() with MB_DONTWAIT,
then the rest of the RX ring are _not_ processed at all. The RX
ring may contain many, or even worse is full of, ready RX descriptors.
RDT will not be updated too, in this case. So hardware will take
this situation as there is _no_ free space in RX ring, and this
probably leads to following catastrophe:
too many RX engine overruns -> RX engine stalls -> interrupts stall [2]
The Fix:
If em_get_buf() fails then
- The current RX descriptor still will be reaped, but the frame,
which belongs to the current RX descriptor, is not delivered to
the upper layer.
- RX ring processing keeps going as if there is no failure happens.
Thank dillon@ to help diagnose the problem and give various hints [3]
Thank Mike Tancsa <mike@sentex.net> to provide enough information
to locate the problem.
Reviewed-by: dillon@
Reported-by: Mike Tancsa <mike@sentex.net>
Tested-by: Mike Tancsa <mike@sentex.net> (82571EB copper dual port)
me (82540EM)
#
# [1] This problem unveiled itself when Mike tried to bench packet
# forwarding performance. The information he had provided that
# is critical to locate the problem is:
# 1) Both polling(4) and normal mode (interrupt based) do not work.
# This means that interrupt processing possibly not the root of
# the problem (pointed out by dillon@)
# 2) One line in the output of sysctl hw.em0.debug_info=1:
# ...
# em0: Std mbuf cluster failed = 2
# ...
# This statistics is the value of adapter->mbuf_cluster_failed,
# which is updated only when m_getcl() in em_get_buf() fails
#
# [2] This is just a guess from the output of 'vmstat -i' provided by Mike
# Before his benching:
# interrupt total rate
# ...
# em0 28 0
# ...
# After his benching (i.e. em0 choked):
# interrupt total rate
# ...
# em0 62 0
# ...
# See, only 34 interrupts came o_O
#
# [3] There is still prossibility that RX engine gets confused by
# the driver. It is described by dillon@:
# (I didn't find the URL in the archive, so it is pasted here)
# "...
# Clearly when that case occurs ALL the receive frames will be full.
# Lets look at a degenerate case:
#
# [0 ...................... N-1]
# * RDH set to 0
# * RDT set to N-1
# * N frames come in RDH is set to N-1 (??)
# * We process N frames
# * The frame at RING[N-1] is cleaned up
# * i = N
# * We set RDT to i-1 == N-1. It's the same value it was set to before
# we processed all N frames. The receive engine will think that the
# ring is still full when it is empty.
#
# I Think what we need to do here is set RDT to N-2 (mod N of course) in
# the case where we have processed ALL N frames. I'll bet the firmware
# is getting confused in the overrun case because we are setting RDT to
# the same value it was set at before.
# ..."
#
Peter Avalos [Sun, 26 Nov 2006 19:12:25 +0000 (19:12 +0000)]
A u_short cannot be greater than 0xffff, so remove those checks.
Sepherosa Ziehau [Sun, 26 Nov 2006 07:30:06 +0000 (07:30 +0000)]
Use LIST_FOREACH()
Submitted-by: Gary Stanley <gary@velocity-servers.net>
Obtained-from: OpenBSD
Sepherosa Ziehau [Sun, 26 Nov 2006 02:12:34 +0000 (02:12 +0000)]
- Factor out front part of ieee80211_set_shortpreamble() into
ieee80211_update_shpreamble(). So that the former only turns
on/off short preamble and informs driver about the changes,
while the latter makes the decision whether short preamble
should be turned on or off.
- Replace rest of the places where short preamble is turned on/off
manually with ieee80211_set_shortpreamble()
- For associated STAs, update short preamble state only when related
fields of ERP information or capability information in received
beacons are changed
Peter Avalos [Sat, 25 Nov 2006 17:23:21 +0000 (17:23 +0000)]
Add an error if the patch file doesn't actually exist.
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue343>
Submitted-by: y0netan1
Peter Avalos [Sat, 25 Nov 2006 15:46:03 +0000 (15:46 +0000)]
Add the directory created by the comma syntax to CLEANDIRS.
Dragonfly-bug: <http://bugs.dragonflybsd.org/issue384>
Submitted-by: corecode
Sepherosa Ziehau [Sat, 25 Nov 2006 13:11:30 +0000 (13:11 +0000)]
Correct short preamble support.
Problems:
- The assumption that "Short Preamble" field in "Capability information"
will not be changed, is not correct at least for a *BSD based HostAP
- "Barker Preamble mode" in "EPR information" is ignored
Fixes:
- Add a new function ieee80211_set_shortpreamble() (named after its relative
ieee80211_set_shortslot()):
1) For 11a mode, always turn on short preamble, though it is not used under
11a mode
2) For 11g mode (ERP), turn on short preamble iff all of the following
conditions are met:
o "Short Preamble" field in "Capability information" is 1
o "Barker Preamble mode" in "ERP information" is 0 [*]
o ieee80211.ic_caps has IEEE80211_C_PREAMBLE set
3) For the reset of the mode (11b?), turn on short preamble iff all of the
following conditions are met:
o "Short Preamble" field in "Capability information" is 1
o ieee80211.ic_caps has IEEE80211_C_PREAMBLE set
- Add ieee80211com.ic_upadate_preamble. This field could be set by drivers
which want to be informed about the preamble changes
#
# [*]
# IEEE Std 802.11g-2003 subclause 7.3.2.13 page 10:
# ...
# ...
# ERP APs and ERP STAs shall use long preambles when transmitting Clause 15,
# Clause 18, and Clause 19 frames after transmission or reception of an ERP
# Information Element with a Barker_Preamble_Mode value of 1 in an MMPDU to
# or from the BSS that the ERP AP or ERP STA has joined or started, regardless
# of the value of the short preamble capability bit from the same received or
# transmitted MMPDU that contained the ERP Information Element ...
# ...
# ...
#
Sepherosa Ziehau [Sat, 25 Nov 2006 08:56:29 +0000 (08:56 +0000)]
Move conditional preprocessing out from the IEEE80211_DPRINTF macro
invocation. Per C99 6.10.3 paragraph 11 preprocessing directives
appearing as macro arguments yield undefined behavior.
Obtained-from: FreeBSD (dss@freebsd.org)
Sepherosa Ziehau [Sat, 25 Nov 2006 07:37:38 +0000 (07:37 +0000)]
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.
Obtained-from: FreeBSD (sam@freebsd.org)
Sepherosa Ziehau [Sat, 25 Nov 2006 07:29:54 +0000 (07:29 +0000)]
Add per-sta ucast/mcast stats
Obtained-from: FreeBSD (sam@freebsd.org)
Sepherosa Ziehau [Sat, 25 Nov 2006 07:17:06 +0000 (07:17 +0000)]
Nuke macros that are moved to ieee80211.h
Sepherosa Ziehau [Sat, 25 Nov 2006 07:03:45 +0000 (07:03 +0000)]
- Add some missing stats to the global ieee80211_stats
- Move accounting work for data frame rx into ieee80211_deliver_data(),
so L2 update frames are counted
- Add per-sta stats for rx ucast/mcast frames
Strip TABs on empty lines, while I'm here.
Obtained-from: FreeBSD (sam@freebsd.org)
# NOTE: mbuf.m_pkthdr.rcvif still need to be set before calling
# ieee80211_deliver_data()
Sepherosa Ziehau [Sat, 25 Nov 2006 05:54:22 +0000 (05:54 +0000)]
- Add IEEE80211_IOC_BMISSTHRESHOLD for managing the beacon miss threshold
- Teach ifconfig(8) to get/set beacon miss threshold
Obtained-from: FreeBSD (sam@freebsd.org)
# It is submitted to FreeBSD by Henrik Brix Andersen <henrik@brixandersen.dk>
Sepherosa Ziehau [Sat, 25 Nov 2006 05:04:23 +0000 (05:04 +0000)]
- Add noise floor in ieee80211_nodestats; return it as zero until we can
update the api's so the driver can provide noise floor data
- Add a bandaid so IEEE80211_IOC_STA_STATS works for sta mode; when all
nodes are in the station table this will no longer be needed
- Fix braino in IEEE80211_IOC_STA_INFO implementation; was supposed to
take a MAC address and return info for that sta or all stations if
ff:ff:ff:ff:ff was supplied -- but somehow this didn't get implemented;
implement the intended semantics
Obtained-from: FreeBSD (sam@freebsd.org)
# NOTE: The RSSI statistics in ieee80211_nodestats is still unsigned
Sepherosa Ziehau [Thu, 23 Nov 2006 13:43:05 +0000 (13:43 +0000)]
If power save mode changes, call ieee80211com.ic_reset instead of forcefully
changing (by returning ENETRESET) 802.11 state machine, so that driver has
the chance to intercept this change and possibly avoid changing 802.11 state
machine.
Obtained-from: FreeBSD (sam@freebsd.org)
Sepherosa Ziehau [Thu, 23 Nov 2006 12:57:56 +0000 (12:57 +0000)]
Implement set(IEEE80211_IOC_STA_STATS) for hostapd; for
now just make it clear station statistics (could read
a stat block and assign to caller can do partial changes)
Obtained-from: FreeBSD (sam@freebsd.org)
Sepherosa Ziehau [Tue, 21 Nov 2006 12:07:21 +0000 (12:07 +0000)]
- Tighten invariant on loops used to parse ie's; this ensures we never
touch data outside the packet (previously we might touch 1 byte); it
also has the happy side effect of working around broken orinoco/agere
firmware that sends malformed association response frames
- Correct ie length check; need to include fixed part of ie
Obtained-from: FreeBSD (sam@freebsd.org)
Matthew Dillon [Mon, 20 Nov 2006 22:19:54 +0000 (22:19 +0000)]
Use spinlocks instead of tokens to interlock the objcache depot.
The cpu-localized critical path is still lockless.
Matthew Dillon [Mon, 20 Nov 2006 20:53:06 +0000 (20:53 +0000)]
Fictitious VM pages must remain structurally stable after free.
Sascha Wildner [Mon, 20 Nov 2006 19:57:03 +0000 (19:57 +0000)]
Add minimal umodem(4) manual page.
Taken-from: FreeBSD
Peter Avalos [Mon, 20 Nov 2006 17:25:35 +0000 (17:25 +0000)]
Update for OpenSSH-4.5p1, and add some upgrade notes.