ƒ·>213482 150 178 163 346 1289 145 208 146 768 286 233 387 277 327 1065 665 158 154 153 273 143 241 563 563 1443 1443 371 485 173 184 218 257 172 301 220 140 145 219 144 219 145 558 169 198 148 663 248 327 433 244 169 164 234 247 1497 305 377 160 154 367 134 122 198 143 98 182 176 171 175 161 181 179 163 159 159 166 166 181 181 149 149 108 105 117 108 105 154 198 588 139 137 145 193 539 167 430 273 331 356 265 156 196 164 109 228 157 313 213 213 903 903 199 1979 1979 573 573 365 365 177 177 261 261 385 385 247 247 300 473 149 300 274 2467 2467 134 134 1167 138 1167 503 251 503 236 236 640 640 640 640 167 167 294 294 K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-10-06T14:43:37.380361Z K 7 svn:log V 82 Add myself to calendar.freebsd and committers-src.dot. Approved by: avg (mentor) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-10-06T15:01:37.558193Z K 7 svn:log V 67 Fix wrong slashes in a previous commit. Approved by: avg (mentor) END K 10 svn:author V 8 jchandra K 8 svn:date V 27 2010-10-06T15:37:55.574203Z K 7 svn:log V 248 PCI fix for XLR C revision chips, limit DMA address to the first 2GB physical address. Adds a dma tag to the XLR/XLS pci bus with the lowaddr if the CPU happens to be a XLR C rev. Submitted by: Sreekanth M. S. (kanthms at netlogicmicro dot com)) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-06T17:35:27.805527Z K 7 svn:log V 1191 Overhaul MII register access routine and remove unnecessary BGE_MI_MODE register accesses. Previously bge(4) used to read BGE_MI_MODE register to detect whether it needs to disable autopolling feature or not. Because we don't touch autopolling in other part of driver there is no reason to read BGE_MI_MODE register given that we know default value in advance. In order to achieve the goal, check whether the controller has CPMU(Central Power Mangement Unit) capability. If controller has CPMU feature, use 500KHz MII management interface(mdio/mdc) frequency regardless core clock frequency. Otherwise use default MII clock. While I'm here, add CPMU register definition. In bge_miibus_readreg(), rearrange code a bit and remove goto statement. In bge_miibus_writereg(), make sure to restore autopolling even if MII write failed. The delay time inserted after accessing BGE_MI_MODE register increased from 40us to 80us. The default PHY address is now stored in softc. All PHYs supported by bge(4) currently uses PHY address 1 but it will be changed when we add newer controllers. This change will make it easier to change default PHY address depending on PHY models. Submitted by: davidch END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-06T17:47:13.466220Z K 7 svn:log V 49 Remove bge_tx_buf_ratio, unused member of softc. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-06T18:20:07.773298Z K 7 svn:log V 111 Add definition for FreeBSD 7.4, which will be used in a manual page change. Reviewed by: ru MFC after: 3 days END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-06T18:20:39.409346Z K 7 svn:log V 50 Use a defined FreeBSD version. MFC after: 3 days END K 10 svn:author V 8 ambrisko K 8 svn:date V 27 2010-10-06T18:36:50.455370Z K 7 svn:log V 670 Add the capability to read the complete contents of the NVRAM via sysctl dev.bce..nvram_dump Add the capability to write the complete contents of the NVRAM via sysctl dev.bce..nvram_write These are only available if the kernel option BCE_DEBUG is enabled. The nvram_write sysctl also requires the kernel option BCE_NVRAM_WRITE_SUPPORT to be enabled. These are to be used at your own caution. Since the MAC addresses are stored in the NVRAM, if you dump one NIC and restore it on another NIC the destination NIC's MAC addresses will not be preserved. A tool can be made using these sysctl's to manage the on-chip firmware. Reviewed by: davidch, yongari END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-10-06T18:51:22.616858Z K 7 svn:log V 192 Simplify timeout check in futex_wait() using itimerfix() and return error if the given timeout is invalid. Consistently use int type for timeout and correct a format string in futex_sleep(). END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-06T19:32:12.074124Z K 7 svn:log V 136 A code cleanup of usbd_transfer_setup() to remove `while (1)'. It's seperated into two step and added comments what each step's doing. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-06T20:35:07.305319Z K 7 svn:log V 294 Apply r207674 from the clangbsd project branch: Make "clang -print-multi-os-directory" return "." on amd64, matching gcc's behaviour. This is needed because some ports use the option to determine the installation directory for their libraries. Requested by: kwm Approved by: rpaulo (mentor) END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-10-06T20:49:45.959739Z K 7 svn:log V 184 Use more portable errx instead of errc. The latter doesn't buy us anyting anyway, since the error EAGAIN's error message doesn't add anything to the error strings that are there now. END K 10 svn:author V 3 imp K 8 svn:date V 27 2010-10-06T20:54:17.924935Z K 7 svn:log V 234 Remove hack needed by 6.x machines and older machines to run newer makes on FreeBSD/pc98. The need for this hack has passed. If you are one of the rare people that may need this, then you should setenv MACHINE=pc98 as a workaround. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-06T21:23:57.360568Z K 7 svn:log V 968 Add more comments to rings supported by the controller. Different versions of controller support different number of ring control blocks such that adjust code a bit to access known number of send/receive ring control blocks. Previously bge(4) blindly accessed 16 send/receive RCBs. Also move initializing standard receive producer ring producer index, jumbo receive producer ring producer index and mini receive producer ring producer index to the end of each receive producer ring initialization. Do not assume mini receive producer ring is available only when controller has jumbo frame capability, instead explicitly check ASIC version BCM5700 to disable mini receive producer ring. Additionally always enable send ring 0 regardless of controller versions. Previously bge(4) didn't enable send ring 0 if controller is BGE_IS_5705_PLUS. Becase bge(4) need 1 send ring to send frames at least, I have no idea how it would have worked so far. Submitted by: davidch END K 10 svn:author V 6 cognet K 8 svn:date V 27 2010-10-06T22:25:21.670497Z K 7 svn:log V 569 if_ate.c: * Support for sam9 "EMAC" controller. * Support for rmii interface to phy. at91.c & at91sam9.c: * Eliminate separate at91sam9.c file. * Add new devices to at91sam9_devs table. at91_machdep.c & at at91sam9_machdep.c: * Automatic chip type determination. * Remove compile time chip dependencies. * Eliminate separate at91sam9_machdep.c file. at91_pmc.c: * Corrected support for all of the sam926? and sam9g20 chips. * Remove compile time chip dependencies. My apologies to Greg for taking so long to take care of it. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2010-10-06T22:32:31.059757Z K 7 svn:log V 63 Add the AT91SAM9G20EK config files. Submitted by: Greg Ansley END K 10 svn:author V 6 cognet K 8 svn:date V 27 2010-10-06T22:40:27.900151Z K 7 svn:log V 59 Add support for the AT91SAM9260 Submitted by: Greg Ansley END K 10 svn:author V 6 cognet K 8 svn:date V 27 2010-10-06T22:41:32.547869Z K 7 svn:log V 58 Add the QILA9G20 config files. Submitted by: Greg Ansley END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-06T23:04:07.339272Z K 7 svn:log V 176 Rewrites USB_DMATAG_TO_XROOT macro to remove linux-like container_of() macro. Sometimes it's useful because it don't need to handle the parent pointer but it's not intuitive. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-06T23:13:30.282928Z K 7 svn:log V 47 Uses USB_P2U macro that it's doing same thing. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-06T23:47:52.165324Z K 7 svn:log V 144 Cleans up ..._BUS2SC() macros that don't need to use container_of()-like macros because the usb_bus already knows how to get the softc pointer. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-07T00:29:07.970605Z K 7 svn:log V 466 MFC r213044: In the past gunzip(1) write()'s after each inflate return. This is not optimal from a performance standpoint since the write buffer is not necessarily be filled up when the inflate rountine reached the end of input buffer and it's not the end of file. This problem gets uncovered by trying to pipe gunzip -c output to a GEOM device directly, which enforces the writes be multiple of sector size. Sponsored by: iXsystems, Inc. Reported by: jpaetzel END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-07T00:30:29.937285Z K 7 svn:log V 466 MFC r210344: In the past gunzip(1) write()'s after each inflate return. This is not optimal from a performance standpoint since the write buffer is not necessarily be filled up when the inflate rountine reached the end of input buffer and it's not the end of file. This problem gets uncovered by trying to pipe gunzip -c output to a GEOM device directly, which enforces the writes be multiple of sector size. Sponsored by: iXsystems, Inc. Reported by: jpaetzel END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-07T00:36:58.653411Z K 7 svn:log V 1345 MFC r211059: Address an edge condition that we found at work, where the carp(4) interface goes to issue LINK_UP, then LINK_DOWN, then LINK_UP at cold boot. This behavior is not observed when carp(4) interface is created slightly later, when the underlying interface is fully up. Before this change what happen at boot is roughly: - ifconfig creates em0 interface; - ifconfig clones a carp device using em0; (em0's link state is DOWN at this point) - carp state: INIT -> BACKUP [*] - carp state: BACKUP -> MASTER - [Some negotiate between em0 and switch] - em0 kicks up link state change event (em0's link state is now up DOWN at this point) - do_link_state_change() -> carp_carpdev_state() - carp state: MASTER -> INIT (via carp_set_state(sc, INIT)) [+] - carp state: INIT -> BACKUP - carp state: BACKUP -> MASTER At the [*] stage, em0 did not received any broadcast message from other node, and assume our node is the master, thus carp(4) sets the link state to "UP" after becoming a master. At [+], the master status is forcely set to "INIT", then an election is casted, after which our node would actually become a master. We believe that at the [*] stage, the master status should remain as "INIT" since the underlying parent interface's link state is not up. Obtained from: iXsystems, Inc. Reported by: jpaetzel END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-10-07T00:37:40.199520Z K 7 svn:log V 1345 MFC r211059: Address an edge condition that we found at work, where the carp(4) interface goes to issue LINK_UP, then LINK_DOWN, then LINK_UP at cold boot. This behavior is not observed when carp(4) interface is created slightly later, when the underlying interface is fully up. Before this change what happen at boot is roughly: - ifconfig creates em0 interface; - ifconfig clones a carp device using em0; (em0's link state is DOWN at this point) - carp state: INIT -> BACKUP [*] - carp state: BACKUP -> MASTER - [Some negotiate between em0 and switch] - em0 kicks up link state change event (em0's link state is now up DOWN at this point) - do_link_state_change() -> carp_carpdev_state() - carp state: MASTER -> INIT (via carp_set_state(sc, INIT)) [+] - carp state: INIT -> BACKUP - carp state: BACKUP -> MASTER At the [*] stage, em0 did not received any broadcast message from other node, and assume our node is the master, thus carp(4) sets the link state to "UP" after becoming a master. At [+], the master status is forcely set to "INIT", then an election is casted, after which our node would actually become a master. We believe that at the [*] stage, the master status should remain as "INIT" since the underlying parent interface's link state is not up. Obtained from: iXsystems, Inc. Reported by: jpaetzel END K 10 svn:author V 6 gordon K 8 svn:date V 27 2010-10-07T06:34:47.066994Z K 7 svn:log V 275 Add the ability to display specific manual pages if passed on the commandline. This mirrors the old (undocumented) GNU man functionality. Also document this feature in the implementation notes section of the manpage. Submitted by: arundel Approved by: wes (mentor implicit) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-10-07T08:36:02.132673Z K 7 svn:log V 392 The msdosfs lookup is case insensitive. Several aliases may be inserted for a single directory entry. As a consequnce, name cache purge done by lookup for fvp when DELETE op for namei is specified, might be not enough to expunge all namecache entries that were installed for this direntry. Explicitely call cache_purge(fvp) when msdosfs_rename() succeeded. PR: kern/93634 MFC after: 1 week END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-10-07T09:07:48.413428Z K 7 svn:log V 81 Add ID for Vodafone (ZTE) Mobile Broadband K3565-Z modem. Reviewed by: hselasky END K 10 svn:author V 6 cognet K 8 svn:date V 27 2010-10-07T09:30:35.467001Z K 7 svn:log V 89 Add options I missed in the additionnal AT91 support commits. Submitted by: Greg Ansley END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-10-07T12:20:50.227423Z K 7 svn:log V 121 MFC r213258: - kern_sched_rr_get_interval should return interval for thread 1 in target process. - eliminate a goto. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2010-10-07T12:34:54.624719Z K 7 svn:log V 160 Add Jonathan Anderson as a src committer. Jon has been working on a number of things, not least Capsicum. I will be his mentor. Approved by: core END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-10-07T12:57:16.041609Z K 7 svn:log V 76 MFC r211833: Decrease rdlock count only when thread unlocked a reader lock. END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-10-07T12:58:09.919282Z K 7 svn:log V 204 Cosmetic change: Wrap lines for SiS and Promise entries to 80 columns. This doesn't change appearance in page rendered with troff or man.cgi. PR: docs/146195 Approved by: kib (mentor) MFC after: 1 week END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-10-07T13:13:02.089643Z K 7 svn:log V 123 MFC r213258: - kern_sched_rr_get_interval should return interval for thread 1 in target process. - eliminate a goto. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-07T15:04:16.042059Z K 7 svn:log V 44 Fix a reversed use of arguments in bcopy(). END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-07T15:17:16.265277Z K 7 svn:log V 49 Remove bcopy usage and use memcpy when possible. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-07T16:32:35.489295Z K 7 svn:log V 126 Vendor import of llvm 2.8 release: http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_28@115866 Approved by: rpaulo (mentor) END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-07T16:34:12.861419Z K 7 svn:log V 52 Tag llvm 2.8 release. Approved by: rpaulo (mentor) END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-07T16:35:05.127376Z K 7 svn:log V 126 Vendor import of clang 2.8 release: http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_28@115870 Approved by: rpaulo (mentor) END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-07T16:35:50.455231Z K 7 svn:log V 53 Tag clang 2.8 release. Approved by: rpaulo (mentor) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-07T17:14:50.747929Z K 7 svn:log V 461 Fix a long standing bug which regarded some revisions of controller as 5788. This caused BGE_MISC_LOCAL_CTL register is used to generate link state change interrupt for non-5788 controllers. The interrupt handler may or may not detect link state attention as status block wouldn't be updated when an interrupt was generated with BGE_MISC_LOCAL_CTL register. All controllers except 5700 and 5788 should use host coalescing mode register to trigger an interrupt. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-10-07T17:26:22.193869Z K 7 svn:log V 74 Add a note on the removal of copyright strings from login(1) and sshd(8). END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-07T17:35:10.146807Z K 7 svn:log V 101 Removes recurse_1 and recurse_2 variables of `struct usb_xfer_queue' that it's replaced as `status'. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-07T17:49:19.975603Z K 7 svn:log V 52 Enhances a comment what xfer_setup is really doing. END K 10 svn:author V 2 jh K 8 svn:date V 27 2010-10-07T18:00:55.304545Z K 7 svn:log V 571 Check the device name validity on device registration. A new function prep_devname() sanitizes a device name by removing leading and redundant sequential slashes. The function returns an error for names which already exist or are considered invalid. A new flag MAKEDEV_CHECKNAME for make_dev_p(9) and make_dev_credf(9) indicates that the caller is prepared to handle an error related to the device name. An invalid name triggers a panic if the flag is not specified. Document the MAKEDEV_CHECKNAME flag in the make_dev(9) manual page. Idea from: kib Reviewed by: kib END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-07T18:11:33.348729Z K 7 svn:log V 155 vm.kmem_map_size: a sysctl to query current kmem_map->size Based on a patch from Sandvine Incorporated via emaste. Reviewed by: emaste MFC after: 1 week END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-07T18:16:14.014059Z K 7 svn:log V 234 opensolaris_kmem kmem_size(): report lesser of vm_kmem_size and available physical memory This is needed to correctly autotune ZFS ARC size when vm_kmem_size is set to value larger than available physical memory. MFC after: 2 weeks END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-07T18:16:22.958461Z K 7 svn:log V 340 Don't close local component on exit as we can hang waiting on g_waitidle. I'm unable to reproduce the race described in comment anymore and also the comment is incorrect - localfd represents local component from configuration file, eg. /dev/da0 and not HAST provider. Reported by: Mikolaj Golub MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-07T18:19:02.576827Z K 7 svn:log V 151 Start the guard thread first, so we can handle signals from the very begining. Reported by: Mikolaj Golub MFC after: 1 week END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-07T18:20:16.108779Z K 7 svn:log V 77 Log error message when we fail to destroy ggate provider. MFC after: 3 days END K 10 svn:author V 8 jonathan K 8 svn:date V 27 2010-10-07T18:20:51.754829Z K 7 svn:log V 67 Add myself (jonathan@) to committers-src.dot Reviewed by: rwatson END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-07T18:23:28.556507Z K 7 svn:log V 141 Clear ggate structures before using them. We don't initialize all the field and there can be some garbage from the stack. MFC after: 1 week END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-07T20:31:07.391191Z K 7 svn:log V 154 Upgrade Clang and LLVM to the 2.8 release. See here for release notes: http://llvm.org/releases/2.8/docs/ReleaseNotes.html Approved by: rpaulo (mentor) END K 10 svn:author V 3 ken K 8 svn:date V 27 2010-10-07T21:56:10.256537Z K 7 svn:log V 1403 Turn on serialization of task management commands going down to the controller, but make it optional. After a problem report from Andrew Boyer, it looks like the LSI chip may have issues (the watchdog timer fired) if too many aborts are sent down to the chip at the same time. We know that task management commands are serialized, and although the manual doesn't say it, it may be a good idea to just send one at a time. But, since I'm not certain that this is necessary, add a tunable and sysctl variable (hw.mps.%d.allow_multiple_tm_cmds) to control the driver's behavior. mps.c: Add support for the sysctl and tunable, and add a comment about the possible return values to mps_map_command(). mps_sas.c: Run all task management commands through two new routines, mpssas_issue_tm_request() and mpssas_complete_tm_request(). This allows us to optionally serialize task management commands. Also, change things so that the response to a task management command always comes back through the callback. (Before it could come via the callback or the return value.) mpsvar.h: Add softc variables for the list of active task management commands, the number of active commands, and whether we should allow multiple active task management commands. Add an active command flag. mps.4: Describe the new sysctl/loader tunable variable. Sponsored by: Spectra Logic Corporation END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-10-08T00:44:53.255395Z K 7 svn:log V 209 Make a thread's address available via the kern proc sysctl, just like the process address. Add "tdaddr" keyword to ps(1) to display this thread address. Distilled from Sandvine's patch set by Mark Johnston. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-10-08T01:03:30.937343Z K 7 svn:log V 281 In r207768 I silenced a console warning from rum(4). There was legitimate opposition to the change, since really we need to implement missing functionality in drivers or the 802.3 layer. For now, restore a reminder message for a missing rum_update_mcast, but print it only once. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-08T01:17:22.175527Z K 7 svn:log V 64 Defines the helper macro SLEEPOUT_RUN_TASK to enqueue the task. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-10-08T01:47:14.068472Z K 7 svn:log V 58 unwind.h was imported, gcc directory is no longer needed. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-08T01:52:01.359797Z K 7 svn:log V 270 o fixes a regression that setting the promiscuous mode should be happened at the taskqueue. It's to avoid a `sleepable after non-sleepable' because ioctl handler could be called with holding bpf mtx which is a default mutex. o defines SLEEPOUT_DRAIN_TASK helper. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2010-10-08T01:53:33.467411Z K 7 svn:log V 38 Oops, don't remove -fexceptions flag. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-08T01:54:27.479343Z K 7 svn:log V 26 A trivial macro renaming. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-10-08T07:17:22.163376Z K 7 svn:log V 105 Add a comment describing the reason for calling cache_purge(fvp). Requested by: danfe MFC after: 6 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-10-08T07:18:44.238975Z K 7 svn:log V 51 Fix typo. Submitted by: arundel MFC after: 3 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-10-08T07:19:05.751097Z K 7 svn:log V 7 Regen. END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:26:56.091030Z K 7 svn:log V 90 MFC r212950: zfs_vnops: use zfs_map_page/zfs_unmap_page helper functions in another place END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:29:26.659199Z K 7 svn:log V 84 MFC r212951: zfs_map_page/zfs_unmap_page: do not use sched_pin() and SFB_CPUPRIVATE END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:31:32.842012Z K 7 svn:log V 79 MFC r212657: zfs vn_has_cached_data: take into account v_object->cache != NULL END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:33:22.500514Z K 7 svn:log V 83 MFC r212780: zfs arc_reclaim_needed: more reasonable threshold for available pages END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:34:32.699093Z K 7 svn:log V 69 MFC r212783: zfs arc_reclaim_needed: fix typo in mismerge in r212780 END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:36:30.966007Z K 7 svn:log V 89 MFC r212781: zfs arc_reclaim_needed: remove redundant checks for arc_c_max and arc_c_max END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:38:44.927392Z K 7 svn:log V 87 MFC r212964: kdb_backtrace: stack(9)-based code to print backtrace without any backend END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:49:05.996334Z K 7 svn:log V 71 MFC r212994: kdb_backtrace: use stack_print_ddb instead of stack_print END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:52:00.668643Z K 7 svn:log V 67 MFC r213303: kmem_size* sysctls: hint that these are also tunables END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:54:55.175376Z K 7 svn:log V 67 MFC r213303: kmem_size* sysctls: hint that these are also tunables END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:57:19.691360Z K 7 svn:log V 74 MFC r213304: debug.kdb.stop_cpus sysctl: hint that this is also a tunable END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T07:58:57.734842Z K 7 svn:log V 74 MFC r213304: debug.kdb.stop_cpus sysctl: hint that this is also a tunable END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T08:01:36.873800Z K 7 svn:log V 89 MFC r213305: there must be only one SYSINIT with SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY order END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T08:09:45.722091Z K 7 svn:log V 89 MFC r213305: there must be only one SYSINIT with SI_SUB_RUN_SCHEDULER+SI_ORDER_ANY order END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T08:13:22.332816Z K 7 svn:log V 57 MFC r213322: sysctls in kern_shutdown: add twin tunables END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-10-08T08:14:43.154909Z K 7 svn:log V 57 MFC r213322: sysctls in kern_shutdown: add twin tunables END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:32:37.958615Z K 7 svn:log V 17 Import ee 1.5.1. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:33:21.854827Z K 7 svn:log V 14 Tag ee 1.5.1. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:33:52.389759Z K 7 svn:log V 26 Make tag name consistent. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:34:59.273838Z K 7 svn:log V 17 Import ee 1.5.2. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:35:23.027202Z K 7 svn:log V 14 Tag ee 1.5.2. END K 10 svn:author V 2 ed K 8 svn:date V 27 2010-10-08T09:43:06.575890Z K 7 svn:log V 63 Import ee 1.5.2 into HEAD. PR: bin/145921 MFC after: 2 weeks END K 10 svn:author V 3 pho K 8 svn:date V 27 2010-10-08T10:27:52.918529Z K 7 svn:log V 105 Ensure that a make from sys/boot does not pick up include files from /usr/include. Discussed with: kib END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T10:42:16.721776Z K 7 svn:log V 491 Add the support for polling on ixgbe. It is mostly modelled on what ixgb already does. Small questions: - does the IFF_DRV_RUNNING check might be kept unlocked? I can't find an uniform locking pattern for it looking around and it seems mostly unlocked. - reading IXGBE_EICR and _LSC should be unlocked? It seems functions do this way. - In case ixgbe_rxeof() returns 'more' should we schedule the taskqueue? ixgb polling doesn't do that, so I'd like to hear more opinion in return. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T11:16:48.078016Z K 7 svn:log V 43 Add netdump support for ixgb(4) interface. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T12:39:05.977952Z K 7 svn:log V 41 Add netdump support for ixgbe(4) driver. END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-10-08T12:39:49.760329Z K 7 svn:log V 53 mdoc: fix manlint warnings by unbreaking mdoc syntax END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-10-08T12:40:16.194835Z K 7 svn:log V 100 mdoc: drop redundant .Pp and .LP calls They have no effect when coming in pairs, or before .Bl/.Bd END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-10-08T14:31:49.874656Z K 7 svn:log V 442 Clean up tools in tools/tools/netrate. - tcpconnect incorrectly uses err() in usage() with errx() semantics [1] That produces dirty error message: tcpconnect: usage: tcpconnect [ip]: Unknown error: 0 - 64-bit aware fixes in printf() usage [2] o netrate/juggle: time_t has arch-dependent size o netrate/tcpconnect: don't assume %ll has always 64bit. PR: 146088 [1], 146086 [2] (modified) Approved by: kib (mentor) MFC after: 1 week END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-10-08T14:50:58.751788Z K 7 svn:log V 72 Just use the sparc64 version of this header rather than duplicating it. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-10-08T14:56:39.030937Z K 7 svn:log V 334 MFC r212570: Allow a kernel config to specify a set but empty value via 'makeoptions OPTION=' for consistency with the make commandline. Previously 'makeoptions WERROR=' would result in a syntax error; now it produces the same effect as 'makeoptions WERROR'. Both forms now result in 'WERROR=' in the generated Makefile. END K 10 svn:author V 6 emaste K 8 svn:date V 27 2010-10-08T14:59:14.811474Z K 7 svn:log V 177 MFC r213013: Move test for zero bufp or size before rseq and wseq calculation. This avoids spinning in an infinite loop for some (possibly corrupt?) core files at work. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-10-08T14:59:45.454870Z K 7 svn:log V 235 In the replacement text of the __bswapN_const() macros cast the argument to the expected type so they work like the corresponding __bswapN_var() functions and the compiler doesn't complain when arguments of different width are passed. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-08T15:02:15.577028Z K 7 svn:log V 263 We close the event socketpair early in the mainloop to prevent spaming with error messages, so when we clean up after child process, we have to check if the event socketpair is still there. Submitted by: Mikolaj Golub MFC after: 3 days END K 10 svn:author V 3 pjd K 8 svn:date V 27 2010-10-08T15:05:39.062410Z K 7 svn:log V 172 We can't zero out ggio request, as we have some fields in there we initialize once during start-up. Reported by: Mikolaj Golub MFC after: 3 days END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T15:10:30.569499Z K 7 svn:log V 60 Add tunables that can set up netdump earlier than userland. END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-10-08T15:20:20.622750Z K 7 svn:log V 103 rm(1): clarify that -P works only when blocks are updated in-place Suggested by: pjd, ivoras, arundel END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T15:59:02.091487Z K 7 svn:log V 68 - Lock properly ifnet list for scanning - virtualize the ifnet list END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T16:33:25.388272Z K 7 svn:log V 13 MFC @ 213582 END K 10 svn:author V 5 markm K 8 svn:date V 27 2010-10-08T17:42:09.850350Z K 7 svn:log V 133 Don't blow away /bin/rmail symlink if we are keeping mailwrapper. Mailwrapper can provide a perfectly good rmail with other mailers. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-10-08T17:46:51.661208Z K 7 svn:log V 61 Remove changes that crept-in during development and testing. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T17:58:07.239438Z K 7 svn:log V 216 Do not blindly UP the interface when interface's MTU is changed. If driver is not running there is no need to up the interface. While I'm here hold driver lock before modifying MTU as it is referenced in RX handler. END K 10 svn:author V 3 mdf K 8 svn:date V 27 2010-10-08T18:06:15.065482Z K 7 svn:log V 120 MFC r212926: Use destroy_dev_sched(9) instead of destroy_dev(9) in passcleanup() as it is indirectly a d_close method. END K 10 svn:author V 3 mdf K 8 svn:date V 27 2010-10-08T18:06:30.190027Z K 7 svn:log V 120 MFC r212926: Use destroy_dev_sched(9) instead of destroy_dev(9) in passcleanup() as it is indirectly a d_close method. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:19:05.988454Z K 7 svn:log V 806 MFC r213306: Rename rl_setmulti() to rl_rxfilter() as rl_rxfilter() will handle IFF_ALLMULTI/IFF_PROMISC as well as multicast filter configuration. Rewrite RX filter logic to reduce number of register accesses and make it handle promiscuous/allmulti toggling without controller reinitialization. Previously rl(4) counted on controller reinitialization to reprogram promiscuous configuration but r211767 resulted in avoiding controller reinitialization whenever promiscuous mode is toggled. To address this, keep track of driver's view of interface state and handle IFF_ALLMULTI/IFF_PROMISC changes without reinitializing controller. This should fix a regression introduced in r211267. While I'm here remove unnecessary variable reassignment in ioctl handler. PR: kern/151079 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:26:14.578446Z K 7 svn:log V 806 MFC r213306: Rename rl_setmulti() to rl_rxfilter() as rl_rxfilter() will handle IFF_ALLMULTI/IFF_PROMISC as well as multicast filter configuration. Rewrite RX filter logic to reduce number of register accesses and make it handle promiscuous/allmulti toggling without controller reinitialization. Previously rl(4) counted on controller reinitialization to reprogram promiscuous configuration but r211767 resulted in avoiding controller reinitialization whenever promiscuous mode is toggled. To address this, keep track of driver's view of interface state and handle IFF_ALLMULTI/IFF_PROMISC changes without reinitializing controller. This should fix a regression introduced in r211267. While I'm here remove unnecessary variable reassignment in ioctl handler. PR: kern/151079 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:31:56.026117Z K 7 svn:log V 102 MFC r188392: Destroy TX tag outside of loop scope. Found with: Coverity Prevent(tm) CID: 3886 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:43:06.089629Z K 7 svn:log V 1881 MFC r212061,212065,212302: r212061: Split common parent DMA tag into ring DMA tag and TX/RX mbuf DMA tag. All controllers that are not BCM5755 or higher have 4GB boundary DMA bug. Previously bge(4) used 32bit DMA address to workaround the bug(r199670). However this caused the use of bounce buffers such that it resulted in poor performance for systems which have more than 4GB memory. Because bus_dma(9) honors boundary restriction requirement of DMA tag for dynamic buffers, having a separate TX/RX mbuf DMA tag will greatly reduce the possibility of using bounce buffers. For DMA buffers allocated with bus_dmamem_alloc(9), now bge(4) explicitly checks whether the requested memory region crossed the boundary or not. With this change, only the DMA buffer that crossed the boundary will use 32bit DMA address. Other DMA buffers are not affected as separate DMA tag is created for each DMA buffer. Even if 32bit DMA address space is used for a buffer, the chance to use bounce buffer is still very low as the size of buffer is small. This change should eliminate most usage of bounce buffers on systems that have more than 4GB memory. More correct fix would be teaching bus_dma(9) to honor boundary restriction for buffers created with bus_dmamem_alloc(9) but it seems that is not easy. While I'm here cleanup bge_dma_map_addr() and remove unnecessary member variables in bge_dmamap_arg structure. Tested by: marcel r212065: Handle PAE case correctly. You cannot effectively specify a 4GB boundary in PAE case so use a 2GB boundary for PAE as suggested by jhb. Pointed out by: jhb Reviewed by: jhb r212302: Make sure to create DMA'able memory for statistics block. This was missed in r212061 and it caused crashes for 570x controllers as controller DMAed statistics to physical address 0. Reported by: kan END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:46:02.426300Z K 7 svn:log V 1881 MFC r212061,212065,212302: r212061: Split common parent DMA tag into ring DMA tag and TX/RX mbuf DMA tag. All controllers that are not BCM5755 or higher have 4GB boundary DMA bug. Previously bge(4) used 32bit DMA address to workaround the bug(r199670). However this caused the use of bounce buffers such that it resulted in poor performance for systems which have more than 4GB memory. Because bus_dma(9) honors boundary restriction requirement of DMA tag for dynamic buffers, having a separate TX/RX mbuf DMA tag will greatly reduce the possibility of using bounce buffers. For DMA buffers allocated with bus_dmamem_alloc(9), now bge(4) explicitly checks whether the requested memory region crossed the boundary or not. With this change, only the DMA buffer that crossed the boundary will use 32bit DMA address. Other DMA buffers are not affected as separate DMA tag is created for each DMA buffer. Even if 32bit DMA address space is used for a buffer, the chance to use bounce buffer is still very low as the size of buffer is small. This change should eliminate most usage of bounce buffers on systems that have more than 4GB memory. More correct fix would be teaching bus_dma(9) to honor boundary restriction for buffers created with bus_dmamem_alloc(9) but it seems that is not easy. While I'm here cleanup bge_dma_map_addr() and remove unnecessary member variables in bge_dmamap_arg structure. Tested by: marcel r212065: Handle PAE case correctly. You cannot effectively specify a 4GB boundary in PAE case so use a 2GB boundary for PAE as suggested by jhb. Pointed out by: jhb Reviewed by: jhb r212302: Make sure to create DMA'able memory for statistics block. This was missed in r212061 and it caused crashes for 570x controllers as controller DMAed statistics to physical address 0. Reported by: kan END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:49:59.447317Z K 7 svn:log V 476 MFC r212069,212071: r212069: bge_txeof() already checks whether it has to free transmitted mbufs or not by comparing reported TX consumer index with saved index. So remove unnecessary check done after freeing transmitted mbufs. While I'm here nuke unnecessary variable initializations. r212071: Remove unnecessary atomic operation in bge_poll. bge(4) always holds a driver lock in the function entry and memory synchronization is handled by bus_dmamap_sync(9). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:51:28.439637Z K 7 svn:log V 476 MFC r212069,212071: r212069: bge_txeof() already checks whether it has to free transmitted mbufs or not by comparing reported TX consumer index with saved index. So remove unnecessary check done after freeing transmitted mbufs. While I'm here nuke unnecessary variable initializations. r212071: Remove unnecessary atomic operation in bge_poll. bge(4) always holds a driver lock in the function entry and memory synchronization is handled by bus_dmamap_sync(9). END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T18:58:01.471435Z K 7 svn:log V 268 MFC r212306-212307,212342: r212306: Remove trailing CR at EOL. r212307: Consistently use tab characters instead of tab + space characters. No functional changes. r212342: Correct definition of T2 mode bit of MRBE Message Page 5 Next Page Control Register. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:00:36.299927Z K 7 svn:log V 268 MFC r212306-212307,212342: r212306: Remove trailing CR at EOL. r212307: Consistently use tab characters instead of tab + space characters. No functional changes. r212342: Correct definition of T2 mode bit of MRBE Message Page 5 Next Page Control Register. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:19:51.283153Z K 7 svn:log V 81 MFC r212968: Remove unnecessary controller reinitialization. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:21:16.091799Z K 7 svn:log V 81 MFC r212968: Remove unnecessary controller reinitialization. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:24:38.037085Z K 7 svn:log V 164 MFC r212969: Make sure to clear IFF_DRV_RUNNING to reinitialize controller. While I'm here update if_oerrors counter when driver encounters watchdog timeout. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:25:46.978025Z K 7 svn:log V 164 MFC r212969: Make sure to clear IFF_DRV_RUNNING to reinitialize controller. While I'm here update if_oerrors counter when driver encounters watchdog timeout. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:27:34.775745Z K 7 svn:log V 288 MFC r212971: Remove unnecessary controller reinitialization. StarFire controller does not require controller reinitialization to program perfect filters. While here, make driver immediately exit from interrupt/polling handler if driver reinitialized controller. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:29:17.127963Z K 7 svn:log V 288 MFC r212971: Remove unnecessary controller reinitialization. StarFire controller does not require controller reinitialization to program perfect filters. While here, make driver immediately exit from interrupt/polling handler if driver reinitialized controller. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:32:39.536117Z K 7 svn:log V 150 MFC r212972,21300: r212972: Remove unnecessary controller reinitialization. PR: kern/87506 r213000: Fix build breakage introduced in r212972. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:34:23.162297Z K 7 svn:log V 150 MFC r212972,21300: r212972: Remove unnecessary controller reinitialization. PR: kern/87506 r213000: Fix build breakage introduced in r212972. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T19:39:35.046726Z K 7 svn:log V 203 MFC r212103-212105: r212103: Remove leading and trailing white spaces. No functional changes. r212104: style(9) - space after keywords. r212105: Nuke unnecessary return at the end of function. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:12:00.725484Z K 7 svn:log V 376 MFC r182065: There actually were bugs in the original handling that I missed last night. Free the children after each pci bus that is searched. Otherwise we leak them. With free in the new place, we also have to free children before going to done when we find the device we're looking for. Also, if we can't get the children of a device, just ignore that bus. END K 10 svn:author V 5 markm K 8 svn:date V 27 2010-10-08T20:13:12.079994Z K 7 svn:log V 55 Extend the "example" section a bit, for other mailers. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:13:42.578062Z K 7 svn:log V 203 MFC r212103-212105: r212103: Remove leading and trailing white spaces. No functional changes. r212104: style(9) - space after keywords. r212105: Nuke unnecessary return at the end of function. END K 10 svn:author V 5 markm K 8 svn:date V 27 2010-10-08T20:17:17.943500Z K 7 svn:log V 179 Don't let the "available"/"not available" logs flap quite so badly. In the case of a multi-interfaced host, sub-second flapping can fill up the logs too quickly. This fixes that. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:18:44.983811Z K 7 svn:log V 2369 MFC r212109,212124,212185: r212109: bus_dma(9) cleanup. o Enforce TX/RX descriptor ring alignment. NS data sheet says the controller needs 4 bytes alignment but use 16 to cover both SiS and NS controllers. I don't have SiS data sheet so I'm not sure what is alignment restriction of SiS controller but 16 would be enough because it's larger than the size of a TX/RX descriptor. Previously sis(4) ignored the alignment restriction. o Enforce RX buffer alignment, 4. Previously sis(4) ignored RX buffer alignment restriction. o Limit number of TX DMA segment to be used to 16. It seems controller has no restriction on number of DMA segments but using more than 16 looks resource waste. o Collapse long mbuf chains with m_collapse(9) instead of calling expensive m_defrag(9). o TX/RX side bus_dmamap_load_mbuf_sg(9) support and remove unnecessary callbacks. o Initial endianness support. o Prefer local alignment fixup code to m_devget(9). o Pre-allocate TX/RX mbuf DMA maps instead of creating/destroying these maps in fast TX/RX path. On non-x86 architectures, this is very expensive operation and there is no need to do that. o Add missing bus_dmamap_sync(9) in TX/RX path. o watchdog is now unarmed only when there are no pending frames on controller. Previously sis(4) blindly unarmed watchdog without checking the number of queued frames. o For efficiency, loaded DMA map is reused for error frames. o DMA map loading failure is now gracefully handled. Previously sis(4) ignored any DMA map loading errors. o Nuke unused macros which are not appropriate for endianness operation. o Stop embedding driver maintained structures into descriptor rings. Because TX/RX descriptor structures are shared between host and controller, frequent bus_dmamap_sync(9) operations are required in fast path. Embedding driver structures will increase the size of DMA map which in turn will slow down performance. r212124: Fix stupid error in r212109 which didn't swap DMA maps. This caused IOMMU panic on sparc64 under high TX load. r212185: Fix another bug introduced in r212109. We should unload DMA maps only after sending the last fragment of a frame so the mbuf pointer also should be stored in the last descriptor index. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:27:51.416115Z K 7 svn:log V 2369 MFC r212109,212124,212185: r212109: bus_dma(9) cleanup. o Enforce TX/RX descriptor ring alignment. NS data sheet says the controller needs 4 bytes alignment but use 16 to cover both SiS and NS controllers. I don't have SiS data sheet so I'm not sure what is alignment restriction of SiS controller but 16 would be enough because it's larger than the size of a TX/RX descriptor. Previously sis(4) ignored the alignment restriction. o Enforce RX buffer alignment, 4. Previously sis(4) ignored RX buffer alignment restriction. o Limit number of TX DMA segment to be used to 16. It seems controller has no restriction on number of DMA segments but using more than 16 looks resource waste. o Collapse long mbuf chains with m_collapse(9) instead of calling expensive m_defrag(9). o TX/RX side bus_dmamap_load_mbuf_sg(9) support and remove unnecessary callbacks. o Initial endianness support. o Prefer local alignment fixup code to m_devget(9). o Pre-allocate TX/RX mbuf DMA maps instead of creating/destroying these maps in fast TX/RX path. On non-x86 architectures, this is very expensive operation and there is no need to do that. o Add missing bus_dmamap_sync(9) in TX/RX path. o watchdog is now unarmed only when there are no pending frames on controller. Previously sis(4) blindly unarmed watchdog without checking the number of queued frames. o For efficiency, loaded DMA map is reused for error frames. o DMA map loading failure is now gracefully handled. Previously sis(4) ignored any DMA map loading errors. o Nuke unused macros which are not appropriate for endianness operation. o Stop embedding driver maintained structures into descriptor rings. Because TX/RX descriptor structures are shared between host and controller, frequent bus_dmamap_sync(9) operations are required in fast path. Embedding driver structures will increase the size of DMA map which in turn will slow down performance. r212124: Fix stupid error in r212109 which didn't swap DMA maps. This caused IOMMU panic on sparc64 under high TX load. r212185: Fix another bug introduced in r212109. We should unload DMA maps only after sending the last fragment of a frame so the mbuf pointer also should be stored in the last descriptor index. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:30:08.173076Z K 7 svn:log V 38 MFC r212113: s/u_intXX_t/uintXX_t/g END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:31:35.689724Z K 7 svn:log V 38 MFC r212113: s/u_intXX_t/uintXX_t/g END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:33:43.001013Z K 7 svn:log V 1069 MFC r212116: Overhaul link state change handling. Previously sis(4) blindly configured TX/RX MACs before getting a valid link. After that, when link state change callback is called, it called device initialization again to reconfigure TX/RX MACs depending on resolved link state. This hack created several bad side effects and it required more hacks to not collide with sis_tick callback as well as disabling switching to currently selected media in device initialization. Also it seems sis(4) was used to be a template driver for long time so other drivers which was modeled after sis(4) also should be changed. TX/RX MACs are now reconfigured after getting a valid link. Fix for short cable error is also applied after getting a link because it's only valid when the resolved speed is 100Mbps. While I'm here slightly reorganize interrupt handler such that sis(4) always read SIS_ISR register to see whether the interrupt is ours or not. This change removes another hack and make it possible to nuke sis_stopped variable in softc. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-10-08T20:34:23.836112Z K 7 svn:log V 42 Adds a comment why the taskqueue is used. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:37:13.441207Z K 7 svn:log V 1069 MFC r212116: Overhaul link state change handling. Previously sis(4) blindly configured TX/RX MACs before getting a valid link. After that, when link state change callback is called, it called device initialization again to reconfigure TX/RX MACs depending on resolved link state. This hack created several bad side effects and it required more hacks to not collide with sis_tick callback as well as disabling switching to currently selected media in device initialization. Also it seems sis(4) was used to be a template driver for long time so other drivers which was modeled after sis(4) also should be changed. TX/RX MACs are now reconfigured after getting a valid link. Fix for short cable error is also applied after getting a link because it's only valid when the resolved speed is 100Mbps. While I'm here slightly reorganize interrupt handler such that sis(4) always read SIS_ISR register to see whether the interrupt is ours or not. This change removes another hack and make it possible to nuke sis_stopped variable in softc. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:39:45.029173Z K 7 svn:log V 406 MFC r212117,212119: rr212117: Report result of link state change to caller. Previously it always returned success. r212119: Do not reinitialize controller whenever promiscuous mode or allmulti is toggled. Controller does not require reinitialization. This removes unnecessary controller reinitialization whenever tcpdump is used. While I'm here remove unnecessary variable reinitialization. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-10-08T20:40:05.308448Z K 7 svn:log V 158 Remove superfluous cast in usr.bin/netstat/sctp.c. Found by: clang Submitted by: Norberto Lopes, nlopes dot ml at gmail dot com Approved by: rpaulo (mentor) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:41:15.108538Z K 7 svn:log V 406 MFC r212117,212119: rr212117: Report result of link state change to caller. Previously it always returned success. r212119: Do not reinitialize controller whenever promiscuous mode or allmulti is toggled. Controller does not require reinitialization. This removes unnecessary controller reinitialization whenever tcpdump is used. While I'm here remove unnecessary variable reinitialization. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:42:59.669314Z K 7 svn:log V 139 MFC r212120: Avoid controller reinitialization which could be triggered by dhclient(8) or alias addresses are added. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:44:35.002508Z K 7 svn:log V 139 MFC r212120: Avoid controller reinitialization which could be triggered by dhclient(8) or alias addresses are added. PR: kern/87506 END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:48:09.312057Z K 7 svn:log V 543 MFC r212121,212156: r212121: Move sis_reset() to sis_initl(). This ensures driver starts with known good state of controller. r212156: Fix the last endianness issue on handling station address which prevented driver from working on big-endian machines. Also rewrite station address programming to make it work on strict-alignment architectures. With this change, sis(4) now works on sparc64 and performance number looks good even though sis(4) have to apply fixup code to align received frames on 2 bytes boundary on sparc64. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:49:44.061067Z K 7 svn:log V 543 MFC r212121,212156: r212121: Move sis_reset() to sis_initl(). This ensures driver starts with known good state of controller. r212156: Fix the last endianness issue on handling station address which prevented driver from working on big-endian machines. Also rewrite station address programming to make it work on strict-alignment architectures. With this change, sis(4) now works on sparc64 and performance number looks good even though sis(4) have to apply fixup code to align received frames on 2 bytes boundary on sparc64. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:51:33.880155Z K 7 svn:log V 543 MFC r212157: Unlike most other controllers, NS DP83815/DP83816 controllers seem to pad with 0xFF when it encounter short frames. According to RFC 1042 the pad bytes should be 0x00. Because manual padding consumes extra CPU cycles, introduce a new tunable which controls the padding behavior. Turning this tunable on will have driver pad manually but it's disabled by default. Users can enable software padding by setting the following tunable to non-zero value. dev.sis.%d.manual_pad="1" PR: kern/35422 (patch not used) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:52:47.821272Z K 7 svn:log V 543 MFC r212157: Unlike most other controllers, NS DP83815/DP83816 controllers seem to pad with 0xFF when it encounter short frames. According to RFC 1042 the pad bytes should be 0x00. Because manual padding consumes extra CPU cycles, introduce a new tunable which controls the padding behavior. Turning this tunable on will have driver pad manually but it's disabled by default. Users can enable software padding by setting the following tunable to non-zero value. dev.sis.%d.manual_pad="1" PR: kern/35422 (patch not used) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:54:09.448203Z K 7 svn:log V 71 MFC r212158: Enable sis(4). sis(4) should work on all architectures. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:55:27.556345Z K 7 svn:log V 71 MFC r212158: Enable sis(4). sis(4) should work on all architectures. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:58:05.639015Z K 7 svn:log V 197 MFC r212159,212161: r212159: Document tunable dev.sis.%unit.manual_pad While I'm here Xref vlan(4) as sis(4) supports VLAN oversized frames. r212161: Better wording. Submitted by: jkim END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-10-08T20:58:48.981967Z K 7 svn:log V 197 MFC r212159,212161: r212159: Document tunable dev.sis.%unit.manual_pad While I'm here Xref vlan(4) as sis(4) supports VLAN oversized frames. r212161: Better wording. Submitted by: jkim END