ĦV248837 159 640 249 468 268 468 427 749 133 182 197 137 338 399 453 284 499 133 313 376 736 209 717 717 744 603 630 206 109 197 164 204 465 99 109 116 360 99 130 153 239 133 1849 133 910 330 146 108 364 565 244 280 197 197 215 176 229 201 168 429 220 358 259 163 258 415 136 139 200 256 372 247 176 313 377 497 168 329 490 183 120 168 149 224 126 110 794 539 335 502 324 822 272 95 169 144 333 181 178 170 3321 623 204 315 508 155 430 166 162 167 299 176 176 162 162 153 461 170 254 280 291 317 280 331 201 269 268 510 3161 564 936 167 187 338 346 186 243 197 127 133 228 167 179 174 318 146 454 755 326 257 124 547 543 114 111 404 525 188 210 432 K 10 svn:author V 5 andre K 8 svn:date V 27 2013-03-28T17:06:08.038346Z K 7 svn:log V 545 Add peer and key handling for listen and connected sockets as well as the setsockopt() key interface. When TCP-AO is activated on a TCP socket a tcp_ao control block is allocated and attached to the tcpcb. An arbitrary number of peer addresses and keys can be added. On accepting of a new incoming connection only the peers keys are copied to the new socket. On outbound connecting sockets only the keys for the peer address will be kept. Some parts are not fully implemented yet and other may change again. Sponsored by: Juniper Networks END K 10 svn:author V 4 will K 8 svn:date V 27 2013-03-28T17:07:02.368380Z K 7 svn:log V 155 KGDB: Accept KLD symbol files with the ".symbols" extension. Submitted by: gibbs Approved by: ken (mentor) Sponsored by: Spectra Logic MFC after: 1 month END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-28T17:27:46.672223Z K 7 svn:log V 372 MFC r247279 The 5300 series ciss(4) board does not work in performant mode with our currnet initialization sequence. Set it to simple mode only so that systems can be updated from stable/7 to newer installations. At some point, we should figure out why we cannot initialize performant mode on this board. PR: kern/153361 Reviewed by: scottl Obtained from: Yahoo! Inc END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-03-28T18:03:39.280393Z K 7 svn:log V 174 Add the "-g " option to the vmrun.sh script that enables remote debugging of the guest via kgdb. See also: https://wiki.freebsd.org/BHyVe/gdb Obtained from: NetApp END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-28T18:06:09.265831Z K 7 svn:log V 372 MFC r247279 The 5300 series ciss(4) board does not work in performant mode with our currnet initialization sequence. Set it to simple mode only so that systems can be updated from stable/7 to newer installations. At some point, we should figure out why we cannot initialize performant mode on this board. PR: kern/153361 Reviewed by: scottl Approved by: re (marius@) END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2013-03-28T19:15:54.291643Z K 7 svn:log V 331 Update hwpmc to support Haswell class processors. 0x3C: /* Per Intel document 325462-045US 01/2013. */ Add manpage to document all the goodness that is available in this processor model. Submitted by: hiren panchasara Reviewed by: jimharris, sbruno Obtained from: Yahoo! Inc. MFC after: 2 weeks END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-28T19:27:06.671943Z K 7 svn:log V 653 Bring over the initial, CPU-only UART support for the AR933x SoC. This implements the kernel glue needed (getc, putc, rxready). This isn't a 16550 UART, even if the datasheet overview claims so. The Linux ar933x support was used as a reference, however the uart code is a reimplementation. Attentive viewers will note that the uart code is based off of the ns8250 code and the UART bus code is a stubbed-out version of this. I'll be replacing it with non-stubbed versions soon, making this a fully featured driver. Tested: * AP121 reference board (AR933x), booting through the mountroot> prompt; then doing some basic interactive tests in ddb. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-28T19:30:56.814957Z K 7 svn:log V 38 Tie in the AR933x support into -HEAD. END K 10 svn:author V 3 gnn K 8 svn:date V 27 2013-03-28T20:12:46.538259Z K 7 svn:log V 90 Remove dependency code that caused a double inclusion. Pointed out by: rpaulo and others END K 10 svn:author V 3 gnn K 8 svn:date V 27 2013-03-28T20:22:43.678906Z K 7 svn:log V 104 Revert previous change in favor of a fix to the actual dtrace libraries that addresses a #pragma issue. END K 10 svn:author V 3 ray K 8 svn:date V 27 2013-03-28T20:27:01.758727Z K 7 svn:log V 45 MFC@r248830 Approved by: ed (project owner) END K 10 svn:author V 3 gnn K 8 svn:date V 27 2013-03-28T20:31:03.215019Z K 7 svn:log V 245 Commit a patch that fixes a problem in the #pragma statement when searching for and loading dependent modules. This addresses a bug seen with io.d where it was being doubly included. PR: 171678 Submitted by: Mark Johnston MFC after: 2 weeks END K 10 svn:author V 4 fanf K 8 svn:date V 27 2013-03-28T20:33:07.823202Z K 7 svn:log V 305 Update to upstream version 2.7 The most notable new feature is support for processing multiple files in one invocation. There is also support for more make-friendly exit statuses. The most notable bug fix is #line directives now include the input file name. Obtained from: http://dotat.at/prog/unifdef END K 10 svn:author V 7 delphij K 8 svn:date V 27 2013-03-28T20:35:37.919473Z K 7 svn:log V 356 Version bumps after releng/8.4 branch: Makefile: * Update the CVS branch tag. release/Makefile: * Update RELEASETAG and SVNBRANCH. share/examples/cvsup/standard-supfile: * Update to have "make update" pull from RELENG_8_4. sys/sys/param.h: * Update __FreeBSD_version to 804000 to reflect releng/8.4 has been branched. Approved by: re (rodrigc) END K 10 svn:author V 5 markj K 8 svn:date V 27 2013-03-28T20:37:07.196375Z K 7 svn:log V 189 Ignore interface renames instead of removing the interface from the bridge group. Reviewed by: rstone Approved by: rstone (co-mentor) Sponsored by: Sandvine Incorporated MFC after: 1 week END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-03-28T20:48:40.106094Z K 7 svn:log V 403 MFC r244183 by glebius: Fix problem in r238990 (MFC'd in r240313). The LLE_LINKED flag should be tested prior to entering llentry_free(), and in case if we lose the race, we should simply perform LLE_FREE_LOCKED(). Otherwise, if the race is lost by the thread performing arptimer(), it will remove two references from the lle instead of one. Reported by: Ian FREISLICH END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-28T20:48:58.174330Z K 7 svn:log V 38 Initial (unfinished!) AR933x support. END K 10 svn:author V 5 jamie K 8 svn:date V 27 2013-03-28T21:02:49.052702Z K 7 svn:log V 218 Reverse the order of some implicit commands (FS mounts and ifconfigs) when stopping jails. This matters particularly for nested filesystem mounts. PR: kern/177325 Submitted by: Harald Schmalzbauer MFC after: 3 days END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-03-28T21:26:19.199813Z K 7 svn:log V 282 Allow caller to skip 'guest linear address' validation when doing instruction decode. This is to accomodate hardware assist implementations that do not provide the 'guest linear address' as part of nested page fault collateral. Submitted by: Anish Gupta (akgupt3 at gmail dot com) END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-03-28T22:49:49.545120Z K 7 svn:log V 640 Welcome clang as the default compiler on ARM. Change the default compiler for little-endian ARM to clang to allow for more testing before 10.0 is released. As LLVM and clang currnetly lack support for big-endian ARM leave gcc as the default there. This will also allow us to investigate moving to use the hard floating-point version of the ARM EABI on SoCs that include the Vector Floating Point unit. A version of this is included in all ARMv6 and ARMv7 SoCs we currently, and are likely to support. Both the current ABI and the new EABI are supported by clang and it will be built correctly depending on which is selected by the user. END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-03-28T22:52:42.191994Z K 7 svn:log V 116 - Update hardware notes to reflect that amd64 is no longer "young"[1] - Bump copyright year Patched by: skreuzer END K 10 svn:author V 7 yongari K 8 svn:date V 27 2013-03-29T00:21:36.001377Z K 7 svn:log V 620 MFC r248226: r241438 broke IPMI access on Sun Fire X2200 M2(BCM5715). Fix the IPMI regression by sending BGE_FW_DRV_STATE_UNLOAD to ASF/IPMI firmware in driver attach phase. Sending heartheat to ASF/IPMI is enabled only after upping interface so setting driver state to BGE_FW_DRV_STATE_START in attach phase broke IPMI access. While I'm here, add NVRAM arbitration lock before performing controller reset. ASF/IPMI firmware may be able to access the NVRAM while controller reset is in progress. Without the arbitration lock before resetting the controller, ASF/IPMI may not initialize properly. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2013-03-29T00:22:43.260981Z K 7 svn:log V 620 MFC r248226: r241438 broke IPMI access on Sun Fire X2200 M2(BCM5715). Fix the IPMI regression by sending BGE_FW_DRV_STATE_UNLOAD to ASF/IPMI firmware in driver attach phase. Sending heartheat to ASF/IPMI is enabled only after upping interface so setting driver state to BGE_FW_DRV_STATE_START in attach phase broke IPMI access. While I'm here, add NVRAM arbitration lock before performing controller reset. ASF/IPMI firmware may be able to access the NVRAM while controller reset is in progress. Without the arbitration lock before resetting the controller, ASF/IPMI may not initialize properly. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2013-03-29T00:32:31.705276Z K 7 svn:log V 647 MFC r248226: r241438 broke IPMI access on Sun Fire X2200 M2(BCM5715). Fix the IPMI regression by sending BGE_FW_DRV_STATE_UNLOAD to ASF/IPMI firmware in driver attach phase. Sending heartheat to ASF/IPMI is enabled only after upping interface so setting driver state to BGE_FW_DRV_STATE_START in attach phase broke IPMI access. While I'm here, add NVRAM arbitration lock before performing controller reset. ASF/IPMI firmware may be able to access the NVRAM while controller reset is in progress. Without the arbitration lock before resetting the controller, ASF/IPMI may not initialize properly. Approved by: re (glebius) END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-03-29T02:09:46.964294Z K 7 svn:log V 507 MFC 247870: Remove the virtio dependency entry for the VirtIO device drivers. This will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason. Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function. END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-03-29T02:14:57.846844Z K 7 svn:log V 534 MFC 247870: Remove the virtio dependency entry for the VirtIO device drivers. This will prevent the kernel from linking if the device driver are included without the virtio module. Remove pci and scbus for the same reason. Also explain the relationship and necessity of the virtio and virtio_pci modules. Currently in FreeBSD, we only support VirtIO PCI, but it could be replaced with a different interface (like MMIO) and the device (network, block, etc) will still function. Approved by: re (marius@) END K 10 svn:author V 6 bryanv K 8 svn:date V 27 2013-03-29T03:45:58.750803Z K 7 svn:log V 110 Revert what is left of r240427 Ease the work of this branch by changing the write membar into just a membar. END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-29T05:39:25.737230Z K 7 svn:log V 14 MFC @ r248863 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-29T06:31:31.545288Z K 7 svn:log V 101 Print out the platform reference frequency. This is useful for AR933x platforms where that matters. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-29T06:32:02.380451Z K 7 svn:log V 69 * Fix clock register definitions * Add maximum clock register values END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-29T06:32:39.141424Z K 7 svn:log V 108 For the AR933x UART, the serial clock is not the AHB clock, it's the reference clock. So use that instead. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T07:50:47.402109Z K 7 svn:log V 372 Implement CAM_PERIPH_FOREACH() macro, safely iterating over the list of driver's periphs, acquiring and releaseing periph references while doing it. Use it to iterate over the lists of ada and da periphs when flushing caches and putting devices to sleep on shutdown and suspend. Previous code could panic in theory if some device disappear in the middle of the process. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-29T07:58:22.207751Z K 7 svn:log V 4 MFC END K 10 svn:author V 4 joel K 8 svn:date V 27 2013-03-29T08:12:09.793636Z K 7 svn:log V 16 Minor mdoc fix. END K 10 svn:author V 4 joel K 8 svn:date V 27 2013-03-29T08:32:49.500522Z K 7 svn:log V 23 Remove EOL whitespace. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T08:33:18.356740Z K 7 svn:log V 267 Make pre-shutdown flush and spindown routines to not use xpt_polled_action(), but execute the commands in regular way. There is no any reason to cook CPU while the system is still fully operational. After this change polling in CAM is used only for kernel dumping. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2013-03-29T08:49:27.698941Z K 7 svn:log V 4 MFC END K 10 svn:author V 6 marius K 8 svn:date V 27 2013-03-29T11:53:20.071544Z K 7 svn:log V 35 Unbreak compilation after r248868. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T11:53:57.707322Z K 7 svn:log V 61 Update and correct the documentation of the --branch option. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T11:58:42.428511Z K 7 svn:log V 146 Switch all branches to the single-source model. Remove 9.1 from the FreeBSD 9 lineup. Add 8.4 to the FreeBSD 8 lineup. Retire FreeBSD 4, 5 and 6. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T12:02:23.475323Z K 7 svn:log V 41 Forgot to add FreeBSD 7 to the Makefile. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T12:47:45.412819Z K 7 svn:log V 1755 Add project branch to work on improving CAM performance and scalability. Such goals are planned within this project: 1) Remove request allocation queue on the SIM level. This supposed to simplify the code and reduce relations between device and transport/SIM. It will reduce effectiveness of bioq_disksort() in situations when several devices share single SIM, which queue is unable to fit all request allocated same time. But hopefully that is not a problem since SATA devices in most cases are not sharing queues, while SAS HBAs usually have large queues. Those people who need better scheduling can use to use more functional gsched. 2) Remove multilevel queue freezing mechanism. It was created to allow periph drivers to allocate more CCBs then device/SIM can handle in cases of error recovery. After 1) succeed, it should not be a big problem to create another less complicated mechanism to handle overcommit. 3) Remove per-SIM queue of allocated CCBs. That will additionally reduce relations between device and SIM, while UMA should be able to handle memory no less effectively now. 4) Try to split device locking into separate mutex(es). It should reduce SIM lock contention, that is now the main limiting factor for CAM SMP scalability. Hopefully after 1), 2) and 3) relations between device and SIM will be minimal, making this goal reachable. 5) Hardware of some controllers, such as mps(4), allows to have several request/response queues. Using them should improve SMP scalability. Additional locking changes are required to do it, but hopefully it will be easier after 4). 6) Success of 4) should also make reachable other following goals, such as CAM-level multipathing, etc. Discussed with: gibbs Sponsored by: iXsystems, Inc. END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-29T13:17:34.092098Z K 7 svn:log V 41 MFC r248319: Merge vn_io_fault_pgmove(). END K 10 svn:author V 4 tijl K 8 svn:date V 27 2013-03-29T13:23:43.201410Z K 7 svn:log V 816 MFC r248256: - Fix two possible overflows when testing if ELF program headers are on the first page: 1. Cast uint16_t operands in a multiplication to unsigned int because otherwise the implicit promotion to int results in a signed multiplication that can overflow and the behaviour on integer overflow is undefined. 2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset) because the sum may overflow. - Use the same tests to see if the path to the interpreter is on the first page. There's no overflow here because size is already limited by MAXPATHLEN, but the compiler optimises the new tests better. Also fix an off-by-one error. - Simplify tests to see if an ELF note program header is on the first page. This also fixes an off-by-one error. Reviewed by: kib END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-03-29T13:24:19.726563Z K 7 svn:log V 237 MFC r248325: Add my copyright for the 2012 year work, in particular vn_io_fault() and f_offset locking. Add required Foundation notice for r248319. MFC r248329: Separate the copyright lines and the informational block by a blank line. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T13:51:01.476394Z K 7 svn:log V 50 Non-functional cleanup of ng_ksocket_incoming2(). END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T13:53:14.275297Z K 7 svn:log V 12 Whitespace. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T13:57:55.195495Z K 7 svn:log V 267 When soreceive_generic() hands off an mbuf from buffer, clear its pointer to next record, since next record belongs to the buffer, and shouldn't be leaked. The ng_ksocket(4) used to clear this pointer itself, but the correct place is here. Sponsored by: Nginx, Inc END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T14:04:26.590153Z K 7 svn:log V 468 Revamp mbuf handling in ng_ksocket_incoming2(): - Clear code that workarounded a bug in FreeBSD 3, and even predated import of netgraph(4). - Clear workaround for m_nextpkt pointing into next record in buffer (fixed in r248884). Assert that m_nextpkt is clear. - Do not rely on SOCK_STREAM sockets containing M_PKTHDR mbufs. Create a header ourselves and attach chain to it. This is correct fix for kern/154676. PR: kern/154676 Sponsored by: Nginx, Inc END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T14:06:04.265297Z K 7 svn:log V 147 Once ng_ksocket(4) is fixed, re-apply r194662. See this revision for longer description. Discussed with: andre, rwatson Sponsored by: Nginx, Inc. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2013-03-29T14:10:40.315672Z K 7 svn:log V 183 Fix bug in m_split() in a case when split len matches len of the first mbuf, and the first mbuf is M_PKTHDR. PR: kern/176144 Submitted by: Jacques Fourie END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-03-29T14:18:49.227089Z K 7 svn:log V 104 MFC r248857: - Update hardware notes to reflect that amd64 is no longer "young" - Bump copyright year END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-03-29T14:18:56.834434Z K 7 svn:log V 104 MFC r248857: - Update hardware notes to reflect that amd64 is no longer "young" - Bump copyright year END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T14:48:43.684327Z K 7 svn:log V 122 Remove request allocation queue on the SIM level. Now device can allocate CCBs on itself, not looking on SIM queue state. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-29T15:51:45.245237Z K 7 svn:log V 78 Pass correct parameter to CTR5() in bus_dmamap_load_uio. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-29T15:54:12.265136Z K 7 svn:log V 130 Do not add 1 to nsegs before passing to CTR5(), since nsegs has already been incremented before these calls. Sponsored by: Intel END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-29T16:00:16.703319Z K 7 svn:log V 102 Add CTR5() to bus_dmamap_load_ccb, similar to other bus_dmamap_load_* functions. Sponsored by: Intel END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T16:16:50.170062Z K 7 svn:log V 76 Use full freeze while PMP does hard reset. This is effectively NULL change. END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-03-29T16:24:20.594451Z K 7 svn:log V 331 Merge 248070. Fix long-standing issue with interface routes being unprotected: Use RTM_PINNED flag to mark route as immutable. Forbid deleting immutable routes without special rtrequest1_fib() flag. Adding interface address with prefix already in route table is handled by atomically deleting old prefix and adding interface one. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-29T16:26:25.201464Z K 7 svn:log V 121 Add bus_dmamap_load_bio for non-CAM disk drivers that wish to enable unmapped I/O. Sponsored by: Intel Reviewed by: kib END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T17:21:59.138874Z K 7 svn:log V 265 Make request allocation code always permit immediate allocation for requests with priority >= CAM_PRIORITY_OOB (special cases). Assume that caller knows what it does and why and will not send more then request at a time, needed for single-stepping error recovery. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T17:28:27.750926Z K 7 svn:log V 166 Modify aprobe periph to freeze queue after sending each command to prevent other requests with lower priority from slip through instead of using multilevel freezing. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T17:57:24.163849Z K 7 svn:log V 71 Remove a really noisy printf left over from debugging hardware errata. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T18:00:07.384919Z K 7 svn:log V 165 Modify probe periph to freeze queue after sending each command to prevent other requests with lower priority from slip through instead of using multilevel freezing. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2013-03-29T18:03:00.484070Z K 7 svn:log V 322 Two small fixes: Set promiscuous code was unconditionally turning off multicast when turning off promiscuous mode, this should only be done when there are less than MAX groups. Thanks to Mike Karels for this correction. Second, the overtmp interrupt setup/detection was wrong, correcting it. MFC after: one week END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T18:06:54.048990Z K 7 svn:log V 44 Fix a typo: the RXD0 pin is PA18, not PA19. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T18:10:28.732594Z K 7 svn:log V 47 Oops, higher priorities are lower numerically. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T18:17:51.583006Z K 7 svn:log V 107 Redo the workaround for at91rm9200 erratum #26 in a way that doesn't cause a lockup on some rm92 hardware. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T18:22:15.147553Z K 7 svn:log V 163 Modify ada periph to freeze queue after sending each command to prevent other requests with lower priority from slip through instead of using multilevel freezing. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2013-03-29T18:25:45.496965Z K 7 svn:log V 279 Change defines in the igb driver to allow an easier selection of the older if_start/non-multiqueue interface from the stack. This is not the default, but can be turned on in the Makefile now regardless of the OS level to allow either testing or use of ALTQ. MFC after: one week END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T18:43:10.488378Z K 7 svn:log V 154 Add a couple forward declarations, so that board support routines don't have to pre-include a bunch of header files they don't need just to use this one. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2013-03-29T18:46:13.829613Z K 7 svn:log V 84 Change the define in the header to eliminate unnecessary data when using LEGACY TX. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T18:47:08.899245Z K 7 svn:log V 220 Call soc_info.soc_data->soc_clock_init() before at91_pmc_init_clock(), so that the latter correctly fills in the clock data structures based on proper hardware-specific shift and mask values from the soc_data structure. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T19:04:18.776220Z K 7 svn:log V 284 Change the API for at91_pio_gpio_get() to return the entire masked set of bits, not just a 0/1 indicating whether any of the masked bits are on. This is compatible with the single in-tree caller of this function right now (at91_vbus_poll() in dev/usb/controller/at91dci_atemelarm.c). END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-29T19:52:57.101686Z K 7 svn:log V 404 Add userland access to at91 gpio functionality via ioctl calls. Also, add the ability for userland to be notified of changes on gpio pins via a select(2)/read(2) interface. Change the interrupt handler from filtered to threaded. Because of the uiomove() calls in the new interface, change locking from standard mutex to sx. Add / restore the at91_gpio_high_z() function. Reviewed by: imp (long ago) END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-29T20:07:51.620914Z K 7 svn:log V 73 Disable this; it's a local option that I haven't yet committed to -HEAD. END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-03-29T20:34:28.169110Z K 7 svn:log V 230 Add "type" to nvme_request, signifying if its payload is a VADDR, UIO, or NULL. This simplifies decisions around if/how requests are routed through busdma. It also paves the way for supporting unmapped bios. Sponsored by: Intel END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-03-29T20:51:44.321472Z K 7 svn:log V 394 Keep fwd_tag around for subsequent pcb lookups For TIMEWAIT handling tcp_input may have to jump back for an additional pass through pcblookup. Prior to this change the fwd_tag had been discarded after the first lookup, so a new connection attempt delivered locally via 'ipfw fwd' would fail to find a match. As of r248886 the tag will be detached and freed when passed to the socket buffer. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T21:08:20.353734Z K 7 svn:log V 91 Remove (harmless) duplicate entry for VersionAddendum. Noticed by: dim@ MFC after: 1 week END K 10 svn:author V 3 ken K 8 svn:date V 27 2013-03-29T21:09:00.622578Z K 7 svn:log V 28 Release Will into the wild. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T21:21:25.058787Z K 7 svn:log V 76 Fix the build and compact some code by adding path variable. Sponsored by: END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-29T21:23:47.200660Z K 7 svn:log V 57 Wipe out support for multilevel freezing. Sponsored by: END K 10 svn:author V 3 gjb K 8 svn:date V 27 2013-03-29T21:26:33.135714Z K 7 svn:log V 131 MFC r248857: - Update hardware notes to reflect that amd64 is no longer "young" - Bump copyright year Approved by: re (delphij) END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T22:01:17.156112Z K 7 svn:log V 34 Prettify config and branch names. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-03-29T22:05:26.062782Z K 7 svn:log V 18 Ignore log files. END K 10 svn:author V 3 smh K 8 svn:date V 27 2013-03-29T22:58:15.738583Z K 7 svn:log V 701 Adds the ability to enable / disable sorting of BIO requests queued within CAM. This can significantly improve performance particularly for SSDs which don't suffer from seek latencies. The sysctl / tunable kern.cam.sort_io_queues provides the systems default setting where:- 0 = queued BIOs are NOT sorted 1 = queued BIOs are sorted (default) Each device gets its own sysctl kern.cam...sort_io_queue Valid values are:- -1 = use system default (default) 0 = queued BIOs are NOT sorted 1 = queued BIOs are sorted Note: Additional patch will look to add automatic use of none sorted queues for none rotating media e.g. SSD's Reviewed by: scottl Approved by: pjd (mentor) MFC after: 2 weeks END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-03-30T00:22:26.353315Z K 7 svn:log V 441 MFC of 246289: For UFS2 i_blocks is unsigned. The current "sanity" check that it has gone below zero after the blocks in its inode are freed is a no-op which the compiler fails to warn about because of the use of the DIP macro. Change the sanity check to compare the number of blocks being freed against the value i_blocks. If the number of blocks being freed exceeds i_blocks, just set i_blocks to zero. Reported by: Pedro Giffuni (pfg@) END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-03-30T00:33:46.113133Z K 7 svn:log V 237 MFC of 246812 and 246823: MFC 246812: Update fsck_ffs buffer cache manager to use TAILQ macros. No functional changes. MFC 246823: Remove write only assignments and thus fix the build after struct bufarea TAILQ conversion (r246812). END K 10 svn:author V 2 np K 8 svn:date V 27 2013-03-30T02:26:20.475831Z K 7 svn:log V 410 cxgbe(4): Add support for Chelsio's Terminator 5 (aka T5) ASIC. This includes support for the NIC and TOE features of the 40G, 10G, and 1G/100M cards based on the T5. The ASIC is mostly backward compatible with the Terminator 4 so cxgbe(4) has been updated instead of writing a brand new driver. T5 cards will show up as cxl (short for cxlgb) ports attached to the t5nex bus driver. Sponsored by: Chelsio END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-30T04:13:47.047272Z K 7 svn:log V 228 AR933x UART updates: * Default clock is 25MHz; * Remove the UART register macro here - it's not needed as we don't need to "adjust" the register offset / spacing at all; * Remove unused fields in the softc. Tested: * AP121 END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-03-30T04:31:29.998598Z K 7 svn:log V 726 AR933x CPU device improvements: * Add baud rate and divisor programming code. See below for more information. * Flesh out ar933x_init() to disable interrupts and program the initial console setup. * Remove #if 0'ed code from ar933x_term(). * Explain what these functions do. Now, the baud rate and divisor code comes from Linux, as a submission to the OpenWRT project and Linux kernel from Gabor Juhos . The original ticket for this code is https://dev.openwrt.org/ticket/12031 . I've contacted Gabor and asked for his permission to also licence the patch in question (which covers this code) to BSD lience and he's agreed. Hence why I'm including it here in FreeBSD. Tested: * AP121 (AR9330) END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-30T07:07:52.012611Z K 7 svn:log V 179 Move CAM_DEBUG_CDB messages from the point of queuing to the point of sending to SIM. That allows to inspect real requests execution order, respecting priorities, freezing, etc. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-30T07:13:01.035235Z K 7 svn:log V 4 MFC END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-30T07:27:50.106698Z K 7 svn:log V 77 Remove extra NULL checks. d_drv1 can never be NULL during periph life cycle. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-03-30T07:44:50.422652Z K 7 svn:log V 52 Replace some direct mutex operations with wrappers. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-30T13:30:27.713654Z K 7 svn:log V 237 Improve namespacing in : * MSG_NOSIGNAL is in POSIX.1-2008. * MSG_NOTIFICATION (SCTP) is not in POSIX. * PRU_FLUSH_* (SCTP) are not in POSIX. * bindat()/connectat() are not in POSIX. Discussed with: rrs (PRU_FLUSH_*) END K 10 svn:author V 3 mdf K 8 svn:date V 27 2013-03-30T15:09:04.919306Z K 7 svn:log V 89 Use a shared lock for VOP_GETEXTATTR, as it is a read-like operation. MFC after: 1 week END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2013-03-30T16:33:16.007182Z K 7 svn:log V 81 Initialize sym_count to 0. This fixes a compiler warning introduced in r248121. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-03-30T17:46:03.456703Z K 7 svn:log V 77 Add some more stats to keep track of all the reasons that a vcpu is exiting. END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2013-03-30T20:57:35.093707Z K 7 svn:log V 3222 MFC of 246876, 246877, and 247387: MFC reviewed by: kib MFC 246876: Add barrier write capability to the VFS buffer interface. A barrier write is a disk write request that tells the disk that the buffer being written must be committed to the media along with any writes that preceeded it before any future blocks may be written to the drive. Barrier writes are provided by adding the functions bbarrierwrite (bwrite with barrier) and babarrierwrite (bawrite with barrier). Following a bbarrierwrite the client knows that the requested buffer is on the media. It does not ensure that buffers written before that buffer are on the media. It only ensure that buffers written before that buffer will get to the media before any buffers written after that buffer. A flush command must be sent to the disk to ensure that all earlier written buffers are on the media. Reviewed by: kib Tested by: Peter Holm MFC 246877: The UFS2 filesystem allocates new blocks of inodes as they are needed. When a cylinder group runs short of inodes, a new block for inodes is allocated, zero'ed, and written to the disk. The zero'ed inodes must be on the disk before the cylinder group can be updated to claim them. If the cylinder group claiming the new inodes were written before the zero'ed block of inodes, the system could crash with the filesystem in an unrecoverable state. Rather than adding a soft updates dependency to ensure that the new inode block is written before it is claimed by the cylinder group map, we just do a barrier write of the zero'ed inode block to ensure that it will get written before the updated cylinder group map can be written. This change should only slow down bulk loading of newly created filesystems since that is the primary time that new inode blocks need to be created. Reported by: Robert Watson Reviewed by: kib Tested by: Peter Holm MFC 247387: An inode block must not be blockingly read while cg block is owned. The order is inode buffer lock -> snaplk -> cg buffer lock, reversing the order causes deadlocks. Inode block must not be written while cg block buffer is owned. The FFS copy on write needs to allocate a block to copy the content of the inode block, and the cylinder group selected for the allocation might be the same as the owned cg block. The reserved block detection code in the ffs_copyonwrite() and ffs_bp_snapblk() is unable to detect the situation, because the locked cg buffer is not exposed to it. In order to maintain the dependency between initialized inode block and the cg_initediblk pointer, look up the inode buffer in non-blocking mode. If succeeded, brelse cg block, initialize the inode block and write it. After the write is finished, reread cg block and update the cg_initediblk. If inode block is already locked by another thread, let the another thread initialize it. If another thread raced with us after we started writing inode block, the situation is detected by an update of cg_initediblk. Note that double-initialization of the inode block is harmless, the block cannot be used until cg_initediblk is incremented. Sponsored by: The FreeBSD Foundation In collaboration with: pho Reviewed by: mckusick X-MFC-note: after r246877 END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-03-31T02:03:34.107890Z K 7 svn:log V 527 When building universe ensure the required worlds are finished before starting the kernels. Before this the kernels would be built as part of the last architecture universe target. There can cause problems when this world finishes before the other worlds as the host compiler may be picked up rather than the target compiler. The solution is to add a target to build the universe kernels that depends on all the world targets finishing. As we may not be building a world only depend on it when MAKE_JUST_KERNELS is undefined. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-03-31T03:56:48.433215Z K 7 svn:log V 110 Add counter to keep track of the number of timer interrupts generated by the local apic for each virtual cpu. END K 10 svn:author V 5 jamie K 8 svn:date V 27 2013-03-31T04:10:37.940346Z K 7 svn:log V 220 MFC r248854: Reverse the order of some implicit commands (FS mounts and ifconfigs) when stopping jails. This matters particularly for nested filesystem mounts. PR: kern/177325 Submitted by: Harald Schmalzbauer END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-03-31T08:31:06.273700Z K 7 svn:log V 412 Fix xdev. Clang and libc were not building correctly on older worlds, for example, on 9.1. * To fix clang add an _xb-bootstrap-tools target that mirrors the existing bootstrap-tools target in the full world. * For libc have the compiler use the newly installed includes, and, while here, tell the compiler about the xdev library path as some other libraries will link against the installed libraries. END K 10 svn:author V 6 andrew K 8 svn:date V 27 2013-03-31T08:54:04.777655Z K 7 svn:log V 60 Fix xdev-install when installing to a location other than / END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-03-31T10:17:39.221648Z K 7 svn:log V 332 Merge r248070. Fix long-standing issue with interface routes being unprotected: Use RTM_PINNED flag to mark route as immutable. Forbid deleting immutable routes without special rtrequest1_fib() flag. Adding interface address with prefix already in route table is handled by atomically deleting old prefix and adding interface one. END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-03-31T10:20:29.076655Z K 7 svn:log V 69 MFC r247842. Write lock is not required for find&compare operation. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-31T12:51:56.346844Z K 7 svn:log V 70 Fix a typo in the CF device driver name that prevented instantiation. END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T13:54:44.100969Z K 7 svn:log V 75 MFC r246293: zfs: fix, improve and re-organize page_lookup and page_unlock END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T13:56:13.563008Z K 7 svn:log V 206 MFC r246293: zfs: fix, improve and re-organize page_lookup and page_unlock Please note that because of the significant VM API differences between HEAD and stable/8 this commit has some additional changes. END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T14:02:28.290705Z K 7 svn:log V 84 MFC r248640: fbt_typoff_init: fix an off by one in determining required memory size END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T14:02:43.281133Z K 7 svn:log V 84 MFC r248640: fbt_typoff_init: fix an off by one in determining required memory size END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T14:10:19.991433Z K 7 svn:log V 70 MFC r248642: fbt_getargdesc: correctly handle types for return probes END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T14:10:49.686561Z K 7 svn:log V 70 MFC r248642: fbt_getargdesc: correctly handle types for return probes END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-03-31T17:42:54.080648Z K 7 svn:log V 58 Rename do_pipe() to kern_pipe2() and declare it properly. END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-03-31T17:50:01.388074Z K 7 svn:log V 365 Do not defer disestablishing intrhooks when there are pending connecting device children. Any hooks that children establish will be run at SI_SUB_INT_CONFIG_HOOKS and in the order of registration, and thus the order of intrhook registration and running should reflect the device hierarchy. This patch takes the boot to vfsmountroot() Approved by: gibbs(implicit) END K 10 svn:author V 6 tuexen K 8 svn:date V 27 2013-03-31T18:27:46.097442Z K 7 svn:log V 75 Add a macro for checking for IPv4 link local addresses. MFC after: 1 week END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T18:31:58.698770Z K 7 svn:log V 162 MFC r247852: Import ZFS bpobj bugfix from vendor. Illumos ZFS issues: 3603 panic from bpobj_enqueue_subobj() 3604 zdb should print bpobjs more verbosely END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T18:35:02.644237Z K 7 svn:log V 188 MFC r247852: Import ZFS bpobj bugfix from vendor. Illumos ZFS issues: 3603 panic from bpobj_enqueue_subobj() 3604 zdb should print bpobjs more verbosely Approved by: re (marius) END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T18:39:11.170341Z K 7 svn:log V 199 MFC r248267: Import minor ZFS changes from vendor Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T18:51:34.286772Z K 7 svn:log V 225 MFC r248267: Import minor ZFS changes from vendor Illumos ZFS issues: 3604 zdb should print bpobjs more verbosely (fix zdb hang) 3606 zpool status -x shouldn't warn about old on-disk format Approved by: re (marius) END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T18:56:00.692326Z K 7 svn:log V 188 MFC r247592 (delphij): Import a fix tighten assertion on SPA versions from vendor (Illumos). Illumos ZFS issue: 3543 Feature flags causes assertion in spa.c to miss certain cases END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-03-31T19:03:25.134682Z K 7 svn:log V 239 MFC r242845 (delphij): Illumos r13840:97fd5cdf328a: 3145 single-copy arc 3212 ztest: race condition between vdev_online() and spa_vdev_remove() Illumos r13849:3468a95b27cd: 3258 ztest's use of file descriptors is unstable END K 10 svn:author V 3 avg K 8 svn:date V 27 2013-03-31T20:40:06.286338Z K 7 svn:log V 108 fix r248946: there is no pmap_page_is_write_mapped in stable/8 This is a direct commit. Pointyhat to: avg END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-31T22:42:25.644859Z K 7 svn:log V 176 When running on armv6, set alignment checking to modulo-4 mode rather than modulo-8, because clang emits ldrd and strd instructions for addresses that are only 4-byte aligned. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-31T22:43:16.346755Z K 7 svn:log V 175 When running on armv6, set alignment checking to modulo-4 mode rather than modulo-8, because clang emits ldrd and strd instructions for addresses that are only 4-byte aligned END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-03-31T23:24:04.456472Z K 7 svn:log V 417 Accommodate uart devices with large FIFOs (or DMA buffers which amount to the same thing) by allocating the uart(4) rx buffer based on the device's rxfifosz rather than using a hard-coded size of 384 bytes. The historical 384 byte size is 3 times the largest hard-coded fifo size in the tree, so use that ratio as a guide and allocate the buffer as three times rxfifosz, but never smaller than the historical size. END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-04-01T00:00:10.438382Z K 7 svn:log V 3067 Enable hardware flow control and high speed bulk data transfer in at91 uarts. Changes to make rtc/cts flow control work... This does not turn on the builtin hardware flow control on the SoC's usart device, because that doesn't work on uart1 due to a chip erratum (they forgot to wire up pin PA21 to RTS0 internally). Instead it uses the hardware flow control logic where the tty layer calls the driver to assert and de-assert the flow control lines as needed. This prevents overruns at the tty layer (app doesn't read fast enough), but does nothing for overruns at the driver layer (interrupts not serviced fast enough). To work around the wiring problem with RTS0, the driver reassigns that pin as a GPIO and controls it manually. It only does so if given permission via hint.uart.1.use_rts0_workaround=1, to prevent accidentally driving the pin if uart1 is used without flow control (because something not related to serial IO could be wired to that pin). In addition to the RTS0 workaround, driver changes were needed in the area of reading the current set of DCE signals. A priming read is now done at attach() time, and the interrupt routine now sets SER_INT_SIGCHG when any of the DCE signals change. Without these changes, nothing could ever be transmitted, because the tty layer thought CTS was de-asserted (when in fact we had just never read the status register, and the hwsig variable was init'd to CTS de-asserted). Changes to support bulk high-speed (230kbps and higher) data reception... Allow the receive fifo size to be tuned with hint.uart..fifo_bytes. For high speed receive, a fifo size of 1024 works well. The default is still 128 bytes if no hint is provided. Using a value larger than 384 requires a change in dev/uart/uart_core.c to size the intermediate buffer as MAX(384, 3*sc->sc_rxfifosize). Recalculate the receive timeout whenever the baud rate changes. At low baud rates (19.2kbps and below) the timeout is the number of bits in 2 characters. At higher speed it's calculated to be 500 microseconds worth of bits. The idea is to compromise between being responsive in interactive situations and not timing out prematurely during a brief pause in bulk data flow. The old fixed timeout of 1.5 characters was just 32 microseconds at 460kbps. At interrupt time, check for receiver holding register overrun status and set the corresponding status bit in the return value. When handling a buffer overrun, get a single buffer emptied and handed back to the hardware as quickly as possible, then deal with the second buffer. This at least minimizes data loss compared to the old logic that fully processed both buffers before restarting the hardware. Rewrite the logic for handling buffers after a receive timeout. The original author speculated in a comment that there may be a race with high speed data. There was, although it was rare. The code now handles all three possible scenarios on receive timeout: two empty buffers, one empty and one partial buffer, or one full and one partial buffer. Reviewed by: imp END K 10 svn:author V 3 ian K 8 svn:date V 27 2013-04-01T00:44:20.624480Z K 7 svn:log V 471 Fix low-level uart drivers that set their fifo sizes in the softc too late. uart(4) allocates send and receiver buffers in attach() before it calls the low-level driver's attach routine. Many low-level drivers set the fifo sizes in their attach routine, which is too late. Other drivers set them in the probe() routine, so that they're available when uart(4) allocates buffers. This fixes the ones that were setting the values too late by moving the code to probe(). END K 10 svn:author V 4 tijl K 8 svn:date V 27 2013-04-01T09:56:20.357446Z K 7 svn:log V 842 MFS r248880: - Fix two possible overflows when testing if ELF program headers are on the first page: 1. Cast uint16_t operands in a multiplication to unsigned int because otherwise the implicit promotion to int results in a signed multiplication that can overflow and the behaviour on integer overflow is undefined. 2. Replace (offset + size > PAGE_SIZE) with (size > PAGE_SIZE - offset) because the sum may overflow. - Use the same tests to see if the path to the interpreter is on the first page. There's no overflow here because size is already limited by MAXPATHLEN, but the compiler optimises the new tests better. Also fix an off-by-one error. - Simplify tests to see if an ELF note program header is on the first page. This also fixes an off-by-one error. Reviewed by: kib Approved by: re (glebius) END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-04-01T09:56:48.082632Z K 7 svn:log V 75 Strip the unnneeded spaces, mostly at the end of lines. MFC after: 3 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-04-01T09:57:46.810341Z K 7 svn:log V 95 Record the correct error in the trace. Sponsored by: The FreeBSD Foundation MFC after: 3 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2013-04-01T09:59:38.059281Z K 7 svn:log V 245 Do not call the VOP_LOOKUP() for the doomed directory vnode. The vnode could be reclaimed while lock upgrade was performed. Sponsored by: The FreeBSD Foundation Reported and tested by: pho Diagnosed and reviewed by: rmacklem MFC after: 1 week END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-04-01T10:45:35.406756Z K 7 svn:log V 250 Use memcchr(9) instead of homebrew (and slow) memrchr(3) (incorrectly used here). This implements the current semantics of searching for zero-ed out backing lower page table, before zapping its higher level table entry. Approved by: gibbs(implicit) END K 10 svn:author V 8 melifaro K 8 svn:date V 27 2013-04-01T11:28:52.239127Z K 7 svn:log V 89 Fix ipfw rule validation partially broken by r248552. Pointed by: avg MFC with: r248552 END K 10 svn:author V 5 trasz K 8 svn:date V 27 2013-04-01T13:17:28.964999Z K 7 svn:log V 148 Mention that read_attributes, write_attributes, read_acl and write_acl are always permitted for the file owner. PR: kern/174948 MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-04-01T13:18:34.513933Z K 7 svn:log V 104 Slightly tune locking to not call xpt_alloc_ccb() that is allowed to sleep while holding the SIM mutex. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-04-01T13:27:49.927106Z K 7 svn:log V 35 Remove per-SIM queue of free CCBs. END K 10 svn:author V 3 des K 8 svn:date V 27 2013-04-01T13:48:30.659033Z K 7 svn:log V 41 Silence warnings about redefined macros. END K 10 svn:author V 2 mm K 8 svn:date V 27 2013-04-01T16:14:57.233143Z K 7 svn:log V 136 Call dmu_snapshot_list_next() in zvol.c with dsl_pool_config lock held Submitted by: Andriy Gapon MFC after: 17 days END K 10 svn:author V 9 jimharris K 8 svn:date V 27 2013-04-01T16:23:34.697501Z K 7 svn:log V 69 Add unmapped bio support to nvme(4) and nvd(4). Sponsored by: Intel END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-04-01T16:26:20.590763Z K 7 svn:log V 87 Remove cam_ccbq_frozen(), that is trivial after removing multilevel freeze at r248918. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2013-04-01T17:15:04.554465Z K 7 svn:log V 79 Format per etc/mtree/README - Spaces instead of tabs - Sort some i18n entries END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-04-01T17:18:22.819477Z K 7 svn:log V 222 sh: Fix various compiler warnings. It now passes WARNS=7 with clang on i386. GCC 4.2.1 does not understand setjmp() properly so will always trigger -Wuninitialized. I will not add the volatile keywords to suppress this. END K 10 svn:author V 4 neel K 8 svn:date V 27 2013-04-01T17:32:52.173167Z K 7 svn:log V 53 Create projects branch for AMD/SVM support in bhyve. END K 10 svn:author V 3 mav K 8 svn:date V 27 2013-04-01T19:11:43.853533Z K 7 svn:log V 361 Stop abusing xpt_periph in random plases that really have no periph related to CCB, for example, bus scanning. NULL value is fine in such cases and it is correctly logged in debug messages as "noperiph". If at some point we need some real XPT periphs (alike to pmpX now), quite likely they will be per-bus, and not a single global instance as xpt_periph now. END K 10 svn:author V 3 pfg K 8 svn:date V 27 2013-04-01T19:13:46.140027Z K 7 svn:log V 662 Dtrace: enablings on defunct providers prevent providers from unregistering Merge change from illumos: 1368 enablings on defunct providers prevent providers from unregistering We try to address some underlying differences between the Solaris and FreeBSD implementations: dtrace_attach() / dtrace_detach() are currently unimplemented in FreeBSD but the new code from illumos makes use of taskq so some adaptations were made to dtrace_open() and dtrace_close() to handle them appropriately. Illumos Revision: r13430:8e6add739e38 Reference: https://www.illumos.org/issues/1368 Reviewed by: gnn Tested by: Fabian Keil Obtained from: Illumos MFC after: 3 weeks END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-04-01T20:11:19.623883Z K 7 svn:log V 230 Only unmap the RX mbuf DMA map if there's a buffer here. The normal RX path (ath_rx_pkt()) will sync and unmap the buffer before passing it up the stack. We only need to do this if we're flushing the FIFO during reset/shutdown. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-04-01T20:12:21.890283Z K 7 svn:log V 161 Use ATH_MAX_SCATTER rather than ATH_TXDESC. ATH_MAX_SCATTER is used to size the ath_buf DMA segment array. We thus should use it when checking sizes of things. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-04-01T20:44:21.110215Z K 7 svn:log V 29 Remove an un-needed comment. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2013-04-01T20:50:07.195591Z K 7 svn:log V 451 wordexp(): Remove wrong IFS usage. Words in shell script are separated by spaces or tabs independent of the value of IFS. The value of IFS is only relevant for the result of substitutions. Therefore, there should be a space between 'wordexp' and the words to be expanded, not an IFS character. Paranoia might dictate that the shell ignore IFS from the environment (even though our sh currently uses it), so do not depend on it in the new test case. END K 10 svn:author V 6 adrian K 8 svn:date V 27 2013-04-01T20:57:13.161222Z K 7 svn:log V 447 Ensure that we only call the busdma unmap/flush routines once, when the buffer is being freed. * When buffers are cloned, the original mapping isn't copied but it wasn't freeing the mapping until later. To be safe, free the mapping when the buffer is cloned. * ath_freebuf() now no longer calls the busdma sync/unmap routines. * ath_tx_freebuf() now calls sync/unmap. * Call sync first, before calling unmap. Tested: * AR5416, STA mode END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-04-01T21:12:55.750036Z K 7 svn:log V 22 Import bmake-20130330 END K 10 svn:author V 3 sjg K 8 svn:date V 27 2013-04-01T21:13:56.491887Z K 7 svn:log V 19 Tag bmake-20130330 END K 10 svn:author V 3 dim K 8 svn:date V 27 2013-04-01T21:16:32.569359Z K 7 svn:log V 311 Follow up to r247960 and rr247960 by also amending ctfmerge. For the only other case where STT_FILE symbols are used, in symit_next() in cddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the basename of the symbol, instead of the full pathname. Reported by: avg Tested by: avg, jimharris MFC after: 1 week END K 10 svn:author V 3 smh K 8 svn:date V 27 2013-04-02T00:11:35.317937Z K 7 svn:log V 432 Added ATA Pass-Through support to CAM sys/cam/scsi/scsi_all.c: - Added scsi_ata_pass_16 method Which use ATA Pass-Through to send commands to the attached disk. sys/cam/scsi/scsi_all.h: - Added defines for all missing ATA Pass-Through commands values. - Added scsi_ata_pass_16 method. - Fixed a comment typo while I'm here Reviewed by: mav Approved by: pjd (mentor) MFC after: 2 weeks END K 10 svn:author V 7 yongari K 8 svn:date V 27 2013-04-02T00:57:54.902548Z K 7 svn:log V 92 Fix a typo. Reported by: David Imhoff via brad@OpenBSD Tested by: hrs Reviewed by: davidch END K 10 svn:author V 6 cherry K 8 svn:date V 27 2013-04-02T04:12:17.116745Z K 7 svn:log V 114 Revert r248952 This was a configuration error rather than a programming bug. Reviewed and Pointed out by: gibbs@ END K 10 svn:author V 3 mdf K 8 svn:date V 27 2013-04-02T05:30:41.937347Z K 7 svn:log V 339 Fix return type of extattr_set_* and fix rmextattr(8) utility. extattr_set_{fd,file,link} is logically a write(2)-like operation and should return ssize_t, just like extattr_get_*. Also, the user-space utility was using an int for the return value of extattr_get_* and extattr_list_*, both of which return an ssize_t. MFC after: 1 week END