ƒ¸4227340 140 471 223 451 912 532 225 879 1291 120 134 196 733 300 874 212 143 1079 445 180 432 467 748 273 244 4743 686 205 171 323 240 371 183 187 138 361 367 455 207 304 544 442 341 195 174 327 189 397 157 278 146 136 281 177 284 252 615 154 362 699 231 992 154 176 635 328 220 356 119 156 385 508 671 309 263 236 132 132 194 139 214 251 158 228 307 171 318 199 600 794 555 2039 126 179 374 123 197 447 765 811 444 1241 307 210 211 118 204 189 385 234 225 262 276 1227 159 439 146 121 230 329 347 556 456 174 352 1350 142 141 302 234 99 388 155 492 131 398 320 278 245 324 106 K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T14:46:03.757631Z K 7 svn:log V 375 Some cosmetic fixes to ath_rate_sample. * Use 64 bit integer types for the sample rate statistics. When TX'ing 11n aggregates, a 32 bit counter will overflow in a few hours due to the high packet throughput. * Create a default label of "" rather than defaulting to "Mb" - that way if a rate hasn't yet been selected, it won't say "-1 Mb". Sponsored by: Hobnob, Inc. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-11-08T14:47:28.526636Z K 7 svn:log V 130 Claim that _POSIX_ADVISORY_INFO is fully supported since posix_fadvise() was added. Submitted by: avilla Discussed with: wollman END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-08T15:17:54.745087Z K 7 svn:log V 355 The in-kernel CTF parser caches the result of its first attempt to parse CTF data from a module. On subsequent attempts to retrieve CTF data for a module, return an error if there no CTF data. This fixes a panic if you try to enable fbt probes on a module with CTF data twice. Submitted by: Paul Ambrose (ambrosehua AT gmail DOT com) MFC after: 3 days END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-11-08T15:38:21.720542Z K 7 svn:log V 820 Make kobj_methods constant. These structures hold no information that is modified during runtime. By marking this constant, we see approximately 600 symbols become read-only (amd64 GENERIC). While there, also mark the kobj_method structures generated by makeobjops.awk static. They are only referenced by the kobjop_desc structures within the same file. Before: $ ls -l kernel -rwxr-xr-x 1 ed wheel 15937309 Nov 8 16:29 kernel* $ size kernel text data bss dec hex filename 12260854 1358468 2848832 16468154 fb48ba kernel $ nm kernel | fgrep -c ' r ' 8240 After: $ ls -l kernel -rwxr-xr-x 1 ed wheel 15922469 Nov 8 16:25 kernel* $ size kernel text data bss dec hex filename 12302869 1302660 2848704 16454233 fb1259 kernel $ nm kernel | fgrep -c ' r ' 8838 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T17:08:12.501441Z K 7 svn:log V 436 Migrate the STAILQ lists to TAILQs. A bunch of the 11n TX aggregation logic wants to traverse lists of buffers in various ways. In order to provide O(1) behaviour in this instance, use TAILQs. This does blow out the memory footprint and CPU cycles slightly for some of these operations. I may convert some of these back to STAILQs once the rest of the software transmit queue handling has been stabilised. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2011-11-08T17:23:43.895641Z K 7 svn:log V 129 Add IPv6 support to netblast/netsend/netreceive PR: bin/161368 Submitted by: Olivier Cochard-Labbe END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T18:10:04.663103Z K 7 svn:log V 783 Merge in some fixes from the if_ath_tx branch. * Close down some of the kickpcu races, where the interrupt handler can and will run concurrently with the taskqueue. * Close down the TXQ active/completed race between the interrupt handler and the concurrently running tx completion taskqueue function. * Add some tx and rx interrupt count tracking, for debugging. * Fix the kickpcu logic in ath_rx_proc() to not simply drain and restart the TX queue - instead, assume the hardware isn't (too) confused and just restart RX DMA. This may break on previous chipsets, so if it does I'll add a HAL flag and conditionally handle this (ie, for broken chipsets, I'll just restore the "stop PCU / flush things / restart PCU" logic.) * Misc stuff Sponsored by: Hobnob, Inc. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-08T18:23:02.544116Z K 7 svn:log V 1193 Retire 'options TI_PRIVATE_JUMBOS' and replace local jumbo allocator with UMA backed jumbo allocator by default. Previously ti(4) used sf_buf(9) interface for jumbo buffers but it was broken at this moment such that enabling jumbo frame caused instant panic. Due to the nature of sf_buf(9) it heavily relies on VM changes but it seems ti(4) was not received much blessing from VM gurus. I don't understand VM magic and implications used in driver either. Switching to UMA backed jumbo allocator like other network drivers will make jumbo frame work on ti(4). While I'm here, fully allocate all RX buffers. This means ti(4) now uses 512 RX buffer and 1024 mini RX buffers. To use sf_buf(9) interface for jumbo buffers, introduce a new 'options TI_SF_BUF_JUMBO'. If it is proven that sf_buf(9) is better for jumbo buffers, interesting developers can fix the issue in future. ti(4) still needs more bus_dma(9) cleanups and should use separate DMA tag/map for each ring(standard, jumbo, mini, command, event etc) but it should work on all platforms except PAE. Special thanks to Jay[1] who provided complete remote debugging access. Tested by: Jay Borkenhagen braeburn dot org > [1] END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-08T18:35:11.763716Z K 7 svn:log V 24 ti(4) supports altq(4). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-08T18:36:59.914178Z K 7 svn:log V 38 Document TI_SF_BUF_JUMBO and Xr altq. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T18:37:52.554981Z K 7 svn:log V 100 Conditionally compile the PCI latency workaround; I think it's only required for some earlier NICs. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T18:45:15.446404Z K 7 svn:log V 637 Preparation for correct 802.11n tx/rx handling. * Change ath_rx_proc() to ath_rx_tasklet(); make that the taskqueue function. This way (eventually) ath_rx_proc() can be called from elsewhere in the packet reset/processing queue so frames aren't just "flushed" during interface resets/reconfigure. This breaks 802.11n RX aggregation tracking. * Extend ath_tx_proc() to take a 'resched' flag, which marks whether to reschedule further RX PCU reads or not. * Change ath_tx_processq() to take a "dosched" flag, which will eventually be used to indicate whether to reschedule the software TX scheduler. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T18:48:26.941761Z K 7 svn:log V 204 Break out the node cleanup and node free path, in preparation for doing software TX queue management. The software queued TX frames will be freed by the new cleanup function. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T18:56:52.360317Z K 7 svn:log V 778 In preparation for supporting 11n TX/RX properly, allow for TX queue draining and interface resets to be marked as ATH_RESET_DEFAULT, ATH_RESET_FULL, ATH_RESET_NOLOSS. Currently a reset is still a reset - ie, all tx/rx frames in the hardware queues are purged. This means that those frames will be lost to the 11n TX and RX aggregation state tracking, breaking AMPDU sessions. The (eventual) new semantics: * ATH_RESET_DEFAULT: full reset, this is the default for reset situations which I haven't yet figured out what they should be. * ATH_RESET_FULL: A full reset - for things such as channel changes. * ATH_RESET_NOLOSS: Don't flush TX/RX queues - handle pending RX frames and leave TX frames where they are; restart TX DMA from where it was. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T19:02:59.448453Z K 7 svn:log V 116 Add KTR tracepoints to the ath driver, in order to debug TX, RX and interrupt handling. Sponsored by: Hobnob, Inc. END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-11-08T19:14:15.886668Z K 7 svn:log V 47 Bumb date after r227317. Reminded by: pluknet END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T19:18:34.346417Z K 7 svn:log V 983 Some more various fixes, etc from my 11n branch. * When doing software TX queue handling and flush, it's possible that the deletion of a VAP (eg a STA shutdown) will queue a "STA Disassociate" frame whilst the interface is being deleted. The VAP is then deleted, and the frame ends up being queued to a node that is freed before it can be TX'ed. Things go awry at this point. There's no way at the present to avoid freeing the underlying node when the vap is being deleted. It's too late in the game. I suspect the real fix is to make sure the frame is software queued with no completion information somehow, so it doesn't link back to a node whose underlying VAP has been freed. For now, we'll just have to do this. * Add some comments showing what's going on. * Move an instance of the ATH_LOCK() around to protect the interrupt set. I'll worry about changing that to a PCU lock later on once the 11n code is in the tree. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T19:25:52.571643Z K 7 svn:log V 349 Add a 'vap' to ath_keyset(). Add some code (which is currently disabled) which modifies the group multicast key cache behaviour. I haven't yet figured out what the exact/correct behaviour is so I'm leaving it disabled. It's worth investigating and "correcting", especially for future work with mesh/ibss and encryption. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T21:06:36.347014Z K 7 svn:log V 85 Break out the TX DMA stop code into a separate function. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T21:13:05.638989Z K 7 svn:log V 336 Change ath_buf allocation to: * Immediately return NULL if a buffer isn't available; * Track the "buffers not available" count; * Clear some fields used for tx aggregation; * Add ath_buf_clone() which clones the majority of buffer state. This is needed when retransmission of a "busy" buffer is required. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T21:25:36.182195Z K 7 svn:log V 371 Change the descriptor logic to use bf_lastds to point to the last descriptor, rather than using the maths involving bf_desc[bf_nseg - 1]. When doing TX aggregation, the status will be updated in the -final- descriptor of the -final- subframe in an aggregate. Thus bf_lastds may point to the last descriptor in a completely different ath_buf. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T21:49:33.895257Z K 7 svn:log V 652 Refactor out the TX buffer management and completion code in preparation for TX aggregation. * Add in logic which calls ath_buf bf->bf_comp if it's set. This allows for AMPDU (and RIFS, and FF, if someone desires) code to handle completion - which includes freeing subframes, retransmitting subframes, etc. * Break out the buffer free, buffer busy/unbusy default completion handler code into separate functions. This allows bf_comp methods to free and unbusy each subframe ath_buf as required. * Break out the statistics update code into a separate function, just to clean up the TX completion path a little. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T21:55:40.368046Z K 7 svn:log V 177 Make sure TXEOL is set on default queues. Otherwise we don't get an interrupt on the completion of a TX queue and this can cause TX hangs / timeout. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T22:01:03.486014Z K 7 svn:log V 148 Add support to the TX descriptor printing code to follow ath_buf chains. This allows for debugging of aggregate frames. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T22:43:13.578147Z K 7 svn:log V 4646 Introduce TX aggregation and software TX queue management for Atheros AR5416 and later wireless devices. This is a very large commit - the complete history can be found in the user/adrian/if_ath_tx branch. Legacy (ie, pre-AR5416) devices also use the per-software TXQ support and (in theory) can support non-aggregation ADDBA sessions. However, the net80211 stack doesn't currently support this. In summary: TX path: * queued frames normally go onto a per-TID, per-node queue * some special frames (eg ADDBA control frames) are thrown directly onto the relevant hardware queue so they can go out before any software queued frames are queued. * Add methods to create, suspend, resume and tear down an aggregation session. * Add in software retransmission of both normal and aggregate frames. * Add in completion handling of aggregate frames, including parsing the block ack bitmap provided by the hardware. * Write an aggregation function which can assemble frames into an aggregate based on the selected rate control and channel configuration. * The per-TID queues are locked based on their target hardware TX queue. This matches what ath9k/atheros does, and thus simplified porting over some of the aggregation logic. * When doing TX aggregation, stick the sequence number allocation in the TX path rather than net80211 TX path, and protect it by the TXQ lock. Rate control: * Delay rate control selection until the frame is about to be queued to the hardware, so retried frames can have their rate control choices changed. Frames with a static rate control selection have that applied before each TX, just to simplify the TX path (ie, not have "static" and "dynamic" rate control special cased.) * Teach ath_rate_sample about aggregates - both completion and errors. * Add an EWMA for tracking what the current "good" MCS rate is based on failure rates. Misc: * Introduce a bunch of dirty hacks and workarounds so TID mapping and net80211 frame inspection can be kept out of the net80211 layer. Because of the way this code works (and it's from Atheros and Linux ath9k), there is a consistent, 1:1 mapping between TID and AC. So we need to ensure that frames going to a specific TID will _always_ end up on the right AC, and vice versa, or the completion/locking will simply get very confused. I plan on addressing this mess in the future. Known issues: * There is no BAR frame transmission just yet. A whole lot of tidying up needs to occur before BAR frame TX can occur in the "correct" place - ie, once the TID TX queue has been drained. * Interface reset/purge/etc results in frames in the TX and RX queues being removed. This creates holes in the sequence numbers being assigned and the TX/RX AMPDU code (on either side) just hangs. * There's no filtered frame support at the present moment, so stations going into power saving mode will simply have a number of frames dropped - likely resulting in a traffic "hang". * Raw frame TX is going to just not function with 11n aggregation. Likely this needs to be modified to always override the sequence number if the frame is going into an aggregation session. However, general raw frame injection currently doesn't work in general in net80211, so let's just ignore this for now until this is sorted out. * HT protection is just not implemented and won't be until the above is sorted out. In addition, the AR5416 has issues RTS protecting large aggregates (anything >8k), so the work around needs to be ported and tested. Thus, this will be put on hold until the above work is complete. * The rate control module 'sample' is the only currently supported module; onoe/amrr haven't been tested and have likely bit rotted a little. I'll follow up with some commits to make them work again for non-11n rates, but they won't be updated to handle 11n and aggregation. If someone wishes to do so then they're welcome to send along patches. * .. and "sample" doesn't really do a good job of 11n TX. Specifically, the metrics used (packet TX time and failure/success rates) isn't as useful for 11n. It's likely that it should be extended to take into account the aggregate throughput possible and then choose a rate which maximises that. Ie, it may be acceptable for a higher MCS rate with a higher failure to be used if it gives a more acceptable throughput/latency then a lower MCS rate @ a lower error rate. Again, patches will be gratefully accepted. Because of this, ATH_ENABLE_11N is still not enabled by default. Sponsored by: Hobnob, Inc. Obtained from: Linux, Atheros END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-08T22:50:28.714611Z K 7 svn:log V 590 Fix the KTR option to compile by default - it was referencing some unmerged interrupt status debugging code from my branch. * Add ah_intrstate[8] which will have the record of the last call to ath_hal_getintr(). * Wrap the KTR code behind ATH_KTR_INTR_DEBUG. * Add the HAL interrupt debugging behind AH_INTERRUPT_DEBUGGING. This is only done for the AR5416 and later NICs but it will be trivial to add to the earlier NICs if required. Neither are enabled by default, although to minimise HAL binary API differences, the ah_intrstate[] array is always compiled into the ath_hal struct. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2011-11-08T23:02:32.696742Z K 7 svn:log V 109 rc.d: Eliminate some unnecessary non-POSIX constructs: * set - ... * empty braces * ^ in character class END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-08T23:19:22.111444Z K 7 svn:log V 75 Comment out TI_JUMBO_HDRSPLIT. TI_JUMBO_HDRSPLIT requires TI_SF_BUF_JUMBO. END K 10 svn:author V 8 jpaetzel K 8 svn:date V 27 2011-11-08T23:44:26.286325Z K 7 svn:log V 225 Welcome the initial patches for OSX bootcamp support!!! This should let you select the ada0p3 hybrid MBR/GPT partition, and do an installation to it. Approved by: kib (mentor) Obtained from: kris@pcbsd.org MFC after: 3 days END K 10 svn:author V 6 jilles K 8 svn:date V 27 2011-11-08T23:54:39.056006Z K 7 svn:log V 144 sh: Remove undefined behaviour due to overflow in +/-/* in arithmetic. With i386 base gcc and i386 base clang, arith_yacc.o remains unchanged. END K 10 svn:author V 4 grog K 8 svn:date V 27 2011-11-09T01:40:46.829508Z K 7 svn:log V 277 Tidy up command line processing: - Add ? option to optstring. - Sort options alphabetically. - Vertical space. Tidy up usage() function. Bring man page in sync with source. Ensure that debug code is only executed with the -d option. Submitted by: Christiane Yeardley END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T04:08:01.072625Z K 7 svn:log V 88 Fix the compile to work when IEEE80211_DEBUG isn't defined. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T04:35:33.059633Z K 7 svn:log V 92 Try to make it more obvious when users are using the PCI or PCIe versions of the 11n chips. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T04:38:27.900901Z K 7 svn:log V 43 Add in some more PCI/PCIe differentiation. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:25:30.065154Z K 7 svn:log V 265 Port over a new routine which grabs the percentage of time spent in TX frame, RX frame, RX clear, RX extension clear. This is useful for estimating channel business. The same routines should be written for AR5210->AR5212 where appopriate. Obtained from: Atheros END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:30:24.915035Z K 7 svn:log V 271 Add a new HAL parameter which forces a full reset rather than warm reset. This forces a full reset of the baseband/radio and seems needed to clear some issues (with Merlin at least) when the baseband gets confused in a very noisy environment. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:37:11.100118Z K 7 svn:log V 359 Include some ANI fixes for the AR5416. * If we fall through from an ANI command (eg because it's out of range, or it's disabled) then fall through to the next ANI command rather then being stuck there. * Fix some off-by-one comparisons, meaning the final level in some parameters were never tweaked. Obtained from: Atheros Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:39:17.008393Z K 7 svn:log V 111 .. and add some ANI fixes missing from the last ANI commit. Obtained from: Atheros Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:41:40.714140Z K 7 svn:log V 208 Add logic to ANI to tweak the firstep parameter when in hostap mode. This is normally done based on the beacon RSSI but this isn't available in hostap mode. Obtained from: Atheros Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:43:48.744835Z K 7 svn:log V 448 Use a restricted set of parameters when operating in hostap mode. The 5ghz hostap mode (where DFS is being done) requires ANI to be disabled or the radar detection parameters don't work as advertised (as they're based on signal strength level, and tweaking ANI affects the signal strangth, dynamic range and power increase the baseband is looking for in order to detect it as a "signal".) Obtained from: Linux, Atheros Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:45:30.590118Z K 7 svn:log V 346 Disable OFDM weak signal detection by default. Leave this to be enabled if required by STA operation. This quietens a lot of OFDM errors seen in hostap mode, where there are no beacon RSSI levels to tune the dynamic range of the baseband. This may reduce reception range at the fringes, but does increase stability. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T05:48:20.128284Z K 7 svn:log V 245 Migrate the AR5416 ANI code to use the previously introduced method to fetch the current channel busy statistics, rather than duplicating it here. This forms the (very crude) basis for doing basic channel surveying. Sponsored by: Hobnob, Inc. END K 10 svn:author V 4 gleb K 8 svn:date V 27 2011-11-09T07:48:48.577739Z K 7 svn:log V 101 Use implementation independent inoNN_t scalars for on-disk UFS structures Approved by: mdf (mentor) END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-09T09:15:57.611683Z K 7 svn:log V 77 Some minor corrections to a modem driver. PR: usb/162307 MFC after: 3 days END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-11-09T11:00:29.674697Z K 7 svn:log V 235 Simplify the code emitted by makeobjops.awk slightly. Just place the default kobj_method inside the kobjop_desc structure. There's no need to give these kobj_methods their own symbol. This shaves off 10 KB of a GENERIC kernel binary. END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-11-09T13:26:59.003875Z K 7 svn:log V 98 Restore the comment that I removed by accident. The comment still applies to this block of code. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-11-09T13:48:23.507741Z K 7 svn:log V 296 Fix a bug where the pmap_cpu_bootstrap() ap argument could be clobbered. Luckily, it mostly wasn't important, so this didn't cause major problems. Also improve register reuse when setting up trap frames very slightly. Submitted by: Justin Hibbits MFC after: 5 days END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T14:30:58.594558Z K 7 svn:log V 62 Tidy up the AR9287 HAL a tiny bit - fix up AR9280 references. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T14:34:25.008694Z K 7 svn:log V 182 * Force the MAC to wakeup before we try resetting it, to ensure it actually _gets_ reset properly. * Add some more comments describing why things are done. Obtained from: Atheros END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-11-09T14:37:47.133676Z K 7 svn:log V 54 Revert some debugging printfs that crept into 223695. END K 10 svn:author V 8 jpaetzel K 8 svn:date V 27 2011-11-09T15:21:48.178252Z K 7 svn:log V 39 Add myself. Approved by: kib (mentor) END K 10 svn:author V 7 fabient K 8 svn:date V 27 2011-11-09T15:59:02.693146Z K 7 svn:log V 184 Import gcc fix for -fstack-protector that produces segfaulting binaries on arm/armel. Related gcc bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35965 PR: 161128 MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-09T17:13:41.999588Z K 7 svn:log V 85 Assert that _PRELE() is done for the held process. Tested by: pho MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-09T17:15:51.361208Z K 7 svn:log V 191 Lock the thread lock around block that retrieves td_wmesg. Otherwise, procfs could see a thread with assigned td_wchan but still NULL td_wmesg. Reported and tested by: pho MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-09T17:25:43.567379Z K 7 svn:log V 159 Stopped process may legitimately have some threads sleeping and not suspended, if the sleep is uninterruptible. Reported and tested by: pho MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T17:38:27.078810Z K 7 svn:log V 519 Flip on processing interrupt profile events for mips24k. This is a bit hackish and should be made more generic (ie, support more than two hard-coded performance counter+config register pairs) so it can be used for mips74k and other chips. All this does is process the initial interrupt event. It doesn't (yet) handle callgraph events, so even if you route the exception/interrupt to this routine and flip the bit on, it will hang and crash pmc unless you disable callgraph support when you enable a sample based PMC. END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-09T18:11:29.202196Z K 7 svn:log V 57 Fix size of USB 3.0 descriptor field. MFC after: 3 days END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-11-09T18:12:42.861564Z K 7 svn:log V 269 MFC 226302: If an allocation for a specific resource range fails because it is not in a decoded range for an ACPI Host-PCI bridge, try to allocate it from the ACPI system resource range. If that works, permit the resource allocation regardless. Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T18:24:20.125571Z K 7 svn:log V 603 If software retransmit occurs with an ath_buf marked ATH_BUF_BUSY, it's cloned and that clone is retransmitted. This means that the ath_buf pointer squirreled away on the baw window array is suddenly wrong and was causing all kinds of console output. This updates the pointer in that particular BAW slot to the new ath_buf after ensuring that: * the new and old buffers have the same seqno; * the current slot pointer matches the old buffer pointer. This quietens the debugging output (again), restoring said debugging to only signify when a broken condition has occured. Sponsored by: Hobnob, Inc. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-09T18:25:50.637064Z K 7 svn:log V 138 Attempt to improve formatting and content of several comments for amd64 and i386 MD code. Based on suggestions by: bde MFC after: 1 week END K 10 svn:author V 3 jhb K 8 svn:date V 27 2011-11-09T18:26:19.829719Z K 7 svn:log V 899 MFC 226748: - Add a new header for the x86 boot code that defines various structures and constants related to the BIOS Enhanced Disk Drive Specification. - Use this header instead of magic numbers and various duplicate structure definitions for doing I/O. - Use an actual structure for the request to fetch drive parameters in drvsize() rather than a gross hack of a char array with some magic size. While here, change drvsize() to only pass the 1.1 version of the structure and not request device path information. If we want device path information you have to set the length of the device path information as an input (along with probably checking the actual EDD version to see which size one should use as the device path information is variable-length). This fixes data smashing problems from passing an EDD 3 structure to BIOSes supporting EDD 4. Approved by: re (kib) END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-09T18:48:36.085440Z K 7 svn:log V 57 Fix size of USB 3.0 descriptor field. MFC after: 3 days END K 10 svn:author V 3 pho K 8 svn:date V 27 2011-11-09T18:51:41.239570Z K 7 svn:log V 84 MFC r226971 Added missing cache purge of from argument. Approved by: re (kensmith) END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-11-09T19:00:27.634820Z K 7 svn:log V 542 Move building of clang's tblgen tools (and required libraries) from the bootstrap-tools stage to the cross-tools stage. These tools are only needed for generating llvm/clang include files, and are not necessary for bootstrapping the build itself. This shaves off some build time, because the required libraries are now just built twice (during the cross-tools and world stages), instead of three times. Also, if you build world using WITHOUT_CLANG= in src.conf(5), no llvm or clang code will be compiled at all anymore. MFC after: 1 week END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-09T19:03:26.687598Z K 7 svn:log V 230 Add definition of some USB 3.0 descriptors to libusb 1.0 and libusb 2.0. Some header file parts of this patch were taken from a patch submitted by Maya Erez to the LibUSB developers list. MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T19:09:03.598166Z K 7 svn:log V 124 Even though the HAL doesn't currently support Kiwi 1.0/1.1, be "more correct" about the Kiwi setup. Obtained from: Atheros END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-11-09T20:12:59.002495Z K 7 svn:log V 259 Incorporate Scott Long's patch for mfi(4) that fixes mfi(4) timeouts for our hardware: mfi0@pci0:2:0:0: class=0x010400 card=0x100a1000 chip=0x00601000 rev=0x04 hdr=0x00 vendor = 'LSI Logic / Symbios Logic' device = 'MegaRAID SAS 1078' END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-11-09T21:01:50.262470Z K 7 svn:log V 28 Remove trailing whitespace. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T21:41:18.045013Z K 7 svn:log V 61 Commit a missing fix - the AR_SREV_KIWI_10_OR_LATER() check. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-11-09T21:53:49.367595Z K 7 svn:log V 288 Do a dummy read to flush the interrupt ACK that we just performed, ensuring that everything is really, truly consistent. This fixes certain cases where one will see various: mfi0: COMMAND 0xffffffXXXXXXXXXX TIMEOUT AFTER XX SECONDS MFC after: 3 days Submitted by: scottl Ok'ed by: jhb END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T22:39:44.041686Z K 7 svn:log V 412 Introduce a work-around for issues with the AR5416 based MAC on SMP devices. The AR5416 MAC (which shows up in the AR5008, AR9001, AR9002 devices) has issues with PCI transactions on SMP machines. This work-around enforces that register access is serialised through a (global for now) spinlock. This should stop the hangs people have seen with the AR5416 PCI devices on SMP hosts. Obtained by: Linux, Atheros END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T23:28:47.305648Z K 7 svn:log V 575 Bump this up to where it used to be. I need to investigate this a little closer, but it seems that in noisy environments the NF load takes longer than 5 * DELAY(10) and this is messing up future NF calibrations. (The background: NF calibrations begin at the value programmed in after the load has completed, so if this is never loaded in, the NF calibrations only ever start at the currently calibrated NF value, rather than starting at something high (say -50.) More investigation about the effect on 11n RX and calibration results are needed. Sponsored by: Hobnob, Inc. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T23:37:13.904171Z K 7 svn:log V 213 Use the system-provided opt_ah.h if one is provided. This implies that users who are building the driver do so with KERNBUILDDIR set to the compile/CONFIG directory so the various opt_* sources can be pulled in. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-09T23:53:13.114364Z K 7 svn:log V 167 Since these include wlan/ath/ah headers and these can change definitions based on the state of the kernel compile environment, ensure the opt_*.h files are available. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2011-11-10T01:44:05.988103Z K 7 svn:log V 141 - Don't handle out-of-memory condition - Fix types of function arguments match their declaration Reviewed by: delphij Obtained from: NetBSD END K 10 svn:author V 2 rm K 8 svn:date V 27 2011-11-10T06:19:18.619051Z K 7 svn:log V 41 Add myself. Approved by: novel (mentor) END K 10 svn:author V 5 dougb K 8 svn:date V 27 2011-11-10T06:20:18.834019Z K 7 svn:log V 38 Document that flock can return ENOLCK END K 10 svn:author V 2 rm K 8 svn:date V 27 2011-11-10T08:03:31.713251Z K 7 svn:log V 102 Fix date of commit bit proposing (s/2010/2011/) Spotted by: pluknet Approved by: novel (mentor) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2011-11-10T11:17:40.671577Z K 7 svn:log V 43 Sync definitions with header. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2011-11-10T12:05:26.394094Z K 7 svn:log V 117 Note that NAT instance argument can be tablearg. PR: misc/162265 Submitted by: Paul Procacci END K 10 svn:author V 3 alc K 8 svn:date V 27 2011-11-10T16:50:36.999128Z K 7 svn:log V 158 MFC r226740 Speed up vm_page_cache() and vm_page_remove() by checking for a few common cases that can be handled in constant time. Approved by: re (kib) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-10T17:01:34.941116Z K 7 svn:log V 63 Add a missing reference to AR9287. Sponsored by: Hobnob, Inc. END K 10 svn:author V 3 alc K 8 svn:date V 27 2011-11-10T17:04:33.240516Z K 7 svn:log V 135 MFC r226740 Speed up vm_page_cache() and vm_page_remove() by checking for a few common cases that can be handled in constant time. END K 10 svn:author V 5 andre K 8 svn:date V 27 2011-11-10T19:10:53.878092Z K 7 svn:log V 212 Back out r226299 (MFC of r226105) which caused a number of ports that depend on the incorrect IP length field. The fix stays in HEAD and ports should test for it. Requested by: glebius Approved by: re (kib) END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2011-11-10T19:36:19.695895Z K 7 svn:log V 76 MFC 227266: Initialize all components of the sent COOKIE. Approved by: re@ END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-11-10T19:41:52.157555Z K 7 svn:log V 225 Please welcome David Chisnall (theraven@) as a new src committer. David will be working on getting libc++ and its dependencies integrated into the base system. Brooks Davis and I will be mentoring David. Approved by: core END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2011-11-10T19:54:00.759112Z K 7 svn:log V 103 MFC 227320: When loading addresses from INITs, always use the correct local address. Approved by: re@ END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-11-10T20:15:35.336084Z K 7 svn:log V 507 Revert r227403 for now. Since the cross-tools stage purposefully doesn't have ${WORLDTMP}/usr/bin in its PATH, if you build world with CC=clang, tblgen tools from /usr/bin will be used instead of the ones built under ${WORLDTMP}. This can lead to various errors, especially if you upgrade from an older clang. Note that building world with gcc would not experience these problems, because it only uses the tblgen tools in the world stage, where PATH does contain ${WORLDTMP}/usr/bin. Pointy hat to: dim END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-11-10T20:28:30.763749Z K 7 svn:log V 697 MFC r227204, 227206, 227207: r227204: Fix the typo made in r157474. r227206: Before dereferencing intotw() check for NULL, the same way as it is done for in_pcb (see r157474). r227207: Cache SO_REUSEPORT socket option in inpcb-layer in order to avoid inp_socket->so_options dereference when we may not acquire the lock on the inpcb. This fixes the crash due to NULL pointer dereference in in_pcbbind_setup() when inp_socket->so_options in a pcb returned by in_pcblookup_local() was checked. Reported by: dave jones , Arnaud Lacombe Suggested by: rwatson Glanced by: rwatson Tested by: dave jones Approved by: re (kib) END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-10T21:07:14.926633Z K 7 svn:log V 459 The generated Makefile for the kernel was not running ctfconvert on object files corresponding to source files that had the compile-with option set in conf/files. This means that any fbt probes for functions in that object file would not have correct argument types. The fix is to run ctfconvert on any target file that does not have the no-obj option set in files. PR: bin/160275 Reported by: Paul Ambrose (ambrosehua AT gmail DOT com) MFC after: 1 week END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-10T22:03:35.693598Z K 7 svn:log V 1942 On i386, fbt probes are implemented by writing an invalid opcode over certain instructions in a function prologue or epilogue. DTrace has a hook into the invalid opcode fault handler that checks whether the fault was due to an probe and if so, runs the DTrace magic. Upon returning from an invalid opcode fault caused by a probe, DTrace must emulate the instruction that was replaced with the invalid opcode and then return control to the instruction following the invalid opcode. There were a pair of related bugs in the emulation for the leave instruction. The leave instruction is used to pop off a stack frame prior to returning from a function. The emulation for this instruction must move the trap frame for the invalid opcode fault down the stack to the bottom of the stack frame that is being removed, and then execute an iret. At two points in this process, the emulation code was storing values above the current value of the stack pointer. This opened up a window in which if we were two take an interrupt, the trap frame for the interrupt would overwrite the values stored on the stack, causing the system to panic later. The first bug was that at one point the emulation code saves the new value for $esp above the current stack pointer value. The fix is to save this value instead inside of the original trap frame. At this point we do not need the original trap frame so this is safe. The second bug is that when the emulate code loads $esp from the stack, it points part-way through the new trap frame instead of at its beginning. The emulation code adjusts the stack pointer to the correct value immediately afterwards, but this still leaves a one instruction window in which an interrupt would corrupt this trap frame. Fix this by adjusting the stack frame value before loading it into $esp. This fixes panics in invop_leave on i386 when using fbt return probes. Reviewed by: rpaulo, attilio MFC after: 1 week END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-10T22:15:11.996966Z K 7 svn:log V 30 style. No functional changes. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-10T23:14:04.440149Z K 7 svn:log V 83 Remove dead ifdef. Driver should always check raised interrupt is for the device. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-10T23:16:59.976542Z K 7 svn:log V 278 Revert this previous commit for now - although this override unfortunately results in the HAL being built without HAL debugging/diagnostic support, the module building process needs to be somehow taught to not build AR5416+ NICs if AH_SUPPORT_AR5416 isn't defined in opt_ah.h . END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-11T00:48:41.417458Z K 7 svn:log V 28 Correct device id comments. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2011-11-11T01:35:07.539722Z K 7 svn:log V 102 Converting int to wint_t leads to broekn comparison of raw char and encoded wint_t. Spotted by: ache END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T01:37:48.710639Z K 7 svn:log V 351 MFC 215507: When doing a camcontrol rescan all or a camcontrol reset all, use the wildcard path id for enumerating the available busses. Previously camcontrol was implicitly passing 0 as the first path id, which meant that if bus 0 was not present camcontrol would fail with EINVAL instead of rescanning/resetting any busses that were present. END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T02:02:55.829841Z K 7 svn:log V 669 MFC 220227: GNU awk does not output escaped newlines in multi-line printc statements. This leads to compile errors when trying to compile firmware(9) stubs created with gawk, as multiple #include statements end up on the same line. Replace the multi-line printc statement that outputs all of the #includes with one printc per #include. This allows modules compatible with firmware(9) to be cross-built from a Linux machine without requiring the one true awk to be installed. I've intentionally done the minimal set of changes necessary to make gawk produce valid (but not pretty) C code, to reduce the churn and keep fw_stubs.awk as readable as possible. END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T02:10:24.053247Z K 7 svn:log V 715 MFC 220888 r179417 introduced a bug into pthread_once(). Previously pthread_once() used a global pthread_mutex_t for synchronization. r179417 replaced that with an implementation that directly used atomic instructions and thr_* syscalls to synchronize callers to pthread_once. However, calling pthread_mutex_lock on the global mutex implicitly ensured that _thr_check_init() had been called but with r179417 this was no longer guaranteed. This meant that if you were unlucky enough to have your first call into libthr be a call to pthread_once(), you would segfault when trying to access the pointer returned by _get_curthread(). The fix is to explicitly call _thr_check_init() from pthread_once(). END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T02:13:35.089708Z K 7 svn:log V 348 MFC 221081: If the 4BSD scheduler tries to schedule a thread that has been pinned or bound to an AP before SMP has started, the system will panic when we try to touch per-CPU state for that AP because that state has not been initialized yet. Fix this in the same way as ULE: place all threads in the global run queue before SMP has started. END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T02:15:44.314788Z K 7 svn:log V 1144 MFC 224156: Fix a LOR between hwpmc and the kernel linker. When a system-wide sampling mode PMC is allocated, hwpmc calls linker_hwpmc_list_objects() while already holding an exclusive lock on pmc-sx lock. list_objects() tries to acquire an exclusive lock on the kld_sx lock. When a KLD module is loaded or unloaded successfully, kern_kld(un)load calls into the pmc hook while already holding an exclusive lock on the kld_sx lock. Calling the pmc hook requires acquiring a shared lock on the pmc-sx lock. Fix this by only acquiring a shared lock on the kld_sx lock in linker_hwpmc_list_objects(), and also downgrading to a shared lock on the kld_sx lock in kern_kld(un)load before calling into the pmc hook. In kern_kldload this required moving some modifications of the linker_file_t to happen before calling into the pmc hook. This fixes the deadlock by ensuring that the hwpmc -> list_objects() case is always able to proceed. Without this patch, I was able to deadlock a multicore system within minutes by constantly loading and unloading an KLD module while I simultaneously started a sampling mode PMC in a loop. END K 10 svn:author V 6 rstone K 8 svn:date V 27 2011-11-11T03:49:42.520088Z K 7 svn:log V 211 Correct the types of the arguments to return probes of the syscall provider. Previously we were erroneously supplying the argument types of the corresponding entry probe. Reviewed by: rpaulo MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-11T04:10:36.115254Z K 7 svn:log V 117 Weaken the part of assertions added in the r227394. Only check that the process state is stopped. MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-11T04:12:58.384352Z K 7 svn:log V 118 Guard against the unlikely case of the alias path containing the '%' symbols. Reported by: arundel MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-11-11T04:13:47.371822Z K 7 svn:log V 26 Style. MFC after: 1 week END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2011-11-11T04:20:22.450853Z K 7 svn:log V 106 Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release cycle. Approved by: re (implicit) END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2011-11-11T04:22:43.496297Z K 7 svn:log V 92 Put releng/9.0 under control of the Release Engineering Team. Approved by: core (implicit) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2011-11-11T07:17:00.348667Z K 7 svn:log V 288 struct timespec32: change types of tv_sec and tv_nsec fields to signed to match native struct timespec ABI on __LP32__. This change is a prerequisite for upcoming futimens()/utimensat() in whose implementations it is assumed that timespec32 can take a negative value. MFC after: 1 week END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2011-11-11T12:06:09.014271Z K 7 svn:log V 136 Reword a sentence in the HARDWARE section a little to make it more suitable for automatic hardware notes generation. MFC after: 3 days END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-11-11T14:09:09.496161Z K 7 svn:log V 128 Fix false positive EADDRINUSE that could be returned by bind, due to the typo made in r227207. Reported by: kib Tested by: kib END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-11-11T14:42:05.352060Z K 7 svn:log V 165 MFC r227449: Fix false positive EADDRINUSE that could be returned by bind, due to the typo made in r227207. Reported by: kib Tested by: kib Approved by: re (kib) END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-11-11T15:24:17.078020Z K 7 svn:log V 179 MFS r227450 (MFC r227449): Fix false positive EADDRINUSE that could be returned by bind, due to the typo made in r227207. Reported by: kib Tested by: kib Approved by: re (kib) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2011-11-11T19:15:32.219290Z K 7 svn:log V 1129 To send a frame, controller requires a prepended TX header and the length of frame should be treated as multiple of 4. Actual frame length is set in the TX header. The TX header position should be aligned on 4 byte boundary and actual frame start position should be aligned on 4 byte boundary as well. This means we need 4(TX header length) + 3(frame length fixup) additional free space in TX buffer in addition to actual frame length. Make sure TX handler check these additional bytes. ae_tx_avail_size() returns actual free space in TX buffer to ease the calculation of available TX buffer space in caller. While I'm here, replace magic number to appropriate sizeof operator to enhance readability. This change should fix controller lockup issue happened under certain conditions but it still does not fix watchdog timeout. It seems the watchdog timeout is side-effect of TxS and TxD mismatches. The root cause of TxD/TxD mismatch is not known yet but it looks like silicon bug. I guess driver may have to reinitialize controller whenever it sees TxS and TxD mismatches but leave it as it was at this moment. PR: kern/145918 END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-11T20:13:24.925514Z K 7 svn:log V 62 Added myself to committers-src.dot Approved by: dim (mentor) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-11-11T20:31:48.103237Z K 7 svn:log V 342 Use __packed to prevent alignment from taking place, which otherwise may change the on-disk format in an incompatible way. Without this change, msdosfs created on FreeBSD/arm would not be mountable. PR: bin/162486 Submitted by: Ian Lepore Reported by: Mattia Rossi MFC after: 3 days END K 10 svn:author V 6 marcel K 8 svn:date V 27 2011-11-11T21:56:32.883424Z K 7 svn:log V 51 Deal with tree conflicts (local add, incoming add) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2011-11-11T21:57:31.773639Z K 7 svn:log V 26 Deal with tree conflicts. END K 10 svn:author V 6 eadler K 8 svn:date V 27 2011-11-11T22:24:16.296423Z K 7 svn:log V 134 - add support for CP-104EL-A and CP-104JU to puc PR: 151365 Submitted by: Joerg Niendorf Approved by: jhb END K 10 svn:author V 6 eadler K 8 svn:date V 27 2011-11-11T22:27:09.378300Z K 7 svn:log V 233 - add a missing "be" and "in" - fix other errors introduced when committing r226436 - add 'function' to a sentence where it makes sense Submitted by: delphij Submitted by: dougb Submitted by: jhb Approved by: dougb Approved by: jhb END K 10 svn:author V 6 brooks K 8 svn:date V 27 2011-11-11T22:57:52.584298Z K 7 svn:log V 251 In r191367 the need for if_free_type() was removed and a new member if_alloctype was used to store the origional interface type. Take advantage of this change by removing all existing uses of if_free_type() in favor of if_free(). MFC after: 1 Month END K 10 svn:author V 6 qingli K 8 svn:date V 27 2011-11-11T23:22:38.313629Z K 7 svn:log V 460 A default route learned from the RAs could be deleted manually after its installation. This removal may be accidental and can prevent the default route from being installed in the future if the associated default router has the best preference. The cause is the lack of status update in the default router on the state of its route installation in the kernel FIB. This patch fixes the described problem. Reviewed by: hrs, discussed with hrs MFC after: 5 days END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-12T08:16:45.189223Z K 7 svn:log V 358 Style change. - Make it easier to port the USB code to other platforms by only using one set of memory functions for clearing and copying memory. None of the memory copies are overlapping. This means using bcopy() is not required. - Fix a compile warning when USB_HAVE_BUSDMA=0 - Add missing semicolon in avr32dci. - Update some comments. MFC after: 1 week END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-12T08:19:36.629499Z K 7 svn:log V 77 Enable power save mode for the USB storage device driver. MFC after: 1 week END K 10 svn:author V 8 hselasky K 8 svn:date V 27 2011-11-12T08:40:52.097006Z K 7 svn:log V 254 - This patch adds custom IOCTLs to read and write the 4 GPIO pins on the cp2103 usb-to-serial chip. - This patch also makes the line status polling asynchronous, to reduce the time needed to change the GPIO pins. Submitted by: JD Louw MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-11-12T09:52:27.917800Z K 7 svn:log V 1256 Major GEOM MULTIPATH class rewrite: - Improved locking and destruction process to fix crashes. - Improved "automatic" configuration method to make it consistent and safe by reading metadata back from all specified paths after writing to one. - Added provider size check to reduce chance of ordering conflict with other GEOM classes. - Added "manual" configuration method without using on-disk metadata. - Added "add" and "remove" commands to allow manage paths manually. - Failed paths are no longer dropped from geom, but only marked as FAIL and excluded from I/O operations. - Automatically restore failed paths when all others paths are marked as failed, for example, because of device-caused (not transport) errors. - Added "fail" and "restore" commands to manually control FAIL flag. - geom is now destroyed on last path disconnection. - Added optional Active/Active mode support. Unlike Active/Passive mode, load evenly distributed between all working paths. If supported by the device, it allows to significantly improve performance, utilizing bandwidth of all paths. It is controlled by -A option during creation. Disabled by default now. - Improved `status` and `list` commands output. Sponsored by: iXsystems, inc. MFC after: 1 month END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2011-11-12T10:17:23.087508Z K 7 svn:log V 45 Grammar and mdoc cleanup. MFC after: 3 days END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2011-11-12T10:30:14.868654Z K 7 svn:log V 44 Added mps(4) and mvs(4). MFC after: 3 days END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-12T14:39:20.177104Z K 7 svn:log V 204 Fix the number of decimal digits used for Swiss Francs (0 -> 2). Found by the libc++ test suite. If there is some locale test suite somewhere, it might be worth running it... Approved by: dim (mentor) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-12T16:47:23.969419Z K 7 svn:log V 138 Disable writing to the extension CYCPWR1 register. This seems to make ANI behave better on the AR5416/AR5418. Sponsored by: Hobnob, Inc. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-11-12T17:12:33.111226Z K 7 svn:log V 4 MFC END K 10 svn:author V 6 emaste K 8 svn:date V 27 2011-11-12T19:02:55.084872Z K 7 svn:log V 292 Report the amount of memory from smbios data if provided. This should get the correct memory size even if a 32-bit image is running on a machine with > 4GB of memory. This can be useful is using a 32-bit installer on a machine which will eventually run a 64-bit image. Reviewed by: kmoore END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-11-12T19:45:56.054472Z K 7 svn:log V 63 Fix buildworld breakage due after r227464. Pointy hat to: mav END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-12T19:55:48.846337Z K 7 svn:log V 394 Expose the unimplemented libm functions in the math.h header. This allows C++'s to work without the compiler complaining that the C++ versions are calling implicitly-declared functions. You will still get a linker error when they are called. OpenBSD 5.0 claims to fully implement the C99 stuff, so might be worth investigating... Reviewed by: das Approved by: dim (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-11-12T20:01:30.734364Z K 7 svn:log V 39 Fix build on some archs after r227464. END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-12T20:16:06.912820Z K 7 svn:log V 300 Fix SIGATOMIC_M{IN,AX} on x86-64. These are meant to be the minimum values that are allowed in a sig_atomic_t, but it looks like they were just copied from the x86 versions, so these definitions violate the C and C++ specs. Mismatch was spotted by the libc++ test suite. Approved by: dim (mentor) END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-12T20:25:11.673706Z K 7 svn:log V 222 Expose all of the C99 limits.h stuff when we're in C++11 mode (or some approximation thereof). C++11 finally adds long long to C++. Now even C++ programmers are allowed to use 64-bit integers! Approved by: dim (mentor) END K 10 svn:author V 8 theraven K 8 svn:date V 27 2011-11-12T20:45:10.994366Z K 7 svn:log V 180 Don't expose the wctype.h macros in C++ mode. They cause problems when people try to invoke the namespaced versions of the functions of the same names. Approved by: dim (mentor) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-12T23:17:01.352955Z K 7 svn:log V 149 Add documentation for the new quiet time IE options. Submitted by: Himali Patel Sponsored by: Sibridge Technologies END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-11-12T23:17:54.395994Z K 7 svn:log V 231 Fix kernel build breakage after r227475. I had forgotten kernels are built with -Wundef, as opposed to world. Additionally, cdefs.h tends to not use indentation for preprocessor directives, so remove that too. Pointy hat to: me END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-11-12T23:30:57.153961Z K 7 svn:log V 11 Bump date. END