ƒ²188225 147 259 328 577 842 303 393 1234 1978 177 124 99 269 182 147 228 583 171 193 279 399 469 224 354 150 355 433 405 292 168 428 239 271 560 690 380 1227 140 125 129 121 114 276 253 131 118 187 133 208 165 162 963 200 181 1174 426 136 2764 170 135 645 750 203 791 469 296 241 264 113 398 161 148 355 244 134 195 246 227 135 219 118 356 1649 182 130 259 208 212 266 311 143 305 228 115 364 98 269 183 129 490 219 329 218 199 137 876 335 648 159 338 487 146 283 143 128 178 267 135 120 338 141 236 339 219 220 127 736 152 294 162 441 149 1414 743 389 1569 664 325 189 212 1181 523 266 272 372 434 1214 229 K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:14:57.185146Z K 7 svn:log V 162 Merge r185293 from head to stable/7: Regularize /* FALLTHROUGH */ comments in the BSM event type switch, and add one that was missing. Coverity ID: 3960 END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:20:08.651039Z K 7 svn:log V 231 Merge r185928 from head to stable/7: Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through to the SO_HEADERS_ON_OUTPUT case and set that instead. Found with: Coverity Prevent(tm) Coverity ID: 3988 END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:22:00.709789Z K 7 svn:log V 480 Merge r184489 from head to stable/7: When we drop an audit record going to and audit pipe because the audit pipe has overflowed, drop the newest, rather than oldest, record. This makes overflow drop behavior consistent with memory allocation failure leading to drop, avoids touching the consumer end of the queue from a producer, and lowers the CPU overhead of dropping a record by dropping before memory allocation and copying. Obtained from: Apple, Inc. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:24:30.424661Z K 7 svn:log V 745 Merge r184488 from head to stable/7: Break out single audit_pipe_mtx into two types of locks: a global rwlock protecting the list of audit pipes, and a per-pipe mutex protecting the queue. Likewise, replace the single global condition variable used to signal delivery of a record to one or more pipes, and add a per-pipe condition variable to avoid spurious wakeups when event subscriptions differ across multiple pipes. This slightly increases the cost of delivering to audit pipes, but should reduce lock contention in the presence of multiple readers as only the per-pipe lock is required to read from a pipe, as well as avoid overheading when different pipes are used in different ways. Sponsored by: Apple, Inc. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:27:25.092162Z K 7 svn:log V 206 Merge r186603 from head to stabl/7: Rename mbcnt to mbcnt_delta in uipc_send() -- unlike other local variables named mbcnt in uipc_usrreq.c, this instance is a delta rather than a cache of sb_mbcnt. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:33:39.708618Z K 7 svn:log V 296 Merge r187881 from head to stable/7: If a process is a zombie and we couldn't identify another useful state, print out the state as "zombine" in preference to "unknown" when ^T is pressed. Sponsored by: Google, Inc. (Note that this change appears in tty.c in 7.x vs tty_info.c in 8.x) END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T12:39:42.471276Z K 7 svn:log V 1136 Merge r187790 from head to stable/7: Following a fair amount of real world experience with ACLs and extended attributes since FreeBSD 5, make the following semantic changes: - Don't update the inode modification time (mtime) when extended attributes (and hence also ACLs) are added, modified, or removed. - Don't update the inode access tie (atime) when extended attributes (and hence also ACLs) are queried. This means that rsync (and related tools) won't improperly think that the data in the file has changed when only the ACL has changed. Note that ffs_reallocblks() has not been changed to not update on an IO_EXT transaction, but currently EAs don't use the cluster write routines so this shouldn't be a problem. If EAs grow support for clustering, then VOP_REALLOCBLKS() will need to grow a flag argument to carry down IO_EXT to UFS. PR: ports/125739 Reported by: Alexander Zagrebin Tested by: pluknet , Greg Byshenk Discussed with: kib, kientzle, timur, Alexander Bokovoy END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T14:51:32.133629Z K 7 svn:log V 1884 Expand the scope of the sysctllock sx lock to protect the sysctl tree itself. Back in 1.1 of kern_sysctl.c the sysctl() routine wired the "old" userland buffer for most sysctls (everything except kern.vnode.*). I think to prevent issues with wiring too much memory it used a 'memlock' to serialize all sysctl(2) invocations, meaning that only one user buffer could be wired at a time. In 5.0 the 'memlock' was converted to an sx lock and renamed to 'sysctl lock'. However, it still only served the purpose of serializing sysctls to avoid wiring too much memory and didn't actually protect the sysctl tree as its name suggested. These changes expand the lock to actually protect the tree. Later on in 5.0, sysctl was changed to not wire buffers for requests by default (sysctl_handle_opaque() will still wire buffers larger than a single page, however). As a result, user buffers are no longer wired as often. However, many sysctl handlers still wire user buffers, so it is still desirable to serialize userland sysctl requests. Kernel sysctl requests are allowed to run in parallel, however. - Expose sysctl_lock()/sysctl_unlock() routines to exclusively lock the sysctl tree for a few places outside of kern_sysctl.c that manipulate the sysctl tree directly including the kernel linker and vfs_register(). - sysctl_register() and sysctl_unregister() require the caller to lock the sysctl lock using sysctl_lock() and sysctl_unlock(). The rest of the public sysctl API manage the locking internally. - Add a locked variant of sysctl_remove_oid() for internal use so that external uses of the API do not need to be aware of locking requirements. - The kernel linker no longer needs Giant when manipulating the sysctl tree. - Add a missing break to the loop in vfs_register() so that we stop looking at the sysctl MIB once we have changed it. MFC after: 1 month END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T15:03:14.914535Z K 7 svn:log V 85 Add a note to document that ichsmb(4) now uses left-justified SMBus slave addresses. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2009-02-06T15:03:17.741079Z K 7 svn:log V 30 Add the Buffalo WLI-U2-SG54HG END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2009-02-06T15:04:06.041755Z K 7 svn:log V 6 Regen END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T15:09:31.054780Z K 7 svn:log V 176 Note that the slave address passed to smb(4) commands must be left-justified (LSB is 0). The iic(4) manpage probably needs similar language to describe the format it expects. END K 10 svn:author V 5 kevlo K 8 svn:date V 27 2009-02-06T15:27:40.024393Z K 7 svn:log V 88 In urtw_init() call urtw_stop(ifp, 0) rather than urtw_stop(ifp, 1) to stop the device. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T15:28:08.732882Z K 7 svn:log V 55 MFC: Only start the if_slowtimo timer if it is needed. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T16:05:00.485063Z K 7 svn:log V 135 MFC: Push down Giant in the vlnru kproc main loop so that it is only acquired around calls to vlrureclaim() on non-MPSAFE filesystems. END K 10 svn:author V 5 trasz K 8 svn:date V 27 2009-02-06T17:14:07.387082Z K 7 svn:log V 488 When a device containing mounted UFS filesystem disappears, the type of devvp becomes VBAD, which UFS incorrectly interprets as snapshot vnode, which in turns causes panic. Fix it by replacing '!= VCHR' with '== VREG'. With this fix in place, you should no longer be able to panic the system by removing a device with an UFS filesystem mounted from it - assuming you don't use softupdates. Reviewed by: kib Tested by: pho Approved by: rwatson (mentor) Sponsored by: FreeBSD Foundation END K 10 svn:author V 9 tabthorpe K 8 svn:date V 27 2009-02-06T17:19:02.785377Z K 7 svn:log V 73 - MFC the portindex(5) manual page PR: docs/70652 Approved by: trhodes END K 10 svn:author V 9 tabthorpe K 8 svn:date V 27 2009-02-06T17:21:41.744927Z K 7 svn:log V 95 - MFC the portindex(5) manual page PR: docs/70652 Reviewed by: keramida Approved by: trhodes END K 10 svn:author V 5 trasz K 8 svn:date V 27 2009-02-06T18:16:01.275041Z K 7 svn:log V 184 Add KASSERTs to make it easier to debug problems like the one fixed in r188141. Reviewed by: kib,attilio Approved by: rwatson (mentor) Tested by: pho Sponsored by: FreeBSD Foundation END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T20:06:48.705296Z K 7 svn:log V 306 Tweak the output of VOP_PRINT/vn_printf() some. - Align the fifo output in fifo_print() with other vn_printf() output. - Remove the leading space from lockmgr_printinfo() so its output lines up in vn_printf(). - lockmgr_printinfo() now ends with a newline, so remove an extra newline from vn_printf(). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T20:09:14.488171Z K 7 svn:log V 376 Add support for fifos to UDF: - Add a separate set of vnode operations that inherits from the fifo ops and use it for fifo nodes. - Add a VOP_SETATTR() method that allows setting the size (by silently ignoring the requests) of fifos. This is to allow O_TRUNC opens of fifo devices (e.g. I/O redirection in shells using ">"). - Add a VOP_PRINT() handler while I'm here. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-06T20:41:30.214343Z K 7 svn:log V 127 - Fix up the intrrupt read to copy the data from the right buffer. - Change rx handling slightly to make it a bit more robust. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-06T20:57:10.200042Z K 7 svn:log V 257 Fix AGP debugging code: - correct format strings - fill opt_agp.h if AGP_DEBUG is defined - bring AGP_DEBUG to LINT by mentioning it in NOTES This should hopefully fix a warning that was... Found by: Coverity Prevent(tm) CID: 3676 Tested on: amd64, i386 END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-06T21:22:35.888406Z K 7 svn:log V 54 Avoid freeing the tx data if its already been reaped. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-06T21:56:55.568061Z K 7 svn:log V 258 ural(4) is already present in global NOTES, thus there is no need to explicitly list it here once again. This removes: WARNING: duplicate option `DEV_URAL' encountered. WARNING: duplicate device `ural' encountered. Warnings when compiling LINT on amd64. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-06T22:22:08.909512Z K 7 svn:log V 336 Comment about ural(4) isn't approprate here, since the driver is present in global NOTES file. cx(4) driver isn't present in this file, though it could be. However, cx(4) seems to be more or less dead -- it hasn't been linked to the modules build, and after TTY-ng transformations it doesn't compile. Remove it until cx(4) is broken. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2009-02-06T22:24:03.017739Z K 7 svn:log V 312 Add rudimentary support for symbolic links on UDF. Links are stored as a sequence of pathname components. We walk the list building a string in the caller's passed in buffer. Currently this only handles path names in CS8 (character set 8) as that is what mkisofs generates for UDF images. MFC after: 1 month END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-06T22:40:15.673802Z K 7 svn:log V 195 Fix OHCI and EHCI counting bug when multiple TD's are involved in a short USB transfer and a short packet happens on the non-last TD in the USB transfer frame. Submitted by: Hans Petter Selasky END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-06T23:56:02.228029Z K 7 svn:log V 72 Merge r186684 from head to stable/7: White space and comment tweaks. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T00:01:10.911627Z K 7 svn:log V 331 Tidy NOTES a bit: - remove misleading nve/nfe comments, which make it hard to distinguish those two at a first glance - bring pbio documentation to the block comment together with other drivers I also brought commented out line responsible for si(4), since it seems to compile and already has respective comment in this file. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-07T00:05:10.464926Z K 7 svn:log V 142 Merge r187667 from head to stable/7: Use __FBSDID() for $FreeBSD$ version strings in .c files. Obtained from: TrustedBSD Project END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T00:06:13.988587Z K 7 svn:log V 174 Tidy NOTES a bit: - leave pmtimer comment that is common to other architectures. - bring pbio explanation to the block comment relating to other drivers in the same block. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T00:15:30.618513Z K 7 svn:log V 463 Tidy NOTES a bit: - ath(4) is the last listed device, so make it's comment last as well - since we have hints for le(4), bring it back by inserting commented out line until I check, if it can be safely enabled. - bring snc(4) explanation - put pmtimer comment together with other drivers' comments in a block - bring comments for canbus, canbepm, pmc olpt comment has been left blank, since I don't know how does this driver differ from other printer drivers. END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:12:51.806223Z K 7 svn:log V 597 Regulatory fixups: o add missing channel flags for ECM, indoor, and outdoor constraints o use HT capabilities to short-circuit HT20/HT40 channel construction o rewrite 1/2 and 1/4 width channel handling yet again; previously we assumed there was a full-width version of the channel in the calibration table but that's not always true (e.g. for the Public Safety Band), now we first check the calibration table for the exact channel we want then fall back to the heuristics we used before o fix HT channel construction; wasn't adjusting band edges for HT40 channel bandwidth requirements END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2009-02-07T01:15:13.318099Z K 7 svn:log V 279 Rearrange this code slightly to pass softcs around instead of device_t, solving a possible panic when snd_ai2s is loaded at boot time. Also change the device setup to indicate to the pcm layer that the device is MPSAFE. Submitted by: Marco Trillo Suggestions by: Ariff Abdullah END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-07T01:43:04.619636Z K 7 svn:log V 1129 MFC r173522, r176910, r178975 - Add private tx/rx buffer management to support large frame sizes and update the rx code to handle multiple frames in a single usb transfer. AX772 parts (at least) exhibit many input errors when operated with a 2K rx buffer and no errors w/ a 4K rx buffer (it's unclear what the cause of the errors is for 2K so this may just be covering up the real issue). Larger rx buffer sizes show no significant performance improvement for AX772. Bypassing the common buffer management routines also eliminates an extra context switch on every packet which noticeably improves performance (TCP netperf rx goes from 45 Mb/s to 85 MB/s). - Apply le*toh() or htole*() to the variables of which we use the address as the buffer pointer in the call to axe_cmd(). This is needed to make the code work on big-endian machines. - Add support for the Apple USB Ethernet adapter. Work around the "latch in at the first working PHY address hack", that fails for this adapter because it returns 0xffff when reading from lower PHY addresses. Also add more debugging printfs END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:50:43.984356Z K 7 svn:log V 48 merge r188155: add support for max antenna gain END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:51:22.433372Z K 7 svn:log V 33 merge r188258: regulatory fixups END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:53:44.093352Z K 7 svn:log V 37 add macro for future regulatory mods END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:54:57.522981Z K 7 svn:log V 29 fix 11n channel construction END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T01:59:34.530938Z K 7 svn:log V 22 merge r188263,r188264 END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T02:14:27.116299Z K 7 svn:log V 179 si_cmdname() is defined only when SI_DEBUG is enabled, thus using this function in simple printf() causes compile-time problems. Use conditionally enabled DPRINT() macro instead. END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T05:03:25.065202Z K 7 svn:log V 160 expand CFI_ARMEDANDDANGEROUS to include writing the user segment of the PR; this register is actually write-once so deserves the safety-belt as much as the PLR END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T05:32:19.003307Z K 7 svn:log V 39 fix building w/o CFI_ARMEDANDDANGEROUS END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T05:34:41.370501Z K 7 svn:log V 26 count stuck beacon events END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T05:38:20.395812Z K 7 svn:log V 95 merge r188267-188268: expand CFI_ARMEDANDDANGEROUS to cover writing the user segment of the PR END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-07T05:39:05.804580Z K 7 svn:log V 41 merge r188269: count stuck beacon events END K 10 svn:author V 3 das K 8 svn:date V 27 2009-02-07T05:41:24.193226Z K 7 svn:log V 115 C99 TC2 now wants FP_FAST_FMA* to be defined to 1, if the macros are defined at all. See also: defect report #223. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-07T06:27:16.644779Z K 7 svn:log V 69 Dont hold the lock over the controller init, we are still attaching. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T09:57:14.165902Z K 7 svn:log V 66 Don't forget to create opt_agp.h on ia64, which also uses agp(4). END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T10:17:29.967310Z K 7 svn:log V 871 MFC: r183571: Implement IPv4 source address selection for unbound sockets. This also changes the semantics of selecting the IP for processes within a jail as it now uses the same logic as outside the jail (with additional checks) but no longer is on a mutually exclusive code path. r186086: With the special check for FreeBSD before 8 a destination route via a loopback interface is treated as a valid and reachable thing for IPv4 source address selection, even though nothing of that network is ever directly reachable, but it is more like a blackhole route. With this the source address will be selected and IPsec can grab the packets before we would discard them at a later point, encapsulate them and send them out from a different tunnel endpoint IP. This is needed to not change the expected behaviour on a stable branch. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T10:29:07.660406Z K 7 svn:log V 108 MFC: r185404 With the permissions of phk@ change the license on kern_jail.c to a 2 clause BSD license. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T11:12:30.960692Z K 7 svn:log V 85 Remove leftover of alpha support for config(8)--we have MAP_FAILED globally defined. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-07T11:15:53.467928Z K 7 svn:log V 1076 Merge r187814, r187820 from head to stable/7: Add a new flag to dumpfs(8), -f, which causes dumpfs to list all free fragments in the file system by fragment (block) number. This new mode does the necessary arithmetic to generate absolute fragment numbers rather than than the cg-relative numbers printed in the default mode. If -f is passed once, contiguous fragment ranges are collapsed into an X-Y format as free block lists are currently printed in regular dumpfs output, but if specified twice, all block numbers are printed individually, allowing both compact and more script-friendly representation. This proves quite handy when attempting to recover deleted data, as it allows exclusion of non-deleted data from blocks searched. Discussed with: jeff, Richard Clayton Sponsored by: Google, Inc. Print disk offets as %jd rather than %lld; I fixed one before committing but missed the other, which breaks 64-bit builds. Reported by: bf Reviewed by: mckusick END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-07T11:27:35.316421Z K 7 svn:log V 329 Merge r188006 from head to stable/7: Alow dirname(1) to accept multiple arguments in the same way that basename(1) does. (Two different PRs contained identical patches, both cited below) PR: 121520, 86148 Submitted by: Ighighi Submitted by: Leif Neland END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-07T11:40:47.700586Z K 7 svn:log V 40 Move the comment to it's correct place. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:19:08.525853Z K 7 svn:log V 2671 MFC: r185435: This enhances the current jail implementation to permit multiple addresses per jail. In addtion to IPv4, IPv6 is supported as well. Due to updated checks it is even possible to have jails without an IP address at all, which basically gives one a chroot with restricted process view, no networking,.. SCTP support was updated and supports IPv6 in jails as well. Cpuset support permits jails to be bound to specific processor sets after creation. Jails can have an unrestricted (no duplicate protection, etc.) name in addition to the hostname. The jail name cannot be changed from within a jail and is considered to be used for management purposes or as audit-token in the future. DDB 'show jails' command was added to aid debugging. Proper compat support permits 32bit jail binaries to be used on 64bit systems to manage jails. Also backward compatibility was preserved where possible: for jail v1 syscalls, as well as with user space management utilities. Both jail as well as prison version were updated for the new features. A gap was intentionally left as the intermediate versions had been used by various patches floating around the last years. Bump __FreeBSD_version for the afore mentioned and in kernel changes. r185441: Unbreak the no-networks (no INET/6) build. r185899: Correctly check the number of prison states to not access anything outside the prison_states array. When checking if there is a name configured for the prison, check the first character to not be '\0' instead of checking if the char array is present, which it always is. Note, that this is different for the *jailname in the syscall. Found with: Coverity Prevent(tm) CID: 4156, 4155 r186085: Make sure that the direct jls invocations prints something reasonable close to and in the same format as it had always. r186606: Make sure that unused j->ip[46] are cleared. r186834: Document the special loopback address behaviour of jails. PR: kern/103464 r186841: Put the devfs ruleset next to devfs enable, add a comment about the suggested ruleset[1]. While here use an IP from the 'test-net' prefix for docs. PR: kern/130102 r187059: Add a short section talking about jails and file systems; mention the mountand jail-aware file systems as well as quota. PR: kern/68192 r187092: Sort .Xr. r187365: s,unmount 8,umount 8, it is unmount(2) which I did not mean. r187669: Update the description of the '-h' option wrt to primary addresses per address family and add a reference to the ip-addresses option. r187670: New sentence starts on a new line. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:27:01.430452Z K 7 svn:log V 79 Regen after jail support was merged in r188281 (--record-only MFC of r185436). END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:32:49.492890Z K 7 svn:log V 44 Record that r85436 was merged with r188282. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:46:51.758095Z K 7 svn:log V 553 MFC: r186956 Take the cred from curthread rather than curproc as curproc would need locking but the credential from curthread (usually) never changes. r186980 Restrict arp, ndp and theoretically the FIB listing (if not read with libkvm) to the addresses of a prison, when inside a jail. While touching RTM_GET in route_output(), consistently use curthread credentials rather than the creds from the socket there. r186986 Rather than using the cred from curthread, take it from the thread referenced in the sysctl req argument. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:51:15.884672Z K 7 svn:log V 658 MFC: r186948 Make SIOCGIFADDR and related, as well as SIOCGIFADDR_IN6 and related jail-aware. Up to now we returned the first address of the interface for SIOCGIFADDR w/o an ifr_addr in the query. This caused problems for programs querying for an address but running inside a jail, as the address returned usually did not belong to the jail. Like for v6, if there was an ifr_addr given on v4, you could probe for more addresses on the interfaces that you were not allowed to see from inside a jail. Return an error (EADDRNOTAVAIL) in that case now unless the address is on the given interface and valid for the jail. PR: kern/114325 END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T13:55:12.657898Z K 7 svn:log V 111 MFC: r187684 For consistency with prison_{local,remote,check}_ipN rename prison_getipN to prison_get_ipN. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T14:04:35.014367Z K 7 svn:log V 699 MFC: r187708 Update jail startup script for multi-IPv4/v6/no-IP jails. Note: this is only really necessary because of the ifconfig logic to add/remove the jail IPs upon start/stop. Consensus among simon and I is that the logic should really be factored out from the startup script and put into a proper management solution. - We now support starting of no-IP jails. - Implement jail__ip options to support both address familes with regard to ifconfig logic. - Implement _multi support suffix to the jail__ip option to configure additional addresses to avoid overlong, unreadbale jail__ip lines with lots of addresses. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T14:55:29.166587Z K 7 svn:log V 377 MFC: r186854 Using KMODOWN/KMODGRP rather than hard coding root/wheel for installing the kernel allows one, like with modules, to override the default user/group and install as non-su to a temporary directory to test, create images or seed a tftp dir. r186894 Document that we started using KMODOWN/KMODGRP for the kernel as well and no longer only for modules. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T15:21:11.434937Z K 7 svn:log V 204 MFC: r186519 Permit digits in the kernel config file names for `make universe'. This catches a few more kernel config for various architectures and permits having local configs named like NOINET6. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T15:31:23.884849Z K 7 svn:log V 149 MFC: r187668 Change IP addresses/prefixes to be from "Test-Net" (IPv4 documentation prefix 192.0.2.0/24) rather than from private-use networks. END K 10 svn:author V 3 alc K 8 svn:date V 27 2009-02-07T15:51:21.028744Z K 7 svn:log V 171 Recent changes to the kernel increasing the size of the kernel and kmem maps on amd64 machines should trigger ZFS users to reevaluate their manual tuning of the kmem map. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-07T15:51:32.184375Z K 7 svn:log V 17 Fix build, sigh. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T16:37:02.633855Z K 7 svn:log V 306 Named normally cannot be started chrooted inside a jail. Thus treat the jail case specifically. In case we find a proper pre-seeded devfs in the chroot path (mounted from the base system) permit starting chrooted else give proper warn/error messages. PR: conf/103489 Reviewed by: dougb MFC after: 5 days END K 10 svn:author V 4 piso K 8 svn:date V 27 2009-02-07T18:49:42.092292Z K 7 svn:log V 68 Add SCTP NAT support. Submitted by: CAIA (http://caia.swin.edu.au) END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-07T19:34:44.155217Z K 7 svn:log V 56 Make sure the comparison is done with an unsigned char. END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-07T21:07:58.695588Z K 7 svn:log V 263 "MFC": sys/conf/kern.pre.mk r180012 (out of the larger commit) Without including bsd.own.mk KMODOWN/KMODGRP are not defined which after r188288 broke installkernel. Reported by: kib, Herbert J. Skuhra Reviewed by: kib Pointy hat to: bz END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T00:16:24.798334Z K 7 svn:log V 147 Resort NOTES a bit to easily distinguish, which comments are actual and refer to used options, and which comments are obseleted. Reviewed by: imp END K 10 svn:author V 4 piso K 8 svn:date V 27 2009-02-08T03:02:06.177294Z K 7 svn:log V 41 Fix LIBALIAS option for a static kernel. END K 10 svn:author V 4 piso K 8 svn:date V 27 2009-02-08T03:03:55.092656Z K 7 svn:log V 101 Silent LINT: add 2 stubs (update_crc32 and sctp_finalize_crc32) to fix LIBALIAS + SCTP_NO_CSUM case. END K 10 svn:author V 8 deischen K 8 svn:date V 27 2009-02-08T06:44:58.542981Z K 7 svn:log V 148 Fix leak of kqueue() file descriptors when linked with static libc_r. PR: 58687 Submitted by: Jonathon Lennox END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-08T07:02:42.136530Z K 7 svn:log V 134 Correct parameter types for pcib_{read,write}_config by fixing the protptyoes for the legacy_* impelemtnations of these kobj methods. END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-08T07:03:34.020261Z K 7 svn:log V 43 Companion for r188301: fix the prototypes. END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-08T07:05:23.291165Z K 7 svn:log V 126 Fix g_part_*dumpconf to return void to match kobj definition. Fix g_part_*name to return a const char * rather than a char *. END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-08T08:13:36.023302Z K 7 svn:log V 26 Retire NO_DMA completely. END K 10 svn:author V 8 keramida K 8 svn:date V 27 2009-02-08T08:26:58.630558Z K 7 svn:log V 258 Fix language on atol(3) manpage. Add a COMPATIBILITY section stating that in FreeBSD the atol() and atoll() functions affect errno in the same way as strtol() and stroll(). PR: docs/126487 Submitted by: edwin Reviewed by: trhodes, gabor MFC after: 1 week END K 10 svn:author V 2 bz K 8 svn:date V 27 2009-02-08T09:27:07.390144Z K 7 svn:log V 1556 Try to remove/assimilate as much of formerly IPv4/6 specific (duplicate) code in sys/netipsec/ipsec.c and fold it into common, INET/6 independent functions. The file local functions ipsec4_setspidx_inpcb() and ipsec6_setspidx_inpcb() were 1:1 identical after the change in r186528. Rename to ipsec_setspidx_inpcb() and remove the duplicate. Public functions ipsec[46]_get_policy() were 1:1 identical. Remove one copy and merge in the factored out code from ipsec_get_policy() into the other. The public function left is now called ipsec_get_policy() and callers were adapted. Public functions ipsec[46]_set_policy() were 1:1 identical. Rename file local ipsec_set_policy() function to ipsec_set_policy_internal(). Remove one copy of the public functions, rename the other to ipsec_set_policy() and adapt callers. Public functions ipsec[46]_hdrsiz() were logically identical (ignoring one questionable assert in the v6 version). Rename the file local ipsec_hdrsiz() to ipsec_hdrsiz_internal(), the public function to ipsec_hdrsiz(), remove the duplicate copy and adapt the callers. The v6 version had been unused anyway. Cleanup comments. Public functions ipsec[46]_in_reject() were logically identical apart from statistics. Move the common code into a file local ipsec46_in_reject() leaving vimage+statistics in small AF specific wrapper functions. Note: unfortunately we already have a public ipsec_in_reject(). Reviewed by: sam Discussed with: rwatson (renaming to *_internal) MFC after: 26 days X-MFC: keep wrapper functions for public symbols? END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T10:21:25.965044Z K 7 svn:log V 86 Bring missing comments on EPSON_BOUNCEDMA and EPSON_MEMWIN flags. Submitted by: nyan END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T12:12:19.035598Z K 7 svn:log V 34 Add missing pcfclock description. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T12:33:05.213749Z K 7 svn:log V 162 Further NOTES cleanup -- following drivers didn't survive TTY-ng and aren't included in NOTES anyway: cy(4), rc(4), rp(4). si(4) doesn't belong to global NOTES. END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T12:40:33.996062Z K 7 svn:log V 111 si(4) seems to build without a problem. However, since noone noticed lack of this driver, put it in a comment. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-08T14:04:08.266212Z K 7 svn:log V 115 Audit the flag argument to the nfssvc(2) system call. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-08T14:24:35.942424Z K 7 svn:log V 169 Audit AUE_MAC_EXECVE; currently just the standard AUE_EXECVE arguments and not the label. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. MFC after: 1 week END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-08T14:39:35.139692Z K 7 svn:log V 214 Change various routines that are responsible for transforming audit event IDs based on arguments to return au_event_t rather than int. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. MFC after: 1 week END K 10 svn:author V 7 wkoszek K 8 svn:date V 27 2009-02-08T14:43:20.365924Z K 7 svn:log V 47 Fix several filenames for "make clean" target. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2009-02-08T15:38:31.225969Z K 7 svn:log V 208 Set the lower bound on queue size for an audit pipe to 1 instead of 0, as an audit pipe with a queue length of 0 is less useful. Obtained from: TrustedBSD Project Sponsored by: Apple, Inc. MFC after: 1 week END K 10 svn:author V 3 ume K 8 svn:date V 27 2009-02-08T16:58:05.010921Z K 7 svn:log V 135 Shutup warning for DNAME RR. PR: bin/127591 Submitted by: "Eugene M. Kim" <20080111.freebsd.org__at__ab.ote.we.lv> MFC after: 1 week END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-08T17:49:32.301677Z K 7 svn:log V 19 MFH r188181-188316 END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T19:18:33.119925Z K 7 svn:log V 271 Lookup up the directory entry for the tmpfs node that are deleted by both node pointer and name component. This does the right thing for hardlinks to the same node in the same directory. Submitted by: Yoshihiro Ota PR: kern/131356 MFC after: 2 weeks END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T19:37:01.998254Z K 7 svn:log V 7 Style. END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T19:41:08.214954Z K 7 svn:log V 176 Do not leak the MAP_ENTRY_IN_TRANSITION flag when copying map entry on fork. Otherwise, copied entry cannot be removed in the child map. Reviewed by: tegge MFC after: 2 weeks END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T19:44:50.528699Z K 7 svn:log V 91 Assert that vnode is exclusively locked when its vm object is resized. Reviewed by: tegge END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T19:53:37.079077Z K 7 svn:log V 34 MFC r181885: Fix typo in comment. END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T19:55:03.430591Z K 7 svn:log V 397 Lock the new map in vmspace_fork(). The newly allocated map should not be accessible outside vmspace_fork() yet, but locking it would satisfy the protocol of the vm_map_entry_link() and other functions called from vmspace_fork(). Use trylock that is supposedly cannot fail, to silence WITNESS warning of the nested acquisition of the sx lock with the same name. Suggested and reviewed by: tegge END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T19:55:13.454546Z K 7 svn:log V 123 MFC r184625: Add support for Asus A8Sr notebooks. PR: 128553 Submitted by: Eygene Ryabinkin END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T20:00:33.804119Z K 7 svn:log V 236 Add the comments to vm_map_simplify_entry() and vmspace_fork(), describing why several calls to vm_deallocate_object() with locked map do not result in the acquisition of the vnode lock after map lock. Suggested and reviewed by: tegge END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T20:00:36.743572Z K 7 svn:log V 122 MFC r186529 (stas): - Fix incorrect array declaration that was causing the stack overflow on some (most?) Asus laptops. END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-08T20:02:58.208342Z K 7 svn:log V 106 o use humanize_number to print totals o shrink some fields now that we don't have to worry about overflow END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-08T20:07:50.455862Z K 7 svn:log V 45 merge 188327: use humanize number for totals END K 10 svn:author V 6 marcel K 8 svn:date V 27 2009-02-08T20:15:08.668968Z K 7 svn:log V 780 o Add the "PART::scheme" attribute that returns the name of the underlying partitioning scheme. o Put the start and end of the partition in the XML configuration. The start and end are the LBAs of the first and last sector (resp.) of the partition. They are currently identical to the offset and size attributes, which describe the partition as an offset and size in bytes, but may not in the future. The start and end will be used for the logical partition boundaries and may include metadata. The offset and size will always represent the useful storage space within the partition. Typically these two notions are the same, but for logical partitions in an extended partition, the EBR is more naturally treated as being part of the partition. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2009-02-08T20:19:19.069625Z K 7 svn:log V 239 Prefer the start and end attributes over the offset and size attributes. The start and end more accurately describe the space taken by a partition. The offset and size are used to describe the effective (usable) storage of that partition. END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T20:23:46.008114Z K 7 svn:log V 555 Do not sleep for vnode lock while holding map lock in vm_fault. Try to acquire vnode lock for OBJT_VNODE object after map lock is dropped. Because we have the busy page(s) in the object, sleeping there would result in deadlock with vnode resize. Try to get lock without sleeping, and, if the attempt failed, drop the state, lock the vnode, and restart the fault handler from the start with already locked vnode. Because the vnode_pager_lock() function is inlined in vm_fault(), axe it. Based on suggestion by: alc Reviewed by: tegge, alc Tested by: pho END K 10 svn:author V 3 sam K 8 svn:date V 27 2009-02-08T20:29:37.545965Z K 7 svn:log V 67 fix typo Submitted by: Christoph Mallon END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T20:30:51.610049Z K 7 svn:log V 245 In vm_map_sync(), do not call vm_object_sync() while holding map lock. Reference object, drop the map lock, and then call vm_object_sync(). The object sync might require vnode lock for OBJT_VNODE type objects. Reviewed by: tegge Tested by: pho END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T20:39:17.942955Z K 7 svn:log V 394 Do not call vm_object_deallocate() from vm_map_delete(), because we hold the map lock there, and might need the vnode lock for OBJT_VNODE objects. Postpone object deallocation until caller of vm_map_delete() drops the map lock. Link the map entries to be freed into the freelist, that is released by the new helper function vm_map_entry_free_freelist(). Reviewed by: tegge, alc Tested by: pho END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T20:52:09.816705Z K 7 svn:log V 54 Improve comments, correct English. Submitted by: alc END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-08T21:08:00.347347Z K 7 svn:log V 186 The NRL value in the queue head must be zero for interrupt transfers. This was diagnosed using a USB analyser obtained through a FreeBSD Foundation grant. Thanks to: FreeBSD Foundation END K 10 svn:author V 3 kib K 8 svn:date V 27 2009-02-08T21:20:13.068408Z K 7 svn:log V 51 Remove no longer valid comment. Submitted by: alc END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-08T21:47:08.168569Z K 7 svn:log V 32 Add hardware command debugging. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-08T21:48:35.603653Z K 7 svn:log V 82 Endpoint 0x83 is always a interrupt type, only 0x04 changes with FS/HS operation. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-08T21:50:47.161580Z K 7 svn:log V 170 MFH r188336 The NRL value in the queue head must be zero for interrupt transfers. This was diagnosed using a USB analyser obtained through a FreeBSD Foundation grant. END K 10 svn:author V 5 kmacy K 8 svn:date V 27 2009-02-08T21:54:51.089145Z K 7 svn:log V 41 Don't try to directly update page tables END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T22:01:20.093034Z K 7 svn:log V 25 Reverse botched r188326. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2009-02-08T22:02:46.730049Z K 7 svn:log V 240 When copying file data to the archive, don't write more than was read. This seems to have only affected the shar writer, since other formats proactively truncate output to the originally-advertised size. PR: bin/131244 MFC after: 7 days END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2009-02-08T22:04:17.427868Z K 7 svn:log V 44 Fix multiple -s options. MFC after: 7 days END K 10 svn:author V 5 trasz K 8 svn:date V 27 2009-02-08T22:08:48.599728Z K 7 svn:log V 141 Remove an overzealous check. Submitted by: das Reviewed by: scottl Approved by: rwatson (mentor, implicit) Sponsored by: FreeBSD Foundation END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T22:09:49.419946Z K 7 svn:log V 243 MFC r180268: Fix my previous commit. We actually should pass evaluation args in AcpiEvaluateObject() calls, otherwise, we are not able to bring devices back up (NULL means 0, hence always off). While there add missing WLAN on/off support. END K 10 svn:author V 6 rpaulo K 8 svn:date V 27 2009-02-08T22:13:57.410087Z K 7 svn:log V 123 MFC 186529 (stas): - Fix incorrect array declaration that was causing the stack overflow on some (most?) Asus laptops. END K 10 svn:author V 3 alc K 8 svn:date V 27 2009-02-08T22:17:24.188979Z K 7 svn:log V 127 Eliminate OBJ_NEEDGIANT. After r188331, OBJ_NEEDGIANT's only use is by a redundant assertion in vm_fault(). Reviewed by: kib END K 10 svn:author V 5 kmacy K 8 svn:date V 27 2009-02-08T22:31:31.895283Z K 7 svn:log V 33 don't touch page tables directly END K 10 svn:author V 3 imp K 8 svn:date V 27 2009-02-08T22:54:58.816507Z K 7 svn:log V 643 When bouncing pages, allow a new option to preserve the intra-page offset. This is needed for the ehci hardware buffer rings that assume this behavior. This is an interim solution, and a more general one is being worked on. This solution doesn't break anything that doesn't ask for it directly. The mbuf and uio variants with this flag likely don't work and haven't been tested. Universe builds with these changes. I don't have a huge-memory machine to test these changes with, but will be happy to work with folks that do and hps if this changes turns out not to be sufficient. Submitted by: alfred@ from Hans Peter Selasky's original END K 10 svn:author V 5 kmacy K 8 svn:date V 27 2009-02-08T23:12:29.365097Z K 7 svn:log V 58 fixing netfront build without witness and reboot handling END K 10 svn:author V 6 marcel K 8 svn:date V 27 2009-02-08T23:39:30.143175Z K 7 svn:log V 198 Allow gpe_offset to be set by the scheme. When gpe_offset is zero, or invalid, initialize it to the start of the partition. Adjust the mediasize when the offset lies somewhere inside the partition. END K 10 svn:author V 5 gonzo K 8 svn:date V 27 2009-02-08T23:43:36.448679Z K 7 svn:log V 68 - Fix in_cksum for big-endian MIPS: use correct compile-time check. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2009-02-08T23:51:44.525943Z K 7 svn:log V 345 Add the EBR scheme. The EBR scheme supports the Extended Boot Records found inside extended partitions and used to create logical partitions. At this time write/modify support is not (yet) present. The EBR and MBR schemes both check the parent scheme. The MBR will back-off when nested under another MBR, whereas the EBR only nests under a MBR. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2009-02-09T00:58:16.408610Z K 7 svn:log V 53 Use usb2_clear_endpoint_stall() to clear the stalls. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T01:16:36.845020Z K 7 svn:log V 1316 MFC: r185752-185753,185756,185896 r185752: Make sure to return the result of meida change request. Previously it used to return success regardless of the result. r185753: o Implemented miibus_statchg handler. It detects whether re(4) established a valid link or not. In miibus_statchg handler add a check for established link is valid one for the controller(e.g. 1000baseT is not a valid link for fastethernet controllers.) o Added a flag RE_FLAG_FASTETHER to mark fastethernet controllers. o Added additional check to know whether we've really encountered watchdog timeouts or missed Tx completion interrupts. This change may help to track down the cause of watchdog timeouts. o In interrupt handler, removed a check for link state change interrupt. Not all controllers have the bit and re(4) did not rely on the event for a long time. In addition, re(4) didn't request the interrupt in RL_IMR register. r185756: Reduce spin wait time consumed in GMII register access routines. Waiting for 1ms for each GMII register access looks overkill and it may also decrease overall performance of driver because re(4) invokes mii_tick for every hz. r185896: Partly revert r185756. RTL8169SC doesn't like reduced delays in GMII access while Tx/Rx is in progress. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T01:26:31.415758Z K 7 svn:log V 646 MFC: r185897,185900-185901,185903 r185897: Always put controller into known state before device intialization. While here remove re_reset calls invoked in system error case as controller reset is always done in device initialization. r185900: Newer RealTek controllers requires setting stop request bit to terminate active Tx/Rx operation. r185901: Don't access undocumented register 0x82 on controllers that have no such register. While here clear undocumented PHY register 0x0B for RTL8110S. r185903: Make WOL work on RTL8168B. This controller seems to require explicit command to enable Rx MAC prior to entering D3. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T01:30:14.636812Z K 7 svn:log V 292 MFC r186210: For RTL8168C SPIN2 controllers, make sure to take the controller out of sleep mode prior to accessing to PHY. This should fix device attach failure seen on these controllers. Also enable the sleep mode when device is put into sleep state. PR: kern/123123, kern/123053 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T01:38:01.997003Z K 7 svn:log V 1471 MFC r186214,186389,187417 r186214: It seems that RealTek PCIe controllers require an explicit Tx poll command whenever Tx completion interrupt is raised. The Tx poll bit is cleared when all packets waiting to be transferred have been processed. This means the second Tx poll command can be silently ignored as the Tx poll bit could be still active while processing of previous Tx poll command is in progress. To address the issue re(4) used to invoke the Tx poll command in Tx completion handler whenever it detects there are pending packets in TxQ. However that still does not seem to completely eliminate watchdog timeouts seen on RealTek PCIe controllers. To fix the issue kick Tx poll command only after Tx completion interrupt is raised as this would indicate Tx is now idle state such that it can accept new Tx poll command again. While here apply this workaround for PCIe based controllers as other controllers does not seem to have this limitation. r186389: Since we don't request reset for rlphy(4), the link state 'UP' event from mii(4) may not be delivered if valid link was already established. To address the issue, check current link state after driving MII_TICK. This should fix a regression introduced in r185753 on fast ethernet controllers. r187417: Sometimes RTL8168B seems to take long time to access GMII registers in device attach phase. Double GMII register access timeout value to fix the issue. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T01:55:30.363631Z K 7 svn:log V 567 MFC r183346 Add another hardware bug workaround for Yukon II controllers that have hardware ram buffer. The silicon bug seem to be triggered by pause frames if receive buffer is not aligned on FIFO word(8 bytes). To workaround the issue, make sure to align Rx buffers on 8 bytes. Unfortunately this workaround requires yet another Rx fixup for strict alignment architecture machines to align IP header. For newer hardwares that lacks ram buffer may not have this bug so check number of available ram buffer size to see the existence of ram buffer. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T02:00:43.347455Z K 7 svn:log V 228 MFC r183485-183486 r183485: Always pullup mbuf prior to accessing TCP header. This should fix occasional Tx checksum corruption issue. r183486: If mbuf is not writable get a writable copy before invoking m_pullup(9). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T02:03:49.454061Z K 7 svn:log V 93 MFC r185244 Save the value read from TX queue CSR, so we don't test against a stale one. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T02:06:15.235939Z K 7 svn:log V 115 MFC r187207: Correct frame length argument of in_cksum_skip. While I'm here remove intermediate variable csum. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T02:15:25.310150Z K 7 svn:log V 1083 MFC r187208: Remove local jumbo locator and switch to UMA backed page allocator for jumbo frame. o Nuke unneeded jlist lock which was used to protect jumbo buffer management in local allocator. o Added a new tunable hw.mskc.jumbo_disable to disable jumbo frame support for the driver. The tunable could be set for systems that do not need to use jumbo frames and it would save (9K * number of Rx descriptors) bytes kernel memory. o Jumbo buffer allocation failure is no longer critical error for the operation of msk(4). If msk(4) encounter the allocation failure it just disables jumbo frame support and continues to work without your intervention. Using local allocator had several drawbacks such as requirement of large amount of continuous kernel memory and fixed (small) number of available buffers. The need for large continuous memory resulted in failure of loading driver with kldload on running systems. Also small number of buffer used in local allocator showed poor performance for some applications. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:23:00.074673Z K 7 svn:log V 426 MFC r177507(cvs if_fxp.c, 1.267): Reuse the mbuf that was just retrieved from the receive ring if mbuf exhaustion is encountered. There was a fix made previously for this problem but the solution (breaking out of the receive loop) does not seem to work. mbuf reuse strategy is already adopted by other drivers such as if_bge. The problem was recreated and the patch is also verified in the same test environment. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:28:57.601513Z K 7 svn:log V 169 MFC r185269,185271-185272 r185269: Whitespace fix. r185271: Sort head files and removed ununsed header file. r185272: Make fxp(4) build with FXP_IP_CSUM_WAR. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2009-02-09T03:31:53.009700Z K 7 svn:log V 174 MFC r187704: Fix ARCHIVE_EXTRACT_SPARSE handling in libarchive. Add a test to exercise this feature. This should fix --sparse/-S support in tar. Thanks to: Daichi GOTO END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:32:23.915918Z K 7 svn:log V 275 MFC r185273 Fix Tx/Rx checksum offload ioctl handling and make Rx handler honor checksum offload configuration. Now checksum offload can be controlled by ifconfig(8). While I'm here add an additional check for interface capabilities before applying user's request. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:34:35.901973Z K 7 svn:log V 337 MFC r185276 Move unarming watchdog timer and pending multicast configuration check to fxp_txeof(). While I'm here unarm watchdog timer only if there are no pending queued Tx requests. Previously the watchdog timer was unarmed whenever Tx interrupt is raised. This could be resulted in hiding root cause of watchdog timeouts. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:38:01.047381Z K 7 svn:log V 1116 MFC r185285: - Allow fxp_encap() enqueue failed transmissions and set IFF_DRV_OACTIVE to note resource shortage to upper stack. - Don't count number of mbuf chains. Default 32 DMA segments for a frame is enough for most cases. If bus_dmamap_mbuf_sg fails use m_collapse(9) to collapse the mbuf chain instead of relying on expensive m_defrag(9). - Move bpf handling to fxp_start_body() which is supposed to be more appropriate place. - Always arm watchdog timer whenever a new Tx request is made. Previously fxp(4) used to arm watchdog timer only when FXP_CXINT_THRESH-th Tx request is made. Because fxp(4) does not rely on Tx interrupt to reclaim transmitted mbufs it's better to arm watchdog timer to detect potential lockups. - Add more aggresive Tx buffer reclaiming in fxp_start_body to make room for new Tx requests. Since fxp(4) does not request Tx completion interrupt for every frames it's necessary to clean TXCBs in advance to saturate link. - Make fxp(4) try to start more packets transmitting regardless of interrupt type in fxp_intr_body. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2009-02-09T03:40:51.829508Z K 7 svn:log V 132 MFC r185286: Simplify Tx checksum offload configuration. Also clear CSUM_IP if we've computed IP checksum with software method. END