ļA177000 131 369 505 459 188 226 546 211 284 170 534 330 289 239 322 208 380 415 288 1445 509 509 509 385 380 385 238 310 202 333 180 217 164 109 227 202 202 218 505 253 1892 457 930 414 441 289 220 237 192 183 136 11413 155 153 192 154 846 109 185 267 278 164 100 496 547 764 401 401 425 365 187 190 610 115 118 168 250 235 164 115 243 146 260 350 322 398 950 148 144 238 146 119 424 138 214 299 299 352 118 251 416 157 299 233 247 291 191 157 248 1082 323 538 188 302 531 772 267 263 251 181 138 379 780 1149 213 185 1397 231 162 149 241 175 K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-09T20:05:39.000000Z K 7 svn:log V 276 MFC rev. 1.93-1.94 Make session ID generator to use session ID hash. Make session ID generator thread-safe. Use more compact LIST instead of TAILQ for session hash. Add all listening hooks into LIST to simplify searches. Use ng_findhook() instead of own equal implementation. END K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-09T20:10:54.000000Z K 7 svn:log V 412 MFC: rev. 1.148-1.149 Implement 128 items node name hash for faster name search. Increase node ID hash size from 32 to 128 items. Increase default queue items allocation limit from 512 to 4096 items to avoid terrible unpredicted effects for netgraph operation of their exhaustion while allocating control messages. Add separate configurable 512 items limit for data items allocation for DoS/overload protection. END K 10 svn:author V 2 bz K 8 svn:date V 27 2008-03-09T21:04:55.000000Z K 7 svn:log V 367 MFC 1.278 sys/netinet/ip_output.c 1.114 sys/netinet6/ip6_output.c 1.26 sys/netipsec/ipsec.c 1.15 sys/netipsec/ipsec.h 1.4 sys/netipsec/ipsec6.h Rather than passing around a cached 'priv', pass in an ucred to ipsec*_set_policy and do the privilege check only if needed. Try to assimilate both ip*_ctloutput code blocks calling ipsec*_set_policy. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-09T21:13:43.000000Z K 7 svn:log V 92 Improve convergence of bpf_filter.c toward style(9). MFC after: 3 weeks Submitted by: csjp END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T01:30:35.000000Z K 7 svn:log V 132 - Add a sched_preempt() routine to be called by md code after IPI_PREEMPT is delivered. - Add a simple implementation to 4bsd. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T01:32:01.000000Z K 7 svn:log V 452 - Add an implementation of sched_preempt() that avoids excessive IPIs. - Normalize the preemption/ipi setting code by introducing sched_shouldpreempt() so the logical is identical and not repeated between tdq_notify() and sched_setpreempt(). - In tdq_notify() don't set NEEDRESCHED as we may not actually own the thread lock this could have caused us to lose td_flags settings. - Garbage collect some tunables that are no longer relevant. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T01:32:48.000000Z K 7 svn:log V 117 - Rather than repeating the same preemption code everywhere call the scheduler specific sched_preempt() routine. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T01:38:53.000000Z K 7 svn:log V 190 - Add the missing '2' case to the switch table for kern.smp.topology and assign it to create the flat 'none' topology where all cpus are scheduled as if they are equal and unrelated. END K 10 svn:author V 3 imp K 8 svn:date V 27 2008-03-10T01:48:25.000000Z K 7 svn:log V 78 Tiny bit of KNF to make bus_setup_intr() look like the rest of this function. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T03:15:19.000000Z K 7 svn:log V 440 Reduce ULE context switch time by over 25%. - Only calculate timeshare priorities once per tick or when a thread is woken from sleeping. - Keep the ts_runq pointer valid after all priority changes. - Call tdq_runq_add() directly from sched_switch() without passing in via tdq_add(). We don't need to adjust loads or runqs anymore. - Sort tdq and ts_sched according to utilization to improve cache behavior. Sponsored by: Nokia END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T03:16:51.000000Z K 7 svn:log V 236 - Handle kdb switch panics outside of mi_switch() to remove some instructions from the common path and make the code more clear. Whether this has any impact on performance may depend on optimization levels. Sponsored by: Nokia END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T09:50:29.000000Z K 7 svn:log V 195 - Don't rely on a side effect of sched_prio() to set the initial ts_runq for thread0. Set it directly in sched_setup(). This fixes traps on boot seen on some machines. Reported by: phk END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T09:54:13.000000Z K 7 svn:log V 142 Add reference to kldunloadf system call, which was previously not mentioned in the kldunload(2) man page. MFC after: 3 days Spotted by: rink END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:13:48.000000Z K 7 svn:log V 225 Merge coda_vfsops.c:1.75, coda_vnops.c:1.88 from HEAD to RELENG_7: Make all calls to vn_lock() in Coda, including recently added ones, use LK_RETRY, since failure is undesirable (and not handled). Pointed out by: kib END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:14:51.000000Z K 7 svn:log V 111 Merge coda_vnops.c:1.89 from HEAD to RELENG_7: Lock cache vnode when VOP_FSYNC() is called on a Coda vnode. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:16:09.000000Z K 7 svn:log V 283 Merge coda_vnops.c:1.90, coda_vnops.h:1.21 from HEAD to RELENG_7: Since Coda is effectively a stacked file system, use VOP_EOPNOTSUPP for vop_bmap; delete the existing stub that returned either EINVAL or EOPNOTSUPP, and had unreachable calls to VOP_BMAP on the cache vnode. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:18:06.000000Z K 7 svn:log V 318 Merge cnode.h:1.23, coda_vfsops.c:1.76 from HEAD to RELENG_7: Remove unused devtomp(), which exploited UFS-specific knowledge to find the mountpoint for a specific device. This was implemented incorrectly, a bad idea in a fundamental sense, and also never used, so presumably a long-idle debugging function. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:18:48.000000Z K 7 svn:log V 191 Merge coda_vfsops.c:1.77 from HEAD to RELENG_7: No reason not to maintain stats on statfs in Coda, as it's done for other VFS operations, so uncomment the existing statistics gathering. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:22:23.000000Z K 7 svn:log V 1347 Merge cnode.h:1.24, coda_fbsd.c:1.47, coda_namecache.c:1.24, coda_psdev.c:1.42, coda_psdev.h:1.7, coda_venus.c:1.29, coda_vfsops.c:1.78, coda_vfsops.h:1.13, coda_vnops.c:1.91, coda_vnops.h:1.22 from HEAD to RELENG_7: Various further non-functional cleanups to coda: - Rename print_vattr to coda_print_vattr and make static, rename print_cred to coda_print_cred. - Remove unused coda_vop_nop. - Add XXX comment because coda_readdir forwards to the cache vnode's readdir rather than venus_readdir, and annotate venus_readdir as unused. - Rename vc_nb_* to vc_*. - Use d_open_t, d_close_t, d_read_t, d_write_t, d_ioctl_t and d_poll_t for prototyping vc_* as that is the intent, don't use our own definitions. - Rename coda_nb_statfs to coda_statfs, rename NB_SFS_SIZ to CODA_SFS_SIZ. - Replace one more OBE reference to NetBSD with a reference to FreeBSD. - Tidy up a little vertical whitespace here and there. - Annotate coda_nc_zapvnode as unused. - Remove unused vcodattach. - Annotate VM_INTR as unused. - Annotate that coda_fhtovp is unused and doesn't match the FreeBSD prototype, so isn't hooked up to vfs_fhtovp. If we want NFS export of Coda to work someday, this needs to be fixed. - Remove unused getNewVnode. - Remove unused coda_vget, coda_init, coda_quotactl prototypes. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:23:03.000000Z K 7 svn:log V 412 Merge db_input.c:1.39 from HEAD to RELENG_7: Reserve two bytes at the end of the DDB input line in db_readline() to hold the newline and nul terminator. Otherwise, there are cases where garbage may end up in the command history due to a lack of a nul terminator, or input may end up without room for a newline. PR: 119079 Submitted by: Michael Plass END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:23:37.000000Z K 7 svn:log V 412 Merge db_input.c:1.39 from HEAD to RELENG_6: Reserve two bytes at the end of the DDB input line in db_readline() to hold the newline and nul terminator. Otherwise, there are cases where garbage may end up in the command history due to a lack of a nul terminator, or input may end up without room for a newline. PR: 119079 Submitted by: Michael Plass END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:24:12.000000Z K 7 svn:log V 412 Merge db_input.c:1.39 from HEAD to RELENG_5: Reserve two bytes at the end of the DDB input line in db_readline() to hold the newline and nul terminator. Otherwise, there are cases where garbage may end up in the command history due to a lack of a nul terminator, or input may end up without room for a newline. PR: 119079 Submitted by: Michael Plass END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:26:03.000000Z K 7 svn:log V 288 Merge db_command.c:1.77 from HEAD to RELENG_7: When killing a user process from DDB, check that the requested signal is > 0 rather than >= 0, or we will panic when trying to deliver the signal. PR: 100802 Submitted by: Valerio Daelli END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T10:40:00.000000Z K 7 svn:log V 283 Merge db_command.c from HEAD to RELENG_6: When killing a user process from DDB, check that the requested signal is > 0 rather than >= 0, or we will panic when trying to deliver the signal. PR: 100802 Submitted by: Valerio Daelli END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T11:38:57.000000Z K 7 svn:log V 288 Merge db_command.c:1.77 from HEAD to RELENG_5: When killing a user process from DDB, check that the requested signal is > 0 rather than >= 0, or we will panic when trying to deliver the signal. PR: 100802 Submitted by: Valerio Daelli END K 10 svn:author V 4 nyan K 8 svn:date V 27 2008-03-10T12:25:04.000000Z K 7 svn:log V 144 MFi386: revision 1.482. Import uslcom(4) from OpenBSD - this is a driver for Silicon Laboratories CP2101/CP2102 based USB serial adapters. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2008-03-10T12:41:47.000000Z K 7 svn:log V 216 MFC: revision 1.400 Add "show sysregs" command to ddb. On i386, this gives gdt, idt, ldt, cr0-4, etc. Support should be added for other platforms that have a different set of registers for system use. END K 10 svn:author V 3 phk K 8 svn:date V 27 2008-03-10T12:53:41.000000Z K 7 svn:log V 109 Hook fifolog tools up to the build. To the extent make universe works, it hasn't found any fault with this. END K 10 svn:author V 4 nyan K 8 svn:date V 27 2008-03-10T12:57:49.000000Z K 7 svn:log V 239 MFC: sys/pc98/include/md_var.h 1.3; sys/pc98/pc98/pc98_machdep.c 1.28 Add pc98 specific code to adjust the firmware geometry when it differs from the actual geometry. This enables support of disks larger than ~120GB on pc98 boxes. END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2008-03-10T14:44:41.000000Z K 7 svn:log V 85 Use .Fo/.Fc and .Xo/.Xc to bring the line widths below 79 columns. Reviewed by: ru END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2008-03-10T14:45:29.000000Z K 7 svn:log V 121 Use .Fo/.Fc and .Xo/.Xc to bring the line widths below 79 columns. Correct a typo [a misplaced comma]. Reviewed by: ru END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T14:55:34.000000Z K 7 svn:log V 68 Remove unused vc_tnode field from struct smb_vc. MFC after: 3 days END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-10T16:49:43.000000Z K 7 svn:log V 17 MFC: tzdata2008a END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-10T18:15:02.000000Z K 7 svn:log V 130 Remove XXX to remind me to check the free space calculation, which to my eyes appears right following a check. MFC after: 3 days END K 10 svn:author V 6 emaste K 8 svn:date V 27 2008-03-10T18:44:07.000000Z K 7 svn:log V 106 Remove include of opt_quota.h; as of revision 1.205 there is no longer any #ifdef QUOTA conditional code. END K 10 svn:author V 8 tmclaugh K 8 svn:date V 27 2008-03-10T19:03:55.000000Z K 7 svn:log V 104 - unionfs -b option is deprecated in favor of '-o below' as per mount_unionfs(8). Approved by: remko END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-10T19:58:41.000000Z K 7 svn:log V 125 Add an '-a' option which is identical to specifying '-RpP' for compatibility with other implementations. MFC after: 1 month END K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-10T20:38:56.000000Z K 7 svn:log V 412 MFC: rev. 1.148-1.149 Implement 128 items node name hash for faster name search. Increase node ID hash size from 32 to 128 items. Increase default queue items allocation limit from 512 to 4096 items to avoid terrible unpredicted effects for netgraph operation of their exhaustion while allocating control messages. Add separate configurable 512 items limit for data items allocation for DoS/overload protection. END K 10 svn:author V 8 tmclaugh K 8 svn:date V 27 2008-03-10T20:44:27.000000Z K 7 svn:log V 155 - Also change the /sbin/mount_unionfs line I managed to miss just two lines down to '-o below'. Approved by: remko Noticed by: rodrigc Pointyhat by: me END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-10T21:43:31.000000Z K 7 svn:log V 1798 Change the BTX kernel to drop all the way out to real mode to invoke BIOS routines (V86 requests from the client and hardware interrupt handlers): - Install trampoline real mode interrupt handlers at IDT vectors 0x20-0x2f to handle hardware interrupts by invoking the appropriate vector (0x8-0xf or 0x70-0x78). This allows the 8259As to use vectors 0x20-0x2f in real mode as well as protected mode will ensuring that the master 8259A doesn't share IDT space with CPU exceptions in protected mode. - Since we don't need to reserve space for page tables and a page directory anymore since dropping paging support, move the TSS and protected mode IDT up by 16k. Grow the ring 1 link stack by 16k as a result. - Repurpose the ring 1 link stack to be used as a real mode stack when invoking real mode routines either via a V86 request or a hardware interrupts. This simplifies a few things as we avoid disturbing the original user stack. - Add some more block comments to explain how the code interacts with the V86 structure as this wasn't immediately obvious from the prior comments (e.g. that we explicitly copy the seg regs for real mode out of the V86 struct onto the stack to be popped off when going into real mode, etc.). Also, document some of the stack frames we create going to real mode and back. - Remove all of the virtual 86 related code including having to simulate various instructions and BIOS calls on a trap from virtual 86 mode. - Explicitly panic if a user client attempts to perform a V86 CALL request that isn't a far call. - Bump version to 1.2. Assuming this works ok this should fix some of the long standing issues with USB booting as well as etherboot. MFC after: 2 weeks Submitted by: kib (some parts from his original real mode patch) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-10T22:00:35.000000Z K 7 svn:log V 364 - Don't execute cpuid to fetch the features. We already have the features present in cpu_feature2. Also, use CPUID2_EST rather than a magic number. - Don't free the ACPI settings list in detach if we are going to fail the request. Otherwise an attempt to kldunload est would free the array but the driver would keep trying to use it. MFC after: 1 week END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-10T22:18:07.000000Z K 7 svn:log V 837 Probe CPUs after the PCI hierarchy on i386, amd64, and ia64. This allows the cpufreq drivers to reliably use properties of PCI devices for quirks, etc. - For the legacy drivers, add CPU devices via an identify routine in the CPU driver itself rather than in the legacy driver's attach routine. - Add CPU devices after Host-PCI bridges in the acpi bus driver. - Change the ichss(4) driver to use pci_find_bsf() to locate the ICH and check its device ID rather than having a bogus PCI attachment that only checked for the ID in probe and always failed. As a side effect, you can now kldload ichss after boot. - Fix the ichss(4) driver to use the correct device_t for the ICH (and not for ichss0) when doing PCI config space operations to enable SpeedStep. MFC after: 2 weeks Reviewed by: njl, Andriy Gapon avg of icyb.net.ua END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-10T22:48:27.000000Z K 7 svn:log V 320 - Fix the invalid priority panics people are seeing by forcing tdq_runq_add to select the runq rather than hoping we set it properly when we adjusted the priority. This involves the same number of branches as before so should perform identically without the extra fragility. Tested by: bz Reviewed by: bz END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2008-03-10T23:16:48.000000Z K 7 svn:log V 344 Update wpi(4) with stability fixes - remove second taskqueue - busdma 16k alignment workaround - use busdma instead of external mbuf storage on Rx - locking fixes - net80211 state change fixes - improve scanning reliability - improve radio hw switch interaction - consolidate callouts Parts obtained from: benjsc, sam Tested by: many END K 10 svn:author V 4 emax K 8 svn:date V 27 2008-03-11T00:08:40.000000Z K 7 svn:log V 195 Add structures to hold SDP parameters for the NAP, GN and PANU profiles. It should be mentioned that a somewhat similar patch was submitted by Rako < rako29 at gmail dot com > MFC after: 1 week END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T02:39:52.000000Z K 7 svn:log V 123 Move comments block 1 line up to remark on the setting if_capabilities. This would make comments clear. Suggested by: yar END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2008-03-11T03:26:47.000000Z K 7 svn:log V 140 If a thread is cancelled, it may have already consumed a umtx_wake, check waiter and semphore counter to see if we may wake up next thread. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T03:44:46.000000Z K 7 svn:log V 96 Forced commit to note that vr(4) was repocopied from sys/pci and modified for its new location. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T03:50:57.000000Z K 7 svn:log V 87 Update file list and Makefile after repocopying vr(4) from src/sys/pci to src/sys/dev. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T03:53:53.000000Z K 7 svn:log V 40 vr(4) was repocopied to src/sys/dev/vr. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T04:51:22.000000Z K 7 svn:log V 11314 Teach vr(4) to use bus_dma(9) and major overhauling to handle link state change and reliable error recovery. o Moved vr_softc structure and relevant macros to header file. o Use PCIR_BAR macro to get BARs. o Implemented suspend/resume methods. o Implemented automatic Tx threshold configuration which will be activated when it suffers from Tx underrun. Also Tx underrun will try to restart only Tx path and resort to previous full-reset(both Rx/Tx) operation if restarting Tx path have failed. o Removed old bit-banging MII interface. Rhine provides simple and efficient MII interface. While I'm here show PHY address and PHY register number when its read/write operation was failed. o Define VR_MII_TIMEOUT constant and use it in MII access routines. o Always honor link up/down state reported by mii layers. The link state information is used in vr_start() to determine whether we got a valid link. o Removed vr_setcfg() which is now handled in vr_link_task(), link state taskqueue handler. When mii layer reports link state changes the taskqueue handler reprograms MAC to reflect negotiated duplex settings. Flow-control changes are not handled yet and it should be revisited when mii layer knows the notion of flow-control. o Added a new sysctl interface to get statistics of an instance of the driver.(sysctl dev.vr.0.stats=1) o Chip name was renamed to reflect the official name of the chips described in VIA Rhine I/II/III datasheet. REV_ID_3065_A -> REV_ID_VT6102_A REV_ID_3065_B -> REV_ID_VT6102_B REV_ID_3065_C -> REV_ID_VT6102_C REV_ID_3106_J -> REV_ID_VT6105_A0 REV_ID_3106_S -> REV_ID_VT6105M_A0 The following chip revisions were added. #define REV_ID_VT6105_B0 0x83 #define REV_ID_VT6105_LOM 0x8A #define REV_ID_VT6107_A0 0x8C #define REV_ID_VT6107_A1 0x8D #define REV_ID_VT6105M_B1 0x94 o Always show chip revision number in device attach. This shall help identifying revision specific issues. o Check whether EEPROM reloading is complete by inspecting the state of VR_EECSR_LOAD bit. This bit is self-cleared after the EEPROM reloading. Previously vr(4) blindly spins for 200us which may/may not enough to complete the EEPROM reload. o Removed if_mtu setup. It's done in ether_ifattach(). o Use our own callout to drive watchdog timer. o In vr_attach disable further interrupts after reset. For VT6102 or newer hardwares, diable MII state change interrupt as well because mii state handling is done by mii layer. o Add more sane register initialization for VT6102 or newer chips. - Have NIC report error instead of retrying forever. - Let hardware detect MII coding error. - Enable MODE10T mode. - Enable memory-read-multiple for VT6107. o PHY address for VT6105 or newer chips is located at fixed address 1. For older chips the PHY address is stored in VR_PHYADDR register. Armed with these information, there is no need to re-read VR_PHYADDR register in miibus handler to get PHY address. This saves one register access cycle for each MII access. o Don't reprogram VR_PHYADDR register whenever access to a register located at a PHY address is made. Rhine fmaily allows reprogramming PHY address location via VR_PHYADDR register depending on VR_MIISTAT_PHYOPT bit of VR_MIISTAT register. This used to lead numerous phantom PHYs attached to miibus during phy probe phase and driver used to limit allowable PHY address in mii register accessors for certain chip revisions. This removes one more register access cycle for each MII access. o Correctly set VLAN header length. o bus_dma(9) conversion. - Limit DMA access to be in range of 32bit address space. Hardware doesn't support DAC. - Apply descriptor ring alignment requirements(16 bytes alignment) - Apply Rx buffer address alignment requirements(4 bytes alignment) - Apply Tx buffer address alignment requirements(4 bytes alignment) for Rhine I chip. Rhine II or III has no Tx buffer address alignment restrictions, though. - Reduce number of allowable number of DMA segments to 8. - Removed the atomic(9) used in descriptor ownership managements as it's job of bus_dmamap_sync(9). With these change vr(4) should work on all platforms. o Rhine uses two separated 8bits command registers to control Tx/Rx MAC. So don't access it as a single 16bit register. o For non-strict alignment architectures vr(4) no longer require time-consuming copy operation for received frames to align IP header. This greatly improves Rx performance on i386/amd64 platforms. However the alignment is still necessary for strict-alignment platforms(e.g. sparc64). The alignment is handled in new fuction vr_fixup_rx(). o vr_rxeof() now rejects multiple-segmented(fragmented) frames as vr(4) is not ready to handle this situation. Datasheet said nothing about the reason when/why it happens. o In vr_newbuf() don't set VR_RXSTAT_FIRSTFRAG/VR_RXSTAT_LASTFRAG bits as it's set by hardware. o Don't pass checksum offload information to upper layer for fragmented frames. The hardware assisted checksum is valid only when the frame is non-fragmented IP frames. Also mark the checksum is valid for corrupted frames such that upper layers doesn't need to recompute the checksum with software routine. o Removed vr_rxeoc(). RxDMA doesn't seem to need to be idle before sending VR_CMD_RX_GO command. Previously it used to stop RxDMA first which in turn resulted in long delays in Rx error recovery. o Rewrote Tx completion handler. - Always check VR_TXSTAT_OWN bit in status word prior to inspecting other status bits in the status word. - Collision counter updates were corrected as VT3071 or newer ones use different bits to notify collisions. - Unlike other chip revisions, VT86C100A uses different bit to indicate Tx underrun. For VT3071 or newer ones, check both VR_TXSTAT_TBUFF and VR_TXSTAT_UDF bits to see whether Tx underrun was happend. In case of Tx underrun requeue the failed frame and restart stalled Tx SM. Also double Tx DMA threshold size on each failure to mitigate future Tx underruns. - Disarm watchdog timer only if we have no queued packets, otherwise don't touch watchdog timer. o Rewrote interrupt handler. - status word in Tx/Rx descriptors indicates more detailed error state required to recover from the specific error. There is no need to rely on interrupt status word to recover from Tx/Rx error except PCI bus error. Other event notifications like statistics counter overflows or link state events will be handled in main interrupt handler. - Don't touch VR_IMR register if we are in suspend mode. Touching the register may hang the hardware if we are in suspended state. Previously it seems that touching VR_IMR register in interrupt handler was to work-around panic occurred in system shutdown stage on SMP systems. I think that work-around would hide root-cause of the panic and I couldn't reproduce the panic with multiple attempts on my box. o While padding space to meet minimum frame size, zero the pad data in order to avoid possibly leaking sensitive data. o Rewrote vr_start_locked(). - Don't try to queue packets if number of available Tx descriptors are short than that of required one. o Don't reinitialize hardware whenever media configuration is changed. Media/link state changes are reported from mii layer if this happens and vr_link_task() will perform necessary changes. o Don't reinitialize hardware if only PROMISC bit was changed. Just toggle the PROMISC bit in hardware is sufficient to reflect the request. o Rearrganed the IFCAP_POLLING/IFCAP_HWCSUM handling in vr_ioctl(). o Generate Tx completion interrupts for every VR_TX_INTR_THRESH-th frames. This reduces Tx completion interrupts under heavy network loads. o Since vr(4) doesn't request Tx interrupts for every queued frames, reclaim any pending descriptors not handled in Tx completion handler before actually firing up watchdog timeouts. o Added vr_tx_stop()/vr_rx_stop() to wait for the end of active TxDMA/RxDMA cycles(draining). These routines are used in vr_stop() to ensure sane state of MAC before releasing allocated Tx/Rx buffers. vr_link_task() also takes advantage of these functions to get to idle state prior to restarting Tx/Rx. o Added vr_tx_start()/vr_rx_start() to restart Rx/Tx. By separating Rx operation from Tx operation vr(4) no longer need to full-reset the hardware in case of Tx/Rx error recovery. o Implemented WOL. o Added VT6105M specific register definitions. VT6105M has the following hardware capabilities. - Tx/Rx IP/TCP/UDP checksum offload. - VLAN hardware tag insertion/extraction. Due to lack of information for getting extracted VLAN tag in Rx path, VLAN hardware support was not implemented yet. - CAM(Content Addressable Memory) based 32 entry perfect multicast/ VLAN filtering. - 8 priority queues. o Implemented CAM based 32 entry perfect multicast filtering for VT6105M. If number of multicast entry is greater than 32, vr(4) uses traditional hash based filtering. o Reflect real Tx/Rx descriptor structure. Previously vr(4) used to embed other driver (private) data into these structure. This type of embedding make it hard to work on LP64 systems. o Removed unused vr_mii_frame structure and MII bit-baning definitions. o Added new PCI configuration registers that controls mii operation and mode selection. o Reduced number of Tx/Rx descriptors to 128 from 256. From my testing, increasing number of descriptors above than 64 didn't help increasing performance at all. Experimentations show 128 Rx descriptors seems to help a lot reducing Rx FIFO overruns under high system loads. It seems the poor Tx performance of Rhine hardwares comes from the limitation of hardware. You wouldn't satuarte the link with vr(4) no matter how fast CPU/large number of descriptors are used. o Added vr_statistics structure to hold various counter values. No regression was reported but one variant of Rhine III(VT6105M) found on RouterBOARD 44 does not work yet(Reported by Milan Obuch). I hope this would be resolved in near future. I'd like to say big thanks to Mike Tancsa who kindly donated a Rhine hardware to me. Without his enthusiastic testing and feedbacks overhauling vr(4) never have been possible. Also thanks to Masayuki Murayama who provided some good comments on the hardware's internals. This driver is result of combined effort of many users who provided many feedbacks so I'd like to say special thanks to them. Hardware donated by: Mike Tancsa (mike AT sentex dot net) Reviewed by: remko (initial version) Tested by: Mike Tancsa(x86), JoaoBR ( joao AT matik DOT com DOT br ) Marcin Wisnicki ( mwisnicki+freebsd AT gmail DOT com ) Stefan Ehmann ( shoesoft AT gmx DOT net ) Florian Smeets ( flo AT kasimir DOT com ) Phil Oleson ( oz AT nixil DOT net ) Larry Baird ( lab AT gta DOT com ) Milan Obuch ( freebsd-current AT dino DOT sk ) remko (initial version) END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T05:05:55.000000Z K 7 svn:log V 59 Document a new sysctl variable, dev.vr.%d.stats. Touch Dd. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2008-03-11T05:09:03.000000Z K 7 svn:log V 57 Uncomment vr(4), vr(4) should work on all architectures. END K 10 svn:author V 5 silby K 8 svn:date V 27 2008-03-11T06:34:28.000000Z K 7 svn:log V 98 MFC rev 1.160; Change tcp options order back to how it was in FreeBSD 6 to improve compatibility. END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2008-03-11T08:28:44.000000Z K 7 svn:log V 57 vr(4) should work on all archs now, remove it from here. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-11T10:14:47.000000Z K 7 svn:log V 749 Merge cnode.h:1.25, coda_fbsd.c:1.48, coda_io.h:1.10, coda_kernel.h:1.7, coda_namecache.c:1.25, coda_namecache.h:1.14, coda_opstats.h:1.8, coda_pioctl.h:1.10, coda_psdev.c:1.43, coda_psdev.h:1.8, coda_subr.c:1.35, coda_subr.h:1.11, coda_venus.c:1.30, coda_venus.h:1.11, coda_vfsops.c:1.79, coda_vfsops.h:1.14, coda_vnops.c:1.92, coda_vnops.h:1.23 from HEAD to RELENG_7: Since we're now actively maintaining the Coda module in the FreeBSD source tree, restyle everything but coda.h (which is more explicitly shared across systems) into a closer approximation to style(9). Remove a few more unused function prototypes. Add or clarify some comments. Minor differences required in the MFC due to diverging VFS locking in HEAD vs RELENG_7. END K 10 svn:author V 4 joel K 8 svn:date V 27 2008-03-11T14:48:59.000000Z K 7 svn:log V 16 Fix minor typo. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-11T15:05:54.000000Z K 7 svn:log V 93 Don't enable the workaround for the jitter bug on the 5722. Obtained from: Linux tg3 driver END K 10 svn:author V 6 emaste K 8 svn:date V 27 2008-03-11T15:14:31.000000Z K 7 svn:log V 171 MFC minor cleanups: ffs_softdep.c 1.210 Add a newline to the printf message. ffs_softdep.c 1.214 (part) Update comment to match the DIAGNOSTIC -> INVARIANTS change. END K 10 svn:author V 4 emax K 8 svn:date V 27 2008-03-11T16:51:07.000000Z K 7 svn:log V 184 Add support for the NAP, GN and PANU profiles to the sdpd(8). It should be mentioned that a somewhat similar patch was submitted by Rako < rako29 at gmail dot com > MFC after: 1 week END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2008-03-11T16:51:08.000000Z K 7 svn:log V 68 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-11T17:20:34.000000Z K 7 svn:log V 5 root END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-11T17:21:14.000000Z K 7 svn:log V 399 Do nextboot -D twice during boot. The first time in rc.d/root which ensures that we can remove the file as early as possible, but shut up nextboot at this moment if the operation is failed, because /boot is not necessarily a part of /; the newly added second run is placed in rc.d/mountlate after all filesystems were mounted. Discussed at: -rc@ Suggestions from: brooks, mtm MFC after: 1 month END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-11T17:21:55.000000Z K 7 svn:log V 450 Forced commit to correct previous commit message: Do nextboot -D twice during boot. The first time in rc.d/root which ensures that we can remove the file as early as possible, but shut up nextboot at this moment if the operation is failed, because /boot is not necessarily a part of /; the newly added second run is placed in rc.d/mountlate after all filesystems were mounted. Discussed at: -rc@ Suggestions from: brooks, mtm MFC after: 1 month END K 10 svn:author V 4 kaiw K 8 svn:date V 27 2008-03-11T18:35:51.000000Z K 7 svn:log V 670 GNU ar did NOT implment option -q as a synonym of -r as the manual page stated, thus BSD ar(1) option -q, which was implemented based on the GNU ar manual page, turns out to be incompatible with GNU ar -q. This change will make BSD ar(1) -q a *REAL* GNU ar -q: 1. It will update symbol table. (same as unfixed version) 2. It will NOT compare new members spcified in the command line args with existing members, instead, append them directly. Reported by: Johannes 5 Joemann Reported by: Timothy Bourke Tested by: Johannes 5 Joemann Reviewed by: jkoshy Approved by: jkoshy (mentor) END K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-11T19:04:42.000000Z K 7 svn:log V 308 MFC rev. 1.61 Send only one incoming notification at a time to reduce queue trashing and improve performance. Remove waitflag argument from ng_ksocket_incoming2(), it means nothing as function call was queued by netgraph. Remove node validity check, as node validity guarantied by netgraph. Update comments. END K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-11T19:14:10.000000Z K 7 svn:log V 308 MFC rev. 1.23-1.24 To avoid control data losses, do not acknowledge recieving of control packet if netgraph reported error while delivering to destination. Reset 'next send' counter to the last requested by peer on ack timeout, to resend all subsequest packets after lost one again without additional hints. END K 10 svn:author V 5 remko K 8 svn:date V 27 2008-03-11T19:19:14.000000Z K 7 svn:log V 330 MFC rev 1.8 tinybsd Improve handling of the tinybsd application wrt ports. Ports that have dependencies or need to install a new user/group, are not problematic anymore. PR: 121367 Submitted by: Richard Arends < richard at unixguru dot nl > MFC after: 3 days Approved by: imp (mentor, implicit) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2008-03-11T19:58:52.000000Z K 7 svn:log V 269 In intr_lookup(), when adding an IRQ to powerpc_intrs[], also set a default name. If the IRQ is added as a consequence of configurating the IRQ without there ever being a handler assigned to it, we will not have a name. This breaks the fragile intrcnt/intrnames logic. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-11T20:10:37.000000Z K 7 svn:log V 95 Add constants for the various fields in MTRR registers. MFC after: 1 week Verified by: md5(1) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-11T21:41:36.000000Z K 7 svn:log V 98 Style(9) these files. No changes in the compiled code. (Verified by diff'ing objdump -d output). END K 10 svn:author V 3 mav K 8 svn:date V 27 2008-03-11T21:58:48.000000Z K 7 svn:log V 517 Improve apply callback error reporting: Before this patch callback returned result of the last finished call chain. Now it returns last nonzero result from all call chain results in this request. As soon as this improvement gives reliable error reporting, it is now possible to remove dirty workaround in ng_socket, made to return ENOBUFS error statuses of request-response operations. That workaround was responsible for returning ENOBUFS errors to completely unrelated requests working at the same time on socket. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-11T22:12:58.000000Z K 7 svn:log V 19 MFC: tcsh 6.15.00. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-11T22:40:04.000000Z K 7 svn:log V 22 MFen 1.73 -> 1.73.4.3 END K 10 svn:author V 5 peter K 8 svn:date V 27 2008-03-12T00:13:49.000000Z K 7 svn:log V 74 Fix apparent typo. The permitted confidence values include 95%, not 85%. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-12T01:52:48.000000Z K 7 svn:log V 153 Merge revision 1.1.1.8 date: 2007/04/03 15:51:53; author: mp; state: Exp; lines: +2 -1 Import vendor patch to fix postcmd regression in tcsh-6.15.00. END K 10 svn:author V 8 tmclaugh K 8 svn:date V 27 2008-03-12T02:09:22.000000Z K 7 svn:log V 137 - Update with a better example which shows that options specific to a file system may be passed using -o. Approved by: remko, rodrigc END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2008-03-12T02:33:17.000000Z K 7 svn:log V 68 Add manual for function sem_timedwait(). Reviewed by: ru, deischen END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2008-03-12T02:37:31.000000Z K 7 svn:log V 19 Add missing comma. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2008-03-12T04:20:30.000000Z K 7 svn:log V 145 MFC a number of minor edits and portability fixups. This is mostly just to catch 7-STABLE up with -CURRENT before the next big round of changes. END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2008-03-12T04:26:44.000000Z K 7 svn:log V 49 Typo, thanks to: Jeff Johnson. MFC after: 3 days END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2008-03-12T04:47:37.000000Z K 7 svn:log V 162 Tighten up the semantics of acl_next() and xattr_next() when you hit the end of the ACL or xattr list. Thanks to: Jeff Johnson for pointing out the obvious typo END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2008-03-12T04:58:32.000000Z K 7 svn:log V 252 Remove some unused fields from the private archive_read structure (left over from when the unified read/write structure was copied to form separate read and write structures) and eliminate the pointless initialization of a couple of the unused fields. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T05:01:14.000000Z K 7 svn:log V 228 - KSE may free a thread that was never actually forked. This will leave td_cpuset NULL. Check for this condition before dereferencing the cpuset. Reported by: david@catwhisker.org, miwi@freebsd.org Sponsored by: Nokia END K 10 svn:author V 8 kientzle K 8 svn:date V 27 2008-03-12T05:12:23.000000Z K 7 svn:log V 300 Portability: Eliminate the need for uudecode by incorporating uudecode into the main test driver and invoking it just-in-time within the various tests. Also, incorporate a number of improvements to the main test support code that have proven useful on other projects where I've used this framework. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T06:31:06.000000Z K 7 svn:log V 856 - Pass the priority argument from *sleep() into sleepq and down into sched_sleep(). This removes extra thread_lock() acquisition and allows the scheduler to decide what to do with the static boost. - Change the priority arguments to cv_* to match sleepq/msleep/etc. where 0 means no priority change. Catch -1 in cv_broadcastpri() and convert it to 0 for now. - Set a flag when sleeping in a way that is compatible with swapping since direct priority comparisons are meaningless now. - Add a sysctl to ule, kern.sched.static_boost, that defaults to on which controls the boost behavior. Turning it off gives better performance in some workloads but needs more investigation. - While we're modifying sleepq, change signal and broadcast to both return with the lock held as the lock was held on enter. Reviewed by: jhb, peter END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T06:33:36.000000Z K 7 svn:log V 55 - Bump __FreeBSD_version for sleepq/cv_* api changes. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T09:48:42.000000Z K 7 svn:log V 51 - Add an UPDATING entry about the removal of KSE. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T09:49:39.000000Z K 7 svn:log V 144 - Remove libkse and related support code in libpthread from the build. Don't remove the files yet. Kernel support will be removed shortly. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T10:00:33.000000Z K 7 svn:log V 53 - Don't inspect the P_SA flag. It's being removed. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T10:01:34.000000Z K 7 svn:log V 26 - P_SA has been removed. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T10:12:01.000000Z K 7 svn:log V 330 Remove kernel support for M:N threading. While the KSE project was quite successful in bringing threading to FreeBSD, the M:N approach taken by the kse library was never developed to its full potential. Backwards compatibility will be provided via libmap.conf for dynamically linked binaries and static binaries will be broken. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T10:12:22.000000Z K 7 svn:log V 45 - Remove kse syscall symbols and man pages. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-12T11:08:32.000000Z K 7 svn:log V 117 Merge coda_vnops.c:1.93 from HEAD to RELENG_7: Clean up coda_pathconf() slightly while debugging a problem there. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-12T11:09:16.000000Z K 7 svn:log V 202 Merge NOTES:1.1475 from HEAD to RELENG_7: HZ now defaults to 1000 on many architectures, so update NOTES to reflect that. PR: 113670 Submitted by: Ighighi END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-12T11:33:06.000000Z K 7 svn:log V 202 Merge NOTES:1.1475 from HEAD to RELENG_6: HZ now defaults to 1000 on many architectures, so update NOTES to reflect that. PR: 113670 Submitted by: Ighighi END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2008-03-12T11:34:26.000000Z K 7 svn:log V 255 Merge gzip.c:1.6 from HEAD to RELENG_7: Teach gunzip that .tbz and .tbz2 uncompress to .tar, in a manner similar to its existing understanding that .tgz uncompresses to .tar. PR: 121519 Submitted by: Ighighi END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T11:51:01.000000Z K 7 svn:log V 25 - Remove ksethrcmdname. END K 10 svn:author V 4 piso K 8 svn:date V 27 2008-03-12T11:58:29.000000Z K 7 svn:log V 157 -Don't pass down the entire pkt to ProtoAliasIn, ProtoAliasOut, FragmentIn and FragmentOut. -Axe the old PacketAlias API: it has been deprecated since 5.x. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2008-03-12T13:51:51.000000Z K 7 svn:log V 320 MFC rev 1.6: date: 2008/03/06 22:27:35; author: cognet; state: Exp; lines: +3 -1 MFi386: revision 1.6 date: 2004/08/21 18:50:34; author: alc; state: Exp; lines: +3 -1 Properly free the temporary sf_buf in uiomove_fromphys() if a copyin or copyout fails. Obtained from: DragonFlyBSD Spotted out by: Mark Tinguely END K 10 svn:author V 4 piso K 8 svn:date V 27 2008-03-12T14:34:34.000000Z K 7 svn:log V 64 Update to the "new" libalias API (and thus fix world breakage). END K 10 svn:author V 6 obrien K 8 svn:date V 27 2008-03-12T14:50:58.000000Z K 7 svn:log V 203 If the special target .MAKEFILEDEPS exists, then enable the "remaking makefiles" feature. Otherwise, follow traditional Pmake behavior. (hash table will be regenerated and committed follow this commit) END K 10 svn:author V 6 obrien K 8 svn:date V 27 2008-03-12T14:51:47.000000Z K 7 svn:log V 137 If the special target .MAKEFILEDEPS exists, then enable the "remaking makefiles" feature. Otherwise, follow traditional Pmake behavior. END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T15:31:37.000000Z K 7 svn:log V 154 Improve ARM bus_dmamap_load_buffer() error handling. Reviewed by: imp Approved by: cognet (mentor) Spotted by: Grzegorz Bernacki gjb AT semihalf DOT com END K 10 svn:author V 8 gallatin K 8 svn:date V 27 2008-03-12T15:36:00.000000Z K 7 svn:log V 193 Remove dead code which makes a call to mem_range_attr_set(). This fixes a bug where mxge did not declare a dependancy on mem(4), and failed to load with options nomem. Pointed out by: antoine END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T15:46:25.000000Z K 7 svn:log V 99 Respect RF_SHAREABLE flag in ARM nexus_setup_intr() Reviewed by: imp Approved by: cognet (mentor) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2008-03-12T15:48:59.000000Z K 7 svn:log V 62 Describe return values from pmc_ncpu() and pmc_npmc() better. END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2008-03-12T15:51:32.000000Z K 7 svn:log V 152 Bring the behaviour of pmc_capabilities() and pmc_width() in line with documentation: set 'errno' and return -1 in case of an error. Update (c) years. END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T16:01:34.000000Z K 7 svn:log V 989 Eliminate artificial increasing of 'netdev_opens' counter in loader's net_open(). This was introduced as a workaround long time ago for some Alpha firmware (which is now gone), and actually prevented net_close() to ever be called. Certain firmwares (U-Boot) need local shutdown operations to be performed on a network controller upon transaction end: such platform-specific hooks are supposed to be called via netif_close() (from within net_close()). This change effectively reverts the following CVS commit: sys/boot/common/dev_net.c revision 1.7 date: 2000/05/13 15:40:46; author: dfr; state: Exp; lines: +2 -1 Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time. Also suppress excessive output while netbooting via loader, unless debugging. While there, make sys/boot/uboot more style(9) compliant. Reviewed by: imp Approved by: cognet (mentor) END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T16:12:48.000000Z K 7 svn:log V 230 Improve handling U-Boot's "eth%daddr" while PowerPC metadata preparation. We're now more robust against cases of non-sorted and/or non-continuous numbering of those entries. Reviewed by: imp, marcel Approved by: cognet (mentor) END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T16:32:08.000000Z K 7 svn:log V 445 Obtain TSEC h/w address from the parent bus (OCP) and not rely blindly on what might be currently programmed into the registers. Underlying firmware (U-Boot) would typically program MAC address into the first unit only, and others are left uninitialized. It is now possible to retrieve and program MAC address for all units properly, provided they were passed on in the bootinfo metadata. Reviewed by: imp, marcel Approved by: cognet (mentor) END K 10 svn:author V 3 raj K 8 svn:date V 27 2008-03-12T16:35:25.000000Z K 7 svn:log V 96 Convert TSEC watchdog to the new scheme. Reviewed by: imp, marcel Approved by: cognet (mentor) END K 10 svn:author V 6 brooks K 8 svn:date V 27 2008-03-12T17:29:42.000000Z K 7 svn:log V 206 MFC rev 1.18: During PREINIT, when giving the interface the address 0.0.0.0, do it as an alias to avoid distrubing other addresses. PR: bin/119255 Submitted by: Jaakko Heinonen END K 10 svn:author V 6 brooks K 8 svn:date V 27 2008-03-12T17:35:38.000000Z K 7 svn:log V 435 MFC rev 1.31: When the state of the interface changes rapidly enough there is a race where dhclient is in the process of exiting due to the link going down when the link coming up causes devd to try and start a new one. This results is the link being up, but no dhclient running. Work around this race by checking a second time after a one second delay before refusing to start a dhclient instance due to one already being running. END K 10 svn:author V 6 brooks K 8 svn:date V 27 2008-03-12T17:41:37.000000Z K 7 svn:log V 676 Sync with current merging revs 1.27 and 1.31. 1.27: Use get_if_var() to retrieve interface specific values of dhclient_flags and background_dhclient. This allows interfaces who's names are not valid parts of shell variables and shortens the code. 1.31: When the state of the interface changes rapidly enough there is a race where dhclient is in the process of exiting due to the link going down when the link coming up causes devd to try and start a new one. This results is the link being up, but no dhclient running. Work around this race by checking a second time after a one second delay before refusing to start a dhclient instance due to one already being running. END K 10 svn:author V 5 remko K 8 svn:date V 27 2008-03-12T18:23:39.000000Z K 7 svn:log V 172 Add resume support to the agp_i810 family. Submitted by: "Robert Noland" Reviewed by: anholt Approved by: anholt, imp (mentor) MFC after: 1 week END K 10 svn:author V 5 remko K 8 svn:date V 27 2008-03-12T18:25:47.000000Z K 7 svn:log V 168 Add missing comma. PR: bin/121645 Submitted by: OISHI Masakuni Approved by: imp (mentor, implicit for trivial changes) MFC after: 3 days END K 10 svn:author V 3 sam K 8 svn:date V 27 2008-03-12T19:09:20.000000Z K 7 svn:log V 158 add device hints to control the rx FIFO interrupt level on 16550A parts PR: kern/121421 Submitted by: UEMURA Tetsuya Reviewed by: marcel MFC after: 2 weeks END K 10 svn:author V 3 sam K 8 svn:date V 27 2008-03-12T19:09:58.000000Z K 7 svn:log V 89 document device hints including new ones to control rx fifo trigger MFC after: 2 weeks END K 10 svn:author V 3 sam K 8 svn:date V 27 2008-03-12T20:03:31.000000Z K 7 svn:log V 46 fix inverted test that disabled ACK's on xmit END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-12T20:20:36.000000Z K 7 svn:log V 286 Partially revert 1.95. It changed the probe for a mouse device to only accept a mouse using the boot subclass. Instead, restore the original hid_is_collection() test and fallback to testing the interface class, subclass, and protocol if that fails. MFC after: 1 week PR: usb/118670 END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-12T20:57:17.000000Z K 7 svn:log V 687 Relax the BIOS/OS sempahore handoff code to workaround different hard hangs (one at boot, one at shutdown) in recent machines. First, only try to take ownership of the EHCI controller if the BIOS currently owns the controller. On a HP DL160 G5, the machine hangs when we try to take ownership. Second, don't bother trying to give up ownership of the controller during shutdown. It's not strictly required and a Dell DCS S29 hangs on shutdown after the config write. Both of these changes match the behavior of the Linux EHCI driver. I also think both of these hangs are caused by bugs in the BIOS' SMM handler causing it to get stuck in an infinite loop in SMM. MFC after: 1 week END K 10 svn:author V 4 kaiw K 8 svn:date V 27 2008-03-12T21:10:26.000000Z K 7 svn:log V 1054 Current 'ar' read support in libarchive can only handle a GNU/SVR4 filename table whose size is less than 65536 bytes. The original intention was to not consume the filename table, so the client will have a chance to look at it. To achieve that, the library call decompressor->read_ahead to read(look ahead) but do not call decompressor->consume to consume the data, thus a limit was raised since read_ahead call can only look ahead at most BUFFER_SIZE(65536) bytes at the moment, and you can not "look any further" before you consume what you already "saw". This commit will turn GNU/SVR4 filename table into "archive format data", i.e., filename table will be consumed by libarchive, so the 65536-bytes limit will be gone, but client can no longer have access to the content of filename table. 'ar' support test suite is changed accordingly. BSD ar(1) is not affected by this change since it doesn't look at the filename table. Reported by: erwin Discussed with: jkoshy, kientzle Reviewed by: jkoshy, kientzle Approved by: jkoshy(mentor), kientzle END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-12T21:43:50.000000Z K 7 svn:log V 120 Minimize diffs with i686_mem.c: - A few whitespace changes I missed in the style(9) changes. - Move M_MEMDESC to mem.c. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-12T21:44:46.000000Z K 7 svn:log V 93 MFamd64: Break up the probe logic in the mem_drvinit routines so it's a bit easier to parse. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2008-03-12T22:09:19.000000Z K 7 svn:log V 1303 The variable MTRR registers actually have variable-sized PhysBase and PhysMask fields based on the number of physical address bits supported by the current CPU. The old code assumed 36 bits on i386 and 40 bits on amd64. In truth, all Intel CPUs up until recently used 36 bits (a newer Intel CPU uses 38 bits) and all the Opteron CPUs used 40 bits. In at least one case (the new Intel CPU) having the size of the mask field wrong resulted in writing questionable values into the MTRR registers on the application processors (BSP as well if you modify the MTRRs via memcontrol or running X, etc.). The result of the questionable physmask was that all of memory was apparently treated as uncached rather than write-back resulting in a very significant performance hit. Fix this by constructing a run-time mask for the PhysBase and PhysMask fields based on the number of physical address bits supported by the CPU. All 64-bit capable CPUs provide a count of PA bits supported via the 0x80000008 extended CPUID feature, so use that if it is available. If that feature is not available, then assume 36 PA bits. While I'm here, expand the (now-unused) macros for the PhysBase and PhysMask fields to the current largest possible value (52 PA bits). MFC after: 1 week PR: i386/120516 Reported by: Nokia END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T22:14:14.000000Z K 7 svn:log V 137 - Fix build breakage; there was a reference to a removed syscall in a KASSERT(). Attempt to cleanup the comment to reflect reality. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2008-03-12T22:17:06.000000Z K 7 svn:log V 69 - The P_SA flag has been removed. Don't reference it in a KASSERT. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-12T23:01:33.000000Z K 7 svn:log V 53 Reapply a bugfix that was done as sh.lex.c,v 1.1.1.8 END K 10 svn:author V 7 delphij K 8 svn:date V 27 2008-03-12T23:01:33.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r177128, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2008-03-12T23:01:34.000000Z K 7 svn:log V 79 This commit was manufactured by cvs2svn to create tag 'tcsh-vendor-tcsh_6_15b'. END