ƒ¹225855 136 1020 141 231 211 160 1841 186 513 424 128 145 165 132 143 528 99 134 127 193 169 333 364 141 227 1474 335 168 134 572 497 384 294 244 226 663 251 358 205 233 594 128 332 523 241 241 175 119 201 177 355 95 167 169 197 119 164 141 697 1038 645 306 404 362 514 491 251 404 236 2034 156 2339 122 242 99 236 226 2344 151 181 201 152 563 392 259 123 255 268 190 272 223 186 254 587 280 352 5315 192 174 365 163 140 733 512 160 109 2249 258 731 402 152 440 708 173 707 182 565 409 142 203 156 544 558 523 385 171 414 171 107 155 511 156 142 240 144 211 172 K 10 svn:author V 3 kib K 8 svn:date V 27 2011-09-29T00:39:56.799823Z K 7 svn:log V 927 Merge the optimizations for the syscall entry and leave. MFC r225474: Inline the syscallenter() and syscallret(). This reduces the time measured by the syscall entry speed microbenchmarks by ~10% on amd64. MFC r225475: Perform amd64-specific microoptimizations for native syscall entry sequence. The effect is ~1% on the microbenchmark. In particular, do not restore registers which are preserved by the C calling sequence. Align the jump target. Avoid unneeded memory accesses by calculating some data in syscall entry trampoline. MFC r225483: The jump target shall be after the padding, not into it. MFC r225575: Microoptimize the return path for the fast syscalls on amd64. Arrange the code to have the fall-through path to follow the likely target. Do not use intermediate register to reload user %rsp. MFC r225576: Put amd64_syscall() prototype in md_var.h. Tested by: Alexandr Kovalenko END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-09-29T00:44:34.349919Z K 7 svn:log V 49 Style nit. Submitted by: jhb MFC after: 2 weeks END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-09-29T02:29:32.127330Z K 7 svn:log V 138 Fix a few grammar and mdoc nits in script.1 PR: 161088 Submitted by: Ben Kaduk ( kaduk % mit ! edu ) MFC after: 1 week Need-MFC: 225809 END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-09-29T02:52:33.699113Z K 7 svn:log V 118 Document, and provide an example for, PORTS_MODULES in build(7). PR: 161017 Submitted by: gcooper MFC after: 1 week END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-09-29T02:57:08.227055Z K 7 svn:log V 68 Whitespace cleanup in build(7). MFC after: 1 week Need-MFC: 225858 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-29T03:10:42.028222Z K 7 svn:log V 1744 The MIPS cpu_idle() routine is unfortunately buggy now that mav's eventtimer code has gone into the tree. If an interrupt comes in after critical_enter() is called but before "wait" occurs, the interrupt will be handled but it won't: * preempt the current idle thread, if PREEMPTION is enabled and you're using the 4BSD scheduler; * won't interrupt "wait", because it occured before it; * won't be handled until the next interrupt that occurs after the "wait" instruction is entered. So the issues with if_arge and if_ath can be traced down to a race with this particular behaviour in MIPS cpu_idle(). The interrupt would be posted but not handled until another interrupt triggers things. I've tried doing what is done in i386 - * interrupts are disabled * sched_runnable() is checked - if it's runnable, skip calling wait and instead reenable interrupts * otherwise atomically enable interrupts and call hlt. If an interrupt has come in and scheduled a netisr or taskqueue call, it'll (hopefully!) trip sched_runnable() and thus skip the wait. The atomic nature of "sti; hlt" is apparently documented for the i386. This way there's no race where an interrupt comes in before the hlt and doesn't wake it up. Now, I've tried the same for MIPS but it doesn't seem to fix things. The behaviour of wait is unfortunately implementation dependent and someone who is much more well versed in the art of MIPS hackery will have to fix it. So for now, I've #if 0'ed the whole thing and left cpu_idle to just do nothing. This fixes all the issues I've been seeing and allows me to acheive 230mbit UDP RX/TX and 150mbit TCP TX/RX without TX/RX queue servicing issues. Whatever is left is due to ath interrupt handling and packet scheduling. END K 10 svn:author V 6 wblock K 8 svn:date V 27 2011-09-29T03:37:42.242710Z K 7 svn:log V 91 Fix a confusing sentence. [1] Other wording tweaks. Reviewed by: imp [1] Approved by: gjb END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-29T05:16:53.457148Z K 7 svn:log V 417 General RX interrupt mitigation fixes. * From what I can tell, interrupt mitigation doesn't mitigate RXERR events, only RXOK events. I'm waiting for confirmation from Atheros, but this is what their driver does. * Yes, RXOK is set in AR_ISR even if it is clear in AR_IMR. So make sure HAL_INT_RX isn't set if interrupt mitigation is enabled. * Add/remove comments in order to better document what is going on. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-29T05:20:42.925464Z K 7 svn:log V 328 Add in a local patch (not likely a merge candidate to -HEAD in this state) which enables KTR logging for the interrupt status registers. * Add a new field to the public HAL * add in code to ar5416GetPendingInterrupts() which populates it based on the contents of the AR_ISR{_S[0..5]} registers * log it via KTR in ath_intr() END K 10 svn:author V 4 stas K 8 svn:date V 27 2011-09-29T05:23:57.700465Z K 7 svn:log V 35 - Flatten the vendor heimdal tree. END K 10 svn:author V 4 stas K 8 svn:date V 27 2011-09-29T05:26:20.054035Z K 7 svn:log V 52 - Disable keyword expansion on vendor heimdal code. END K 10 svn:author V 4 stas K 8 svn:date V 27 2011-09-29T05:58:09.174203Z K 7 svn:log V 72 - Kill files that do not belong to the laters heimdal version imported. END K 10 svn:author V 4 stas K 8 svn:date V 27 2011-09-29T06:00:26.130363Z K 7 svn:log V 39 - Bootstrap the heimdal merge history. END K 10 svn:author V 5 trasz K 8 svn:date V 27 2011-09-29T06:31:42.712775Z K 7 svn:log V 49 Make ps(1) automatically size its column widths. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T08:37:53.693694Z K 7 svn:log V 435 - Add special support for the MFI_CMD ioctl with MFI_CMD_STP command, used by present MegaCLI version. It has some special meaning for the first s/g list entry, while the main s/g list begins from the the second entry, and those lists should remain separate after loading to the busdma map. - Fix bug in 32bit ioctl compatibility shims when s/g list consists of more then on element. Sponsored by: iXsystems, inc. MFC after: 3 days END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-09-29T09:22:54.892773Z K 7 svn:log V 4 MFC END K 10 svn:author V 3 pho K 8 svn:date V 27 2011-09-29T10:36:42.986771Z K 7 svn:log V 42 Added two regression tests, based on PRs. END K 10 svn:author V 3 pho K 8 svn:date V 27 2011-09-29T10:37:42.159720Z K 7 svn:log V 35 Added one more SU+J test scenario. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T10:37:59.978652Z K 7 svn:log V 100 MFC r225789: Add one more ID for the Marvell 88SE9128 6Gbps SATA controller. Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T10:42:51.987683Z K 7 svn:log V 77 MFC r225789: Add one more ID for the Marvell 88SE9128 6Gbps SATA controller. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T14:19:34.911547Z K 7 svn:log V 240 Handle the race in cpu_idle() when due to the critical section CPU could get into sleep after receiving interrupt, delaying interrupt thread execution indefinitely until the next interrupt arrive. Reviewed by: nwhitehorn MFC after: 3 days END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-09-29T15:05:16.641456Z K 7 svn:log V 272 MFC r225586: Add IPv6 support to the ng_ipfw(4) [1]. Also add ifdefs to be able build it with and without INET/INET6 support. Submitted by: Alexander V. Chernikov [1] Tested by: Alexander V. Chernikov [1] END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T15:12:58.779155Z K 7 svn:log V 49 Add header missed in r225875. MFC after: 3 days END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-09-29T15:43:02.380080Z K 7 svn:log V 135 Add Oxford Semiconductor OXPCIe952 (0x1c38) 1 port serial card. PR: kern/160895 Submitted by: Konstantin V. Krotov MFC after: 1 week END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-29T17:13:23.237233Z K 7 svn:log V 1377 Put in a temporary workaround for the strange rx behaviour I was seeing when RXEOL occured. Normally, I'd expect RXEOL to be followed by a dequeue of ATH_RXBUF number of packets (here 512 for 11n.) But I'd occasionally see this only service a handful at a time (and sometimes it'd service 0 frames!) Since the RX descriptor list should be consistent and correctly linked together after being processed, I gathered that something was interfering with this process (eg rxlink was being set to NULL.) I gathered that kickpcu and the interrupt mask update was racing. So to work around it (and it's stopped the issue appearing so far) : * clear kickpcu after the queue reset has been re-established and the RX has recommenced. This likely won't be very good for SMP machines as the taskqueue and ath_intr() calls can occur simultaneously on different CPUs. This means I'll have to eventually correctly lock this (or use atomics here.) * If a MIB interrupt also pops in at the same time and kickpcu is currently 1, don't reset the interrupt mask. This stops the RXEOL/RXORN interrupt from being triggered until we've handled and cleared the original case. As mentioned, this is only somewhat correct (read: not correct) for the single CPU case, and definitely still very racy for the SMP case. I'll need to come up with a better solution for this kickpcu stuff. END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-09-29T18:12:40.172919Z K 7 svn:log V 242 Revive the LLVM and Clang license files, which were removed in my too-thorough cleanup of unused files, in r213695. Also make sure these get installed under /usr/share/doc. Submitted by: rwatson, brooks Pointy hat to: dim MFC after: 3 days END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-09-29T18:42:44.166783Z K 7 svn:log V 76 MFC r196879: Add support for changing providers priority. PR: kern/160811 END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2011-09-30T04:55:23.510969Z K 7 svn:log V 40 Remove pointless semicolons after label END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-09-30T05:17:57.468279Z K 7 svn:log V 476 Fix a corner case in the HAL debugging changes, where ah was NULL. Although I tried to fix this earlier by introducing HALDEBUG_G(), it turns out there seem to be other cases where the pointer value is still NULL. * Fix DO_HALDEBUG() and the HALDEBUG macro to check whether ah is NULL before deferencing it * Remove HALDEBUG_G() as it's no longer needed This is hopefully a merge candidate for 9.0-RELEASE as enabling debugging at startup could result in a kernel panic. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-09-30T08:05:58.929106Z K 7 svn:log V 405 Add the stable-9 block so that commits to stable/9 will also get a proper X-SVN-Group: header to filter and are archived to their own list as well. It might be worth mentioning that postmaster informed me that the per-stable-branch lists are not having many subscribers so we might want to re-consider if we want/need the dedicated per-stable-branch list for archiving in the future. Reviewed by: simon END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-09-30T18:20:16.158416Z K 7 svn:log V 292 Fix an obvious bug from r186196 shadowing a variable, not correctly appending the new mbuf to the chain reference but possibly causing an mbuf nextpkt loop leading to a memory used after handoff (or having been freed) and leaking an mbuf here. Reviewed by: rwatson, brooks MFC after: 3 days END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-09-30T20:06:23.500727Z K 7 svn:log V 198 - Right-justify backslashes as suggested by style(9). - Rename ATOMIC_INC_ULONG to ATOMIC_INC_LONG in order to be consistent with the names of the other macros in this file an adjust accordingly. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-09-30T20:13:51.586582Z K 7 svn:log V 148 Use the extended integer condition code when comparing 64-bit values. Given that ATOMIC_INC_LONG currently is unused this happened to not be fatal. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-09-30T20:23:18.432704Z K 7 svn:log V 130 Add a comment about why contrary to what once would think running all of userland with total store order actually is appropriate. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T00:11:03.650438Z K 7 svn:log V 567 In total store which we use for running the kernel and all of the userland atomic operations behave as if the were followed by a memory barrier so there's no need to include ones in the acquire variants of atomic(9). Removing these results a small performance improvement, specifically this is sufficient to compensate the performance loss seen in the worldstone benchmark seen when using SCHED_ULE instead of SCHED_4BSD. This change is inspired by Linux even more radically doing the equivalent thing some time ago. Thanks go to Peter Jeremy for additional testing. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T00:22:24.471454Z K 7 svn:log V 155 - Add protective parentheses to macros as far as possible. - Move {r,w,}mb() to the top of this file where they live on most of the other architectures. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T00:31:30.799361Z K 7 svn:log V 262 Re-reading the Schizo errata suggests that it's actually tolerable to also use the streaming buffer of pre version 5/revision 2.3 hardware as long as we stay away from context flushes (which iommu(4) so far doesn't take advantage of). OpenSolaris does the same. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-01T05:56:25.783771Z K 7 svn:log V 109 Disable using wait in cpu_idle() until a better solution to timer and interrupt handling can be implemented. END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-10-01T09:16:07.006560Z K 7 svn:log V 141 Correct column with for device numbers made in previous change. The device number should be displayed using only five columns -- not eight. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-01T10:18:55.355007Z K 7 svn:log V 501 The sigwait(3) function shall not return EINTR, according to the POSIX/SUSvN. The sigwait(2) syscall does return EINTR, and libc.so.7 contains the wrapper sigwait(3) which hides EINTR from callers. The EINTR return is used by libthr to handle required cancellation point in the sigwait(3). To help the binaries linked against pre-libc.so.7, i.e. RELENG_6 and earlier, to have right ABI for sigwait(3), transform EINTR return from sigwait(2) into ERESTART. Discussed with: davidxu MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-01T11:49:24.848842Z K 7 svn:log V 36 MFC r211526: Reduce redundant code. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-01T11:59:45.212358Z K 7 svn:log V 239 MFC r212405 (by davidxu): Because POSIX does not allow EINTR to be returned from sigwait(), add a wrapper for it in libc and rework the code in libthr, the system call still can return EINTR, we keep this feature. Discussed with: davidxu END K 10 svn:author V 2 ed K 8 svn:date V 27 2011-10-01T12:19:48.000491Z K 7 svn:log V 431 Reimplement ctermid(). Even though POSIX allows us to return simply /dev/tty as a pathname identifying the controlling terminal of the running process, it is nicer if this function were actually useful, by returning the actual pathname of the controlling terminal. Implement ctermid() by using the kern.devname sysctl to resolve the actual name of /dev/tty. Don't use devname(3), since it may return bogus strings like #C:0x123. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-01T12:35:09.962502Z K 7 svn:log V 148 MFC r225172: Clarify the behaviour of sigwait() on signal interruption, and note the difference between sigwait() and sigtimedwait()/sigwaitinfo(). END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T13:11:29.395547Z K 7 svn:log V 145 Also allocate space for the PIL counters. Given that no machine actually uses IV_MAX interrupt vectors this wasn't a problem in practice though. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T13:16:01.376636Z K 7 svn:log V 80 Nuke SUN4U #ifdef's which with the demise of sun4v no longer serve any purpose. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-01T13:33:14.996798Z K 7 svn:log V 24 Remove obsolete macros. END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-01T13:47:50.087321Z K 7 svn:log V 106 MFC: r225775 - Move misplaced reference - Sort references - s/Since/Because/ Approved by: re (kib) END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-01T13:54:48.782723Z K 7 svn:log V 83 MFC: r225775 - Move misplaced reference - Sort references - s/Since/Because/ END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-01T15:10:33.306903Z K 7 svn:log V 262 - Do not report error if index found in next Additional Status descriptor is less then expected. Theoretically it may happen if Additional Status will be used for some new type in later spec. - Rephrase some error messages to make them a bit more informative. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-01T16:08:03.857952Z K 7 svn:log V 4 MFC END K 10 svn:author V 3 ume K 8 svn:date V 27 2011-10-01T18:20:10.501283Z K 7 svn:log V 75 Shut up warnings with Cyrus SASL 2.1.25. Spotted by: ache Tested by: ache END K 10 svn:author V 3 ume K 8 svn:date V 27 2011-10-01T19:58:35.902095Z K 7 svn:log V 77 MFC r225906: Shut up warnings with Cyrus SASL 2.1.25. Approved by: re (kib) END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-10-01T20:56:58.131064Z K 7 svn:log V 104 Reorder default ps(1) output according to reality. Submitted by: arundel (via docs@) MFC after: 1 week END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-01T22:16:16.597746Z K 7 svn:log V 25 - Add char format string END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-01T22:17:25.843777Z K 7 svn:log V 70 - Fix regression in pattern handling Reported by: aakuusta@gmail.com END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-01T22:19:22.372213Z K 7 svn:log V 47 - Fix pattern handling - Add a missing include END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-10-01T23:47:37.199372Z K 7 svn:log V 604 Tweaks to ps(1): - there's no reason the semantics of the -x flag are being explained in the -a flag description - be more precise regarding the relation between the -a flag and the security.bsd.see_other_uids sysctl - describe the format of the -t flag's argument - 'con' no longer is a possible entry in the 'TT' column - explain that the 'TT' column refers to pseudo-terminals via mere numbers - add a hint in the 'tt' keyword description that a keyword 'tty' exists, which will give the full terminal pathname Submitted by: arundel (via docs@) (original) MFC after: 1 week With-MFC: 225908 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T02:42:31.266689Z K 7 svn:log V 942 Fix a panic in the wifi stack when a software beacon miss occurs in the wrong state. The ieee80211_swbmiss() callout is not called with the ic lock held, so it's quite possible the scheduler will run the callout during a state change. This patch: * changes the swbmiss callout to be locked by the ic lock * enforces the ic lock being held across the beacon vap functions by grabbing it inside beacon_miss() and beacon_swmiss(). This ensures that the ic lock is held (and thus the VAP state stays constant) during beacon miss and software miss processing. Since the callout is removed whilst the ic lock is held, it also ensures that the ic lock can't be called during a state change or exhibit any race conditions seen above. Both Edgar and Joel report that this patch fixes the crash and doesn't introduce new issues. Reported by: Edgar Martinez Reported by: Joel Dahl Reported by: emaste END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T05:11:02.052448Z K 7 svn:log V 549 Put the txqactive and kickpcu flags behind ath_lock for now, to avoid racey access to them from different threads. Since the ath_intr() code can be called at the same time as a taskqueue, we need to ensure that these don't clash. It doesn't happen on my testing on single-core MIPS boards w/out PREEMPTION enabled. It's likely to happen on PREEMPTION kernels and with multi-core CPUs. The real solution is to do what the reference driver does - create a pcu lock and serialise all PCU access behind that. I'll look at doing this at a later time. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T08:48:47.972583Z K 7 svn:log V 210 Add the PCU mutex. This mutex may eventually be used to protect access to the PCU. The reference driver (and thus ath9k) serialises access to the PCU (TX, RX, reset/channel change, interrupts) through a lock. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2011-10-02T09:44:28.355476Z K 7 svn:log V 307 MFC r225339: Expose more variables from coretemp(4) via sysctl: - tjmax - Tj(max) value from the CPU - delta - current delta reading - resolution - sensor resolution in Celsius - throttle_log - whether a #PROCHOT was asserted since last reset Submitted by: Mark Johnston (mostly) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-02T11:13:28.451393Z K 7 svn:log V 269 MFC r225875, r225877: Handle the race in cpu_idle() when due to the critical section CPU could get into sleep after receiving interrupt, delaying interrupt thread execution indefinitely until the next interrupt arrive. Reviewed by: nwhitehorn Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-02T12:15:15.053403Z K 7 svn:log V 421 MFC r225869: - Add special support for the MFI_CMD ioctl with MFI_CMD_STP command, used by present MegaCLI version. It has some special meaning for the first s/g list entry, while the main s/g list begins from the the second entry, and those lists should remain separate after loading to the busdma map. - Fix bug in 32bit ioctl compatibility shims when s/g list consists of more then on element. Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-02T12:18:06.051158Z K 7 svn:log V 398 MFC r225869: - Add special support for the MFI_CMD ioctl with MFI_CMD_STP command, used by present MegaCLI version. It has some special meaning for the first s/g list entry, while the main s/g list begins from the the second entry, and those lists should remain separate after loading to the busdma map. - Fix bug in 32bit ioctl compatibility shims when s/g list consists of more then on element. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T13:29:29.654316Z K 7 svn:log V 155 Interrupt fixups: * Remove the RAC versions of things - it's very unlikely I'll enable it for any of the ar5416 -> ar9287 chips. * Other slight tidyups END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T13:43:06.729936Z K 7 svn:log V 308 Disable TX interrupt mitigation just for the time being. There are some timing concerns which I've yet to fully map out. In any case, there's an existing software driven mitigation method for TX interrupts and when TX'ing 11n frames, the whole frame itself generates an interrupt rather then the subframes. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T13:47:03.120801Z K 7 svn:log V 140 For now (ie: until autosleep support is fully fleshed out), always clear all of the RX status fields when initialising a new RX descriptor. END K 10 svn:author V 2 mr K 8 svn:date V 27 2011-10-02T13:48:15.598573Z K 7 svn:log V 1941 Bring nanobsd.sh up to date. MFC: r212938: Support new variable NANO_LABEL. r212990: Make the labels match the device name that's mounted, not just the slice they are on. r214955: - Set -x flag when executing customisation scripts to aid in debugging them. - Use KERNCONFDIR with KERNCONF instead of copying the kernel config into the source tree so included kernel configs work. - Put more stuff in the _.bk/_.ik log file, not just make statements. - Add the kernel config name to the pprint during kernel installation. - Add NANO_MODULES providing a list of modules to build and install. r215069: Document NANO_CFGDIR and NANO_DATADIR r215070: Build make.conf when the world is not selected to build, but the kernel is. r215081: Insulate the nanobsd build from the current system by opting out of the SRCCONF processing. r216144: _WITHOUT_SRCCONF has too much baggage. Instead, use the simpler SRCCONF=/dev/null. r216145: - Mount the device async when we're doing the copy. - Create a sparse file instead of a fully zerod one. This trades the possibiltiy of running out of space during the build for the speed gain not having do write all those zeros... r216928: Put in the other half of the SRCCONF patch. r216929: Bump the media size from approx 600MB to approx 750MB. The great hob-nailed tennis shoe of progress demands it! r220091: Use ${NANO_WORLDDIR}/var/empty as copy source since it has no schg flag set. r221850: Copy symbolic links as files rather than recreating the links. r221851: Implement -f to inhibit copying s1 partition out for speed. r221852: Add ${} around variable dereference... r221856: If there's no package directory, don't try to install packages from it. Instead, report that 0 packages are reported. r221877: Restore BOOT2CFG, accidentally removed in r212938. r222535: Don't need (and can't use) -L to copy links here. Parts of the MFC's requested by: jpaetzel@ END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T13:51:26.583087Z K 7 svn:log V 61 Document exactly what the RX interrupt mitigation timers do. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T14:08:56.619497Z K 7 svn:log V 2242 Various interrupt handling and RX interrupt mitigation fixes. * The AR_ISR_RAC interrupt processing method has a subtle bug in all the MAC revisions (including pre-11n NICs) until AR9300v2. If you're unlucky, the clear phase clears an update to one of the secondary registers, which includes TX status. This shows up as a "watchdog timeout" if you're doing very low levels of TX traffic. If you're doing a lot of non-11n TX traffic, you'll end up receiving a TX interrupt from some later traffic anyway. But when TX'ing 11n aggregation session traffic (which -HEAD isn't yet doing), you may find that you're only able to TX one frame (due to BAW restrictions) and this may end up hitting this race condition. The only solution is to not use RAC and instead use AR_ISR and the AR_ISR_Sx registers. The bit in AR_ISR which represents the secondary registers are not cleared; only the AR_ISR_Sx bits are. This way any updates which occur between the read and subsequent write will stay asserted and (correctly) trigger a subsequent interrupt. I've tested this on the AR5416, AR9160, AR9280. I will soon test the AR9285 and AR9287. * The AR_ISR TX and RX bits (and all others!) are set regardless of whether the contents of the AR_IMR register. So if RX mitigation is enabled, RXOK is going to be set in AR_ISR and it would normally set HAL_INT_RX. Fix the code to not set HAL_INT_RX when RXOK is set and RX mitigation is compiled in. That way the RX path isn't prematurely called. I would see: * An interrupt would come in (eg a beacon, or TX completion) where RXOK was set but RXINTM/RXMINT wasn't; * ath_rx_proc() be called - completing RX frames; * RXINTM/RXMINT would then fire; * ath_rx_proc() would then be called again but find no frames in the queue. This fixes the RX mitigation behaviour to not overly call ath_rx_proc(). * Start to flesh out more correct timer interrupt handling - it isn't kite/merlin specific. It's actually based on whether autosleep support is enabled or not. This is sourced from my 11n TX branch and has been tested for a few weeks. Finally, the interrupt handling change should likely be implemented for AR5210, AR5211 and AR5212. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-02T14:10:25.117777Z K 7 svn:log V 27 Remove an unused variable. END K 10 svn:author V 3 gjb K 8 svn:date V 27 2011-10-02T16:05:19.750120Z K 7 svn:log V 149 Correct a typo that was introduced in 225912 Submitted by: Valentin Nechayev (netch % netch!kiev!ua), arundel MFC after: 1 week With-MFC: 225908 END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-10-02T16:25:51.884739Z K 7 svn:log V 4 MFC END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-02T19:24:13.490673Z K 7 svn:log V 141 - Add a very primitive grep-alike that does not add too much overhead to the regex matching and thus can be used for benchmarking purposes END K 10 svn:author V 5 gabor K 8 svn:date V 27 2011-10-02T20:52:28.440073Z K 7 svn:log V 131 - Collating elements and equivalence classes are not necessarily fixed-length, so fall back to the full NFA on embedded brackets END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-02T23:22:38.282296Z K 7 svn:log V 2247 Make sparc64 compatible with NEW_PCIB and enable it: - Implement bus_adjust_resource() methods as far as necessary and in non-PCI bridge drivers as far as feasible without rototilling them. - As NEW_PCIB does a layering violation by activating resources at layers above pci(4) without previously bubbling up their allocation there, move the assignment of bus tags and handles from the bus_alloc_resource() to the bus_activate_resource() methods like at least the other NEW_PCIB enabled architectures do. This is somewhat unfortunate as previously sparc64 (ab)used resource activation to indicate whether SYS_RES_MEMORY resources should be mapped into KVA, which is only necessary if their going to be accessed via the pointer returned from rman_get_virtual() but not for bus_space(9) as the later always uses physical access on sparc64. Besides wasting KVA if we always map in SYS_RES_MEMORY resources, a driver also may deliberately not map them in if the firmware already has done so, possibly in a special way. So in order to still allow a driver to decide whether a SYS_RES_MEMORY resource should be mapped into KVA we let it indicate that by calling bus_space_map(9) with BUS_SPACE_MAP_LINEAR as actually documented in the bus_space(9) page. This is implemented by allocating a separate bus tag per SYS_RES_MEMORY resource and passing the resource via the previously unused bus tag cookie so we later on can call rman_set_virtual() in sparc64_bus_mem_map(). As a side effect this now also allows to actually indicate that a SYS_RES_MEMORY resource should be mapped in as cacheable and/or read-only via BUS_SPACE_MAP_CACHEABLE and BUS_SPACE_MAP_READONLY respectively. - Do some minor cleanup like taking advantage of rman_init_from_resource(), factor out the common part of bus tag allocation into a newly added sparc64_alloc_bus_tag(), hook up some missing newbus methods and replace some homegrown versions with the generic counterparts etc. - While at it, let apb_attach() (which can't use the generic NEW_PCIB code as APB bridges just don't have the base and limit registers implemented) regarding the config space registers cached in pcib_softc and the SYSCTL reporting nodes set up. END K 10 svn:author V 6 marius K 8 svn:date V 27 2011-10-02T23:31:14.826380Z K 7 svn:log V 56 Actually enable NEW_PCIB by default, missed in r225931. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-10-03T10:23:28.589567Z K 7 svn:log V 85 MFC r225662: Cleanup #PROCHOT sticky assertion. Sponsored by: Sandvine Incorporated END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-03T12:12:03.996280Z K 7 svn:log V 105 Port over the radar pulse decoding code common to the AR5416 and later chipsets. Obtained from: Atheros END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-03T14:11:54.062207Z K 7 svn:log V 57 Add missing ATH_PCU_LOCK_DESTROY calls. Noticed by: ray END K 10 svn:author V 7 attilio K 8 svn:date V 27 2011-10-03T14:23:00.436183Z K 7 svn:log V 466 Add some improvements in the idle table callbacks: - Replace instances of manual assembly instruction "hlt" call with halt() function calling. - In cpu_idle_mwait() avoid races in check to sched_runnable() using the same pattern used in cpu_idle_hlt() with the 'hlt' instruction. - Add comments explaining the logic behind the pattern used in cpu_idle_hlt() and other idle callbacks. In collabouration with: jhb, mav Reviewed by: adri, kib MFC after: 3 weeks END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-10-03T15:13:09.215128Z K 7 svn:log V 291 Farewall, sysinstall! You served us well for many years, but 10.0 is one digit beyond your time. Various sysinstall dependencies (e.g. libftpio, libdisk, libodialog, etc.) will be cleaned up in coming days. Some will take longer than others due to a few other consumers (tzsetup and sade). END K 10 svn:author V 5 trasz K 8 svn:date V 27 2011-10-03T15:32:15.673514Z K 7 svn:log V 164 Fix bug introduced in r225641, which would cause panic if racct_proc_fork() returned error -- the racct_destroy_locked() would get called twice. MFC after: 3 days END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-03T16:02:55.664584Z K 7 svn:log V 28 Remove some duplicate code. END K 10 svn:author V 5 trasz K 8 svn:date V 27 2011-10-03T16:23:20.689947Z K 7 svn:log V 160 Fix another bug introduced in r225641, which caused rctl to access certain fields in 'struct proc' before they got initialized in do_fork(). MFC after: 3 days END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-03T16:30:18.556942Z K 7 svn:log V 172 Fix an unaligned access issue; tidy up OFDM/DS rate decoding from the PLCP. This fixes a panic on PPC. Submitted by: novel Obtained from: OpenBSD, sys/dev/ic/bwi.c r1.89 END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-03T16:58:58.481021Z K 7 svn:log V 98 Assert that exiting process does not return to usermode. Reviewed by: avg, jhb MFC after: 1 week END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-03T17:01:31.796487Z K 7 svn:log V 179 Do not allow the kernel to access usermode pages without installed fault handler. Panic immediately in such situation, on i386 and amd64. Reviewed by: avg, jhb MFC after: 1 week END K 10 svn:author V 5 trasz K 8 svn:date V 27 2011-10-03T17:40:55.356277Z K 7 svn:log V 128 Move some code inside the racct_proc_fork(); it spares a few lock operations and it's more logical this way. MFC after: 3 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2011-10-03T18:05:51.294779Z K 7 svn:log V 93 Remove a redundant check for libncp. Submitted by: Alexander Sack (asack at niksun dot com) END K 10 svn:author V 6 qingli K 8 svn:date V 27 2011-10-03T19:06:55.933168Z K 7 svn:log V 158 This patch allows ARP to work properly in the presence of self-referencing routes. This patch is a rework of r223862. Reviewed by: bz, zec MFC after: 5 days END K 10 svn:author V 6 qingli K 8 svn:date V 27 2011-10-03T19:51:18.851239Z K 7 svn:log V 491 A system may have multiple physical interfaces, all of which are on the same prefix. Since a single route entry is installed for the prefix (without RADIX_MPATH), incoming packets on the interfaces that are not associated with the prefix route may trigger an error message about unable to allocation LLE entry, and fails L2. This patch makes sure a valid route is present in the system, and allow the aforementioned condition to exist and treats as valid. Reviewed by: bz MFC after: 5 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-03T20:05:21.275310Z K 7 svn:log V 187 Restore the td_syscalls counter, that was erronously removed in the r225855. Note that this is a direct commit to stable/8, td_syscalls was removed in head by r210138. Submitted by: jhb END K 10 svn:author V 3 dim K 8 svn:date V 27 2011-10-03T20:27:51.959397Z K 7 svn:log V 259 MFC r225880: Revive the LLVM and Clang license files, which were removed in my too-thorough cleanup of unused files, in r213695. Also make sure these get installed under /usr/share/doc. Submitted by: rwatson, brooks Pointy hat to: dim Approved by: re (kib) END K 10 svn:author V 3 ken K 8 svn:date V 27 2011-10-03T20:32:55.957564Z K 7 svn:log V 5221 Add descriptor sense support to CAM, and honor sense residuals properly in CAM. Desriptor sense is a new sense data format that originated in SPC-3. Among other things, it allows for an 8-byte info field, which is necessary to pass back block numbers larger than 4 bytes. This change adds a number of new functions to scsi_all.c (and therefore libcam) that abstract out most access to sense data. This includes a bump of CAM_VERSION, because the CCB ABI has changed. Userland programs that use the CAM pass(4) driver will need to be recompiled. camcontrol.c: Change uses of scsi_extract_sense() to use scsi_extract_sense_len(). Use scsi_get_sks() instead of accessing sense key specific data directly. scsi_modes: Update the control mode page to the latest version (SPC-4). scsi_cmds.c, scsi_target.c: Change references to struct scsi_sense_data to struct scsi_sense_data_fixed. This should be changed to allow the user to specify fixed or descriptor sense, and then use scsi_set_sense_data() to build the sense data. ps3cdrom.c: Use scsi_set_sense_data() instead of setting sense data manually. cam_periph.c: Use scsi_extract_sense_len() instead of using scsi_extract_sense() or accessing sense data directly. cam_ccb.h: Bump the CAM_VERSION from 0x15 to 0x16. The change of struct scsi_sense_data from 32 to 252 bytes changes the size of struct ccb_scsiio, but not the size of union ccb. So the version must be bumped to prevent structure mis-matches. scsi_all.h: Lots of updated SCSI sense data and other structures. Add function prototypes for the new sense data functions. Take out the inline implementation of scsi_extract_sense(). It is now too large to put in a header file. Add macros to calculate whether fields are present and filled in fixed and descriptor sense data scsi_all.c: In scsi_op_desc(), allow the user to pass in NULL inquiry data, and we'll assume a direct access device in that case. Changed the SCSI RESERVED sense key name and description to COMPLETED, as it is now defined in the spec. Change the error recovery action for a number of read errors to prevent lots of retries when the drive has said that the block isn't accessible. This speeds up reconstruction of the block by any RAID software running on top of the drive (e.g. ZFS). In scsi_sense_desc(), allow for invalid sense key numbers. This allows calling this routine without checking the input values first. Change scsi_error_action() to use scsi_extract_sense_len(), and handle things when invalid asc/ascq values are encountered. Add a new routine, scsi_desc_iterate(), that will call the supplied function for every descriptor in descriptor format sense data. Add scsi_set_sense_data(), and scsi_set_sense_data_va(), which build descriptor and fixed format sense data. They currently default to fixed format sense data. Add a number of scsi_get_*() functions, which get different types of sense data fields from either fixed or descriptor format sense data, if the data is present. Add a number of scsi_*_sbuf() functions, which print formatted versions of various sense data fields. These functions work for either fixed or descriptor sense. Add a number of scsi_sense_*_sbuf() functions, which have a standard calling interface and print the indicated field. These functions take descriptors only. Add scsi_sense_desc_sbuf(), which will print a formatted version of the given sense descriptor. Pull out a majority of the scsi_sense_sbuf() function and put it into scsi_sense_only_sbuf(). This allows callers that don't use struct ccb_scsiio to easily utilize the printing routines. Revamp that function to handle descriptor sense and use the new sense fetching and printing routines. Move scsi_extract_sense() into scsi_all.c, and implement it in terms of the new function, scsi_extract_sense_len(). The _len() version takes a length (which should be the sense length - residual) and can indicate which fields are present and valid in the sense data. Add a couple of new scsi_get_*() routines to get the sense key, asc, and ascq only. mly.c: Rename struct scsi_sense_data to struct scsi_sense_data_fixed. sbp_targ.c: Use the new sense fetching routines to get sense data instead of accessing it directly. sbp.c: Change the firewire/SCSI sense data transformation code to use struct scsi_sense_data_fixed instead of struct scsi_sense_data. This should be changed later to use scsi_set_sense_data(). ciss.c: Calculate the sense residual properly. Use scsi_get_sense_key() to fetch the sense key. mps_sas.c, mpt_cam.c: Set the sense residual properly. iir.c: Use scsi_set_sense_data() instead of building sense data by hand. iscsi_subr.c: Use scsi_extract_sense_len() instead of grabbing sense data directly. umass.c: Use scsi_set_sense_data() to build sense data. Grab the sense key using scsi_get_sense_key(). Calculate the sense residual properly. isp_freebsd.h: Use scsi_get_*() routines to grab asc, ascq, and sense key values. Calculate and set the sense residual. MFC after: 3 days Sponsored by: Spectra Logic Corporation END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-10-03T20:46:36.322926Z K 7 svn:log V 92 Fix a number of platform problems in this file (mostly assuming that only amd64 has lib32). END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2011-10-03T20:49:02.840316Z K 7 svn:log V 74 Now that its only consumer is gone (sysinstall), remove libftpio as well. END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-03T21:19:15.884578Z K 7 svn:log V 272 Revert r225875, r225877: It is reported that on some chips (e.g. the 970MP) behavior of POW bit set simultaneously with modifying other bits is undefined and may cause hangs. The race should be handled in some other way, but for now just get back. Reported by: nwitehorn END K 10 svn:author V 6 ivoras K 8 svn:date V 27 2011-10-03T21:48:10.889466Z K 7 svn:log V 68 Don't chop IO into small pieces, follow cp(1) and just use MAXPHYS. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2011-10-04T00:15:40.214507Z K 7 svn:log V 44 Allow ixp425 boot2 to compile after r219452 END K 10 svn:author V 6 emaste K 8 svn:date V 27 2011-10-04T00:29:10.143658Z K 7 svn:log V 637 MFC r225798: Improve battery capacity reporting When a status pointer is passed in mfi_dcmd_command does not return an errno (if the ioctl is successful), so move the test for NO_HW_PRESENT outside of the error case. This should fix incorrect reporting for systems with a dead or no battery. Additionally, handle error codes other than NO_HW_PRESENT by omitting the battery capacity display. LSI's supercap-based parts (CV series) report their data using the same interface as battery-based parts, except that they do not include the capacity stats (state of charge, cumulative charge cycles, etc.) PR: bin/160581 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-04T00:32:10.809697Z K 7 svn:log V 416 Add an AR5416 aware version of the "current RSSI" function. Pre-11n devices and AR5416 use AR_PHY(263) for current RX RSSI. AR9130 and later have a fourth calibration register (for doing ADC calibration) and thus the register has moved to AR_PHY(271). This isn't currently used by any of the active code; I'm committing this for completeness and in case any third party code attempts to use it for legacy reasons. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-04T04:00:29.901901Z K 7 svn:log V 65 Add a debugging twiddle - something to force a bstuck condition. END K 10 svn:author V 6 grehan K 8 svn:date V 27 2011-10-04T04:13:34.630114Z K 7 svn:log V 14 IFC @ r225957 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-04T06:46:12.783201Z K 7 svn:log V 2152 Begin fleshing out queue handling during reset conditions. Right now, all TX/RX queues are flushed during a reset. For non-11n and 11n in non-addba, this just shows up as packet loss. But for 11n + addba, this introduces holes in the TX/RX BAW tracking algorithm and can result in traffic actually hanging. The eventual aim here is to select whether to flush the TX/RX queue during a reset, or handle the RX frames and reschedule the incomplete TX frames. There are complications however! * If the flush is due to a stuck beacon or non-opmode config change (eg interference mitigation) then it's pretty clear, we can reschedule TX frames. * If the flush is due to a frequency change, then yes, we have to flush everything and (I -think-) re-establish association and TX/RX addba state. I'll have to go over the spec (and implementations) to see what to do. * If the flush is due to a channel width change, then we could in theory just handle all RX frames and resubmit all the TX frames for retransmission after correctly adjusting the rate control for the new width/GI. However we don't currently have a separate call for that - it's just done as a channel change. * On a reset, we need to stop the RX DMA (so the MAC doesn't ACK any further frames) before we handle what's in the queue - and we need to ensure that the PCU and PCU RX DMA isn't re-enabled. * If _any_ frames are dropped in an active aggregation session (and it's not a full reset due to a channel change) then we're going to have to TX a BAR frame. This is likely going to crop up if we're doing things like channel width management as I bet the general implementations out there expect to be able to do this without dropping the association and addba state. In addition, we can't just call ath_rx_proc() from ath_reset() as things stand because it's quite possible that ath_reset() will be called from a non- taskqueue context (ie, an ioctl via net80211, or a net80211 task/callout.) So before we can properly handle RX (and maybe TX, I haven't yet fully audited all of that) we'll need to introduce the PCU locking to ensure things don't race. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T09:55:15.862493Z K 7 svn:log V 165 MFC r225699: Restore the writing of the .bss sections of the dsos. Revert the optimization of using mprotect(2) to establish .bss, overlap the section with mmap(2). END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-10-04T10:00:28.854247Z K 7 svn:log V 634 MFC r225809: When script(1) reads EOF from input it starts spinning on zero-byte reads eating 100% CPU. Fix this by skipping select on STDIN after reading EOF -- permanently if STDIN is not terminal and for one second if it is. Also after reading EOF from STDIN we have to pass it to the program being scripted. The previous approach was to write zero bytes into the pseudo-terminal. This does not work because zero-byte write does not have any effect on read. Fix this by sending VEOF instead. Submitted by: Ronald Klop Discussed with: kib, Chris Torek Approved by: re (kib) END K 10 svn:author V 3 mav K 8 svn:date V 27 2011-10-04T10:02:14.074125Z K 7 svn:log V 309 MFC 225953: Revert r225875, r225877: It is reported that on some chips (e.g. the 970MP) behavior of POW bit set simultaneously with modifying other bits is undefined and may cause hangs. The race should be handled in some other way, but for now just get back. Reported by: nwitehorn Approved by: re (kib) END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T10:08:02.010922Z K 7 svn:log V 60 MFC r225790: Install ciss(4) ioctl header. PR: kern/109813 END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T11:02:48.901755Z K 7 svn:log V 348 MFC r225793: Unbreak no-ip and no-inet6 module builds with ipfw. For now continue to build the ip_fw_pfil.c hooks and ipfw even in case of no-ip under the assumption that the private L2 hook (which hopefully eventually will be a pfil hook as well) can still be useful. Allow building the module without inet as well. Approved by: re (kib) END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-10-04T11:08:31.807287Z K 7 svn:log V 611 MFC r225809: When script(1) reads EOF from input it starts spinning on zero-byte reads eating 100% CPU. Fix this by skipping select on STDIN after reading EOF -- permanently if STDIN is not terminal and for one second if it is. Also after reading EOF from STDIN we have to pass it to the program being scripted. The previous approach was to write zero bytes into the pseudo-terminal. This does not work because zero-byte write does not have any effect on read. Fix this by sending VEOF instead. Submitted by: Ronald Klop Discussed with: kib, Chris Torek END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T11:08:44.771352Z K 7 svn:log V 81 MFC r225790: Install ciss(4) ioctl header. PR: kern/109813 Approved by: re (bz) END K 10 svn:author V 7 trociny K 8 svn:date V 27 2011-10-04T11:10:11.909838Z K 7 svn:log V 610 MFC r225809: When script(1) reads EOF from input it starts spinning on zero-byte reads eating 100% CPU. Fix this by skipping select on STDIN after reading EOF -- permanently if STDIN is not terminal and for one second if it is. Also after reading EOF from STDIN we have to pass it to the program being scripted. The previous approach was to write zero bytes into the pseudo-terminal. This does not work because zero-byte write does not have any effect on read. Fix this by sending VEOF instead. Reported by: Ronald Klop Discussed with: kib, Chris Torek END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T11:23:03.873703Z K 7 svn:log V 90 MFC r225677: Do not overallocate on the stack. Threaded code might use custom stack size. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T11:35:18.426981Z K 7 svn:log V 473 MFC r225837: Pass the fibnum where we need filtering of the message on the rtsock allowing routing daemons to filter routing updates on an rtsock per FIB. Adjust raw_input() and split it into wrapper and a new function taking an optional callback argument even though we only have one consumer [1] to keep the hackish flags local to rtsock.c. Submitted by: multiple (see PR) Suggested by: rwatson [1] Reviewed by: rwatson PR: kern/134931 Approved by: re (kib) END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T12:45:24.540071Z K 7 svn:log V 317 MFC r225885: Fix an obvious bug from r186196 shadowing a variable, not correctly appending the new mbuf to the chain reference but possibly causing an mbuf nextpkt loop leading to a memory used after handoff (or having been freed) and leaking an mbuf here. Reviewed by: rwatson, brooks Approved by: re (kib) END K 10 svn:author V 3 lev K 8 svn:date V 27 2011-10-04T13:05:07.066685Z K 7 svn:log V 50 Start integrating geom-events project into SVN. END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T13:14:24.072445Z K 7 svn:log V 110 Convert ARM to the syscallenter/syscallret system call sequence handlers. Tested by: gber MFC after: 1 month END K 10 svn:author V 3 kib K 8 svn:date V 27 2011-10-04T13:15:12.574260Z K 7 svn:log V 64 Remove no longer valid statement about ARM. MFC after: 1 month END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T13:18:14.483301Z K 7 svn:log V 452 MFC r225837: Pass the fibnum where we need filtering of the message on the rtsock allowing routing daemons to filter routing updates on an rtsock per FIB. Adjust raw_input() and split it into wrapper and a new function taking an optional callback argument even though we only have one consumer [1] to keep the hackish flags local to rtsock.c. PR: kern/134931 Submitted by: multiple (see PR) Suggested by: rwatson [1] Reviewed by: rwatson END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T13:19:21.938808Z K 7 svn:log V 466 MFC r225837: Pass the fibnum where we need filtering of the message on the rtsock allowing routing daemons to filter routing updates on an rtsock per FIB. Adjust raw_input() and split it into wrapper and a new function taking an optional callback argument even though we only have one consumer [1] to keep the hackish flags local to rtsock.c. PR: kern/134931 Submitted by: multiple (see PR) Suggested by: rwatson [1] Reviewed by: rwatson END K 10 svn:author V 4 nyan K 8 svn:date V 27 2011-10-04T13:24:22.095768Z K 7 svn:log V 429 MFi386: revision 225936 Add some improvements in the idle table callbacks: - Replace instances of manual assembly instruction "hlt" call with halt() function calling. - In cpu_idle_mwait() avoid races in check to sched_runnable() using the same pattern used in cpu_idle_hlt() with the 'hlt' instruction. - Add comments explaining the logic behind the pattern used in cpu_idle_hlt() and other idle callbacks. END K 10 svn:author V 2 bz K 8 svn:date V 27 2011-10-04T13:31:57.296542Z K 7 svn:log V 293 MFC r225885: Fix an obvious bug from r186196 shadowing a variable, not correctly appending the new mbuf to the chain reference but possibly causing an mbuf nextpkt loop leading to a memory used after handoff (or having been freed) and leaking an mbuf here. Reviewed by: rwatson, brooks END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-04T14:25:10.049937Z K 7 svn:log V 76 Update the comment to reflect what is actually going on. Submitted by: mux END K 10 svn:author V 6 adrian K 8 svn:date V 27 2011-10-04T14:26:45.364763Z K 7 svn:log V 318 Handle the situation where fixups_close() has been called but more fixups are still available on the queue. Without this, the fixups producer/consumer pipeline will artifically terminate before all of the fixups have been processed, leading to incomplete updates and generally quite unhappy users. Submitted by: mux END K 10 svn:author V 5 trasz K 8 svn:date V 27 2011-10-04T14:56:33.250485Z K 7 svn:log V 77 Actually enforce limit for inheritable resources on fork. MFC after: 3 days END K 10 svn:author V 3 des K 8 svn:date V 27 2011-10-04T15:00:54.356388Z K 7 svn:log V 15 latin1 -> utf8 END K 10 svn:author V 3 des K 8 svn:date V 27 2011-10-04T15:06:11.512061Z K 7 svn:log V 63 MFH r225852: regenerate after hpn patch Approved by: re (kib) END K 10 svn:author V 3 lev K 8 svn:date V 27 2011-10-04T16:47:18.297029Z K 7 svn:log V 418 Locally fix kern/160562: Allow to insert new component to geom_raid3 without specifying number. Now "geom_raid3" requires "-n " argument for "insert" command, which insert new component instead of removed (or failed) one. It is not convient in most cases (one lost component). This patch allows not to specify component number. In such case new component is added instead of first missed component. END K 10 svn:author V 3 lev K 8 svn:date V 27 2011-10-04T16:48:57.028840Z K 7 svn:log V 64 Add ggetmode(8) - utility to check open mode of geom provider. END K 10 svn:author V 3 lev K 8 svn:date V 27 2011-10-04T16:51:59.982225Z K 7 svn:log V 50 Add g_notify_* wrappers around devctl_notify(). END K 10 svn:author V 2 ae K 8 svn:date V 27 2011-10-04T16:52:25.092063Z K 7 svn:log V 148 Please welcome Alexander V. Chernikov (melifaro@) as a new src committer. Konstantin Belousov and I will be mentoring Alexander. Approved by: core END K 10 svn:author V 6 marcel K 8 svn:date V 27 2011-10-04T16:53:11.345116Z K 7 svn:log V 49 Fix build when DEBUG is defined (e.g. for LINT). END K 10 svn:author V 3 lev K 8 svn:date V 27 2011-10-04T16:54:21.869348Z K 7 svn:log V 118 Add geom-events(8) script ad all needeed configuration files and references. More details are in geom-events(8). END K 10 svn:author V 6 marcel K 8 svn:date V 27 2011-10-04T16:55:53.107931Z K 7 svn:log V 77 Include opt_* headers first. Otherwise we can end up with redefined symbols. END