ƒ³g144000 176 272 220 159 209 412 415 166 555 250 379 467 543 569 399 483 154 262 218 144 201 340 280 1045 232 485 570 132 151 151 170 841 158 171 270 163 139 109 175 221 272 451 201 222 127 134 151 250 341 358 281 296 602 199 360 197 275 263 167 389 391 347 217 589 359 116 400 280 164 174 260 350 228 143 122 212 198 163 309 494 256 345 338 286 214 259 165 181 367 260 482 370 139 1080 470 178 335 307 304 139 748 113 288 114 161 156 133 166 166 112 158 285 382 270 507 369 156 653 186 550 255 190 189 604 165 253 289 205 178 201 141 348 346 235 339 414 456 247 181 178 166 137 301 177 217 167 399 184 184 183 158 454 166 111 230 210 192 182 205 187 161 310 220 184 183 241 199 152 183 152 207 249 153 137 144 6910 175 K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-03-23T04:17:48.000000Z K 7 svn:log V 174 Add verbiage to the description of the noexec mount option clarifying that it really wasn't intended as a security feature. Wording mostly by: simon Discussed with: secteam END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T04:40:10.000000Z K 7 svn:log V 125 MFC ata-chipset.c:1.94 ata-pci.c:1.91 ata-pci.h:1.37 Add support for the ITE IT8212F controller. Approved by: re END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T04:47:18.000000Z K 7 svn:log V 65 MFC 1.94: Use dynamic major number allocation. Approved by: re END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T04:48:32.000000Z K 7 svn:log V 114 MFC 1.234: Return ATA register values in the request struct when ATAREQUEST returns. Approved by: re END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T04:49:03.000000Z K 7 svn:log V 317 MFC 1.53: Resolve "memory modified after free" panics on Thinkpads 1.52: Avoid long hangs on resume on some systems. 1.51: Try to get out of probing as early as possible on (hopefully) vacant channels. 1.50: Compensate for off by one bugs in disk firmware for 48BIT addressing cutover. Approved by: re END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T04:50:26.000000Z K 7 svn:log V 320 MFC 1.42: When resubmitting a timed out request, reset donecount. 1.41: Reset timeout when we are back from interrupt. 1.40: Correct logical error, result was that retries wasn't always made but failure reported instead. 1.39: Do not retry on requests that have lost their device during reinit. Approved by: re END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2005-03-23T04:50:27.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_5_4'. END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-23T05:14:11.000000Z K 7 svn:log V 460 ata-chipset.c 1.98: Support should now cover all old and current products. 1.97: Update the Promise support for combo (SATA+PATA) controllers. 1.96: Compensate for off by one bugs in disk firmware for 48BIT addressing cutover 1.95: Update the ICH6 support so all 4 SATA channels can be used. We still use "normal" mode, AHCI mode is in the works still. ata-pci.h 1.36: Add first shot on support for the new Promise SATAII chips. Approved by: re END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-03-23T05:59:42.000000Z K 7 svn:log V 157 MFC revision 1.31 Use VM_ALLOC_NOBUSY to eliminate an unneeded vm_page_wakeup() call and the synchronization that one entails. Approved by: re (kensmith) END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-03-23T06:02:29.000000Z K 7 svn:log V 286 MFC revision 1.46 Avoid repeated acquisition and release of the vm object lock inside of two loops in agp_generic_bind_memory(). As an intended side-effect, all of the calls to vm_page_wakeup() are now performed with the containing vm object lock held. Approved by: re (kensmith) END K 10 svn:author V 3 rse K 8 svn:date V 27 2005-03-23T08:06:38.000000Z K 7 svn:log V 374 1. Annotate the rc.conf reference with a hint to the "cloned_interfaces" variable, because it might be not obvious how to configure carp(4) devices in rc.conf. 2. Remove the sentence about the not implemented "carpdev" option (this was not imported from OpenBSD according to our source code) to avoid confusion. Reviewed by: glebius@ MFC after: 3 days END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-23T08:27:59.000000Z K 7 svn:log V 450 Make ps_nargvstr and ps_nenvstr unsigned. This fixes an input validation error in procfs/linprocfs that can be exploited by local users to cause a kernel panic. All versions of FreeBSD with the patch referenced in SA-04:17.procfs have this bug, but versions without that patch have a more serious bug instead. This problem only affects systems on which procfs or linprocfs is mounted. Found by: Coverity Prevent analysis tool Security: Local DOS END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-23T08:28:00.000000Z K 7 svn:log V 476 Reject packets larger than IP_MAXPACKET in linux_sendto() for sockets with the IP_HDRINCL option set. Without this change, a Linux process with access to a raw socket could cause a kernel panic. Raw sockets must be created by root, and are generally not consigned to untrusted applications; hence, the security implications of this bug are minimal. I believe this only affects 6-CURRENT on or after 2005-01-30. Found by: Coverity Prevent analysis tool Security: Local DOS END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-23T08:28:03.000000Z K 7 svn:log V 306 Bounds check the length parameter to i386_set_ldt() before passing it to kmem_alloc(). Failure to do this made it possible for user processes to cause a hard lock on i386 kernels. I believe this only affects 6-CURRENT on or after 2005-01-26. Found by: Coverity Prevent analysis tool Security: Local DOS END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-23T08:28:06.000000Z K 7 svn:log V 390 Bounds check the user-supplied length used in a copyout() in svr4_do_getmsg(). In principle this bug could disclose data from kernel memory, but in practice, the SVR4 emulation layer is probably not functional enough to cause the relevant code path to be executed. In any case, the emulator has been disconnected from the build since 5.0-RELEASE. Found by: Coverity Prevent analysis tool END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2005-03-23T08:58:51.000000Z K 7 svn:log V 57 Document support for the ITE IT8212F. MFC after: 3 days END K 10 svn:author V 5 maxim K 8 svn:date V 27 2005-03-23T09:26:38.000000Z K 7 svn:log V 167 o Document net.inet.ip.portrange.random* sysctls. o Correct a comment about random port allocation threshold implementation. Reviewed by: silby, ru MFC after: 3 days END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-23T09:40:18.000000Z K 7 svn:log V 121 Implement "verbose" optional keyword for "show" command. This is analog of Cisco's "show ip cache verbose flow" command. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-23T10:01:43.000000Z K 7 svn:log V 48 Describe usage of newly implemented out* hooks. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-23T10:08:28.000000Z K 7 svn:log V 104 - Reword HOOKS paragraph also mentioning how data received on out* hooks is handled. - Xref flowctl.8 END K 10 svn:author V 5 harti K 8 svn:date V 27 2005-03-23T12:56:15.000000Z K 7 svn:log V 245 Make paths an explicite datatype instead of using the generic Lst. A Path is now a TAILQ of PathElements each of which just points to a reference counted directory. Rename all functions dealing with Paths from the Dir_ prefix to a Path_ prefix. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-23T13:30:21.000000Z K 7 svn:log V 183 Since em(4) is very popular and does not use miibus(4) add special hack under #ifdef DEV_CARP, which calls carp_carpdev_state() when link goes up or down. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T15:01:54.000000Z K 7 svn:log V 952 What should be the last major changes to the ISO layout: - When a separate livefs ISO is used, change the name of the tree directory to be R/cdrom/livefs and change the name of the iso to livefs.iso rather than using disc2. Instead, disc2 is now always going to be the packages disc regardless of the presence of a separate livefs which makes things simpler. - Build a very simple disc2 tree under R/cdrom that just includes the cdrom.inf file that the packages need. Also, build a disc2.iso image in the iso.1 target. Disc 2's volume label is "FreeBSD_Packages". - Retire CD_EXTRA_BITS and replace it with CD_PACKAGE_TREE. CD_EXTRA_BITS was specific to disc1, but CD_PACKAGE_TREE instead should point to a directory that has disc1 and disc2 subdirectories that contain the extra bits for each image. - Rename the bootonly volume label to "FreeBSD_bootonly" and just hardcode the disc1 and livefs volume names and iso suffixes. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T15:34:45.000000Z K 7 svn:log V 139 Belatedly remove the drivers.conf(5) man page. The actual files and supporting scripts were removed as part of the splitfs floppy rework. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T15:44:40.000000Z K 7 svn:log V 392 - Document the top-level package-split target. - Update the description of the cdrom.1 target and add notes for cdrom.2 and cdrom.3. - Document CD_PACKAGES_TREE (CD_EXTRA_BITS wasn't documented before). - Document CVSARGS. - Remove DISC[12]_{LABEL,NAME}. - Remove NOPORTREADMES. - Remove references to drivers.conf files and man page. - Update version number for a CURRENT snapshot to 6.0. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T16:14:24.000000Z K 7 svn:log V 477 MFC: Bring all the package split and merged ISO stuff back from HEAD to RELENG_5 including: - make package-split target and changes to iso.1 and cdrom.* targets. - Replace print-cdrom-packages.sh with package-split.py and add package-trees.sh. - Merge livefs onto disc1 unless SEPARATE_LIVEFS is set in which case it is put on livefs.iso instead. - Add /stand symlink to livefs to fix fixit.profile. - Sync release(7). - Remove drivers.conf(5). Approved by: re (kensmith) END K 10 svn:author V 5 harti K 8 svn:date V 27 2005-03-23T16:14:41.000000Z K 7 svn:log V 38 Style: make indentation 8 characters. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T16:17:30.000000Z K 7 svn:log V 59 Document SEPARATE_LIVEFS (forgot this in previous commit). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-23T16:18:10.000000Z K 7 svn:log V 59 MFC: Document SEPARATE_LIVEFS. Approved by: re (kensmith) END K 10 svn:author V 5 harti K 8 svn:date V 27 2005-03-23T16:28:57.000000Z K 7 svn:log V 76 Style: de-lispify by removing extra parantheses in conditional expressions. END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2005-03-23T16:43:29.000000Z K 7 svn:log V 746 Restore queue depth settings across tag disable events. The system often disables tag queuing temporarily in order to allow controllers a window to safely perform transfer negotiation with non-compliant devices. Before this change, CAM would restore the queue depth to the controller specified maximum or device quirk level rather than any depth determined by reactions to QUEUE FULL/BUSY events or an explicit user setting. During device probe, initialize the flags field for XPT_SCAN_BUS. The uninitialized value often confused CAM into not bothering to issue an AC_FOUND_DEVICE async event for new devices. The reason this bug wasn't reported earlier is that CAM manually announces devices after the initial system bus scans. MFC: 3 days END K 10 svn:author V 6 cognet K 8 svn:date V 27 2005-03-23T17:13:08.000000Z K 7 svn:log V 63 Unbreak buildworld on i386 when MODULES_WITH_WORLD is defined. END K 10 svn:author V 5 dougb K 8 svn:date V 27 2005-03-23T17:35:58.000000Z K 7 svn:log V 77 MFC 1.21, improvements to commented out examples Approved by: re (kensmith) END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-23T18:16:26.000000Z K 7 svn:log V 177 fix kldloading of pci driver modules after boot on sparc64... since we weren't using the pci module, we weren't restoring the pci state... Submitted by: imp MFC after: 5 days END K 10 svn:author V 5 dougb K 8 svn:date V 27 2005-03-23T18:16:33.000000Z K 7 svn:log V 69 MFC BIND 9.3.1 and related bmake updates Approved by: re (kensmith) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-03-23T20:39:14.000000Z K 7 svn:log V 47 MFC: BIND 9.3.1. Approved by: re (implicitly) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-03-23T20:42:09.000000Z K 7 svn:log V 17 MFC: BIND 9.3.1. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-23T20:54:56.000000Z K 7 svn:log V 83 Sync with HEAD: - Add 'status' subcommand. - Cleanups. Approved by: re (kensmith) END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-23T21:24:29.000000Z K 7 svn:log V 128 relocate the power state transition statements to the pci_set_powerstate_method function... Reviewed by: imp MFC after: 1 week END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-03-23T22:04:10.000000Z K 7 svn:log V 176 MFFSF: rev 1.9.6.1: Remove fpsize argument, change opcode to suffix. Use fmov*x macros, create all 3 fpsize variants in one macro. Adjust all users. Approved by: re(kensmith) END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-03-23T22:10:10.000000Z K 7 svn:log V 359 - The NFS client was incorrectly masking SIGSTOP (which is non-maskable). - The NFS client needs to guard against spurious wakeups while waiting for the response. ltrace causes the process under question to wakeup (possibly from ptrace()), which causes NFS to wakeup from tsleep without the response being delivered. Submitted by: Mohan Srinivasan END K 10 svn:author V 8 vkashyap K 8 svn:date V 27 2005-03-23T22:57:47.000000Z K 7 svn:log V 103 MFC: Use correct flags for bus_dma_tag_create(). Submitted by:scottl Approved by:re MFC after:17 days END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-03-23T23:53:50.000000Z K 7 svn:log V 125 MFC Revision 1.302: simplify sigwait. MFC Revision 1.303: avoid panic under swapping in sigwait. Approved by: re (kensmith) END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-24T01:26:40.000000Z K 7 svn:log V 33 POWERSTATECHANGE was misspelled. END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-24T01:58:20.000000Z K 7 svn:log V 40 Offer unhandled IOCTLS to fddi_ioctl(). END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-24T02:08:22.000000Z K 7 svn:log V 57 - Break after nested switch. - Default returns an error. END K 10 svn:author V 6 jcamou K 8 svn:date V 27 2005-03-24T04:45:09.000000Z K 7 svn:log V 154 Add manual page for snd_via8233(4) and add it to the build. PR: docs/78322 Submitted by: Joel Dahl Approved by: trhodes (mentor) END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:00:45.000000Z K 7 svn:log V 247 - All of the bugs which lead to the complication of the LOOKUP_SHARED config option have now been fixed. All filesystems are properly locked and checked via DEBUG_VFS_LOCKS. Remove the workaround code. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:02:37.000000Z K 7 svn:log V 264 - Clear LOCKSHARED if LOOKUP_SHARED is not enabled. This is not strictly necessary since we disable the shared locks in vfs_cache, but it is prefered that the option not leak out into filesystems when it is disabled. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:03:31.000000Z K 7 svn:log V 187 - Remove the #ifdef LOOKUP_SHARED from some calls to NDINIT. The LOCKSHARED flag is simply ignored in namei() if LOOKUP_SHARED is not enabled. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:04:35.000000Z K 7 svn:log V 202 - Remove some long dead LOOKUP_SHARED code that tracked the lock state. - Always pass LOCKSHARED and rely on namei() to ignore it when LOOKUP_SHARED is not set. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:08:58.000000Z K 7 svn:log V 508 - If vput() is called with a shared lock it must upgrade to an exclusive before it can call VOP_INACTIVE(). This must use the EXCLUPGRADE path because we may violate some lock order with another locked vnode if we drop and reacquire the lock. If EXCLUPGRADE fails, we mark the vnode with VI_OWEINACT. This case should be very rare. - Clear VI_OWEINACT in vinactive() and vbusy(). - If VI_OWEINACT is set in vgone() do the VOP_INACTIVE call here as well. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T06:16:27.000000Z K 7 svn:log V 105 - Grab the lock type that the caller requests in vfs_hash_insert(). Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:29:23.000000Z K 7 svn:log V 266 - Add a 'flags' parameter to VFS_ROOT(). This is intended to allow lookup to do shared locks on the root. Filesystems are free to ignore flags and instead acquire an exclusive lock if they do not support shared locks. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:30:00.000000Z K 7 svn:log V 103 - Fixup the default vfs_root function to match the new prototype. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:31:38.000000Z K 7 svn:log V 181 - Pass LK_EXCLUSIVE to VFS_ROOT() to satisfy the new flags argument. For now, all calls to VFS_ROOT() should still acquire exclusive locks. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:32:50.000000Z K 7 svn:log V 169 - Update the ufs_root() prototype. - Pass the ufs_root() flags argument to VFS_VGET() to allow callers to specify shared locks. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:33:45.000000Z K 7 svn:log V 74 - Call VFS_ROOT() with LK_EXCLUSIVE. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:36:16.000000Z K 7 svn:log V 295 - Update vfs_root implementations to match the new prototype. None of these filesystems will support shared locks until they are explicitly modified to do so. Careful review must be done to ensure that this is safe for each individual filesystem. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T07:39:03.000000Z K 7 svn:log V 297 - Update vfs_root implementations to match the new prototype. None of these filesystems will support shared locks until they are explicitly modified to do so. Careful review must be done to ensure that this is safe for each individual filesystem. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T09:35:06.000000Z K 7 svn:log V 253 - Complete the implementation of td_locks. Track the number of outstanding lockmgr locks that this thread owns. This is complicated due to LK_KERNPROC and because lockmgr tolerates unlocking an unlocked lock. Sponsored by: Isilon Systes, Inc. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-24T09:35:38.000000Z K 7 svn:log V 123 - Fail an assert if we attempt to return with any lockmgr locks held in userret(). Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-03-24T10:12:29.000000Z K 7 svn:log V 491 If "dangerous" environment variables (LD_PRELOAD, LD_LIBMAP, LD_LIBMAP_DISABLE, LD_LIBRARY_PATH) are used, then make sure the libraries being loaded aren't on a noexec-mounted filesystem. This is a compromise position: I'm assuming that nobody will be silly enough to set the noexec mount flag on part of the default library path, in order to avoid adding extra overhead into the common case (where those environment variables aren't used). Discussed with: csjp, secteam MFC after: 1 week END K 10 svn:author V 3 den K 8 svn:date V 27 2005-03-24T11:13:48.000000Z K 7 svn:log V 266 Merge the following from the English version: 1.227.2.24 -> 1.227.2.25 hardware/common/dev.sgml 1.761.2.36 -> 1.761.2.37 relnotes/common/new.sgml Update dev-auto override Obtained from: The FreeBSD Russian Documentation Project Approved by: re (implicitly) END K 10 svn:author V 3 den K 8 svn:date V 27 2005-03-24T12:19:46.000000Z K 7 svn:log V 24 Update copyright years. END K 10 svn:author V 4 fjoe K 8 svn:date V 27 2005-03-24T15:09:50.000000Z K 7 svn:log V 306 ata_shutdown: Do nothing (do not flush ata cache) if in panic. This behaviour is inline with ata-mkIII that will be committed to HEAD soon and fixes making crashdumps (and automatic reboots) after panic. Approved by: re (the patch slightly differs from what was sent for approval) No objections from: sos END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-24T16:03:54.000000Z K 7 svn:log V 187 Truncate nextboot.conf file on creation, so existing garbage will be removed. Submitted by: Gary Allan Obtained from: DragonFlyBSD Approved by: re (kensmith) END K 10 svn:author V 3 des K 8 svn:date V 27 2005-03-24T16:41:48.000000Z K 7 svn:log V 72 MFC: (1.50) add revision number for 8169SB. Approved by: re (kensmith) END K 10 svn:author V 3 des K 8 svn:date V 27 2005-03-24T16:42:52.000000Z K 7 svn:log V 82 MFC: (1.39) add 8169SB to list of supported chipsets. Approved by: re (kensmith) END K 10 svn:author V 6 cognet K 8 svn:date V 27 2005-03-24T17:05:45.000000Z K 7 svn:log V 164 MFC rev 1.5: date: 2005/03/23 17:13:08; author: cognet; state: Exp; lines: +4 -0 Unbreak buildworld on i386 when MODULES_WITH_WORLD is defined. Approved by: re END K 10 svn:author V 6 brooks K 8 svn:date V 27 2005-03-24T17:51:15.000000Z K 7 svn:log V 254 Compile errors are way more useful then panics later. Replace a KASSERT of LINUX_IFNAMSIZ == IFNAMSIZ with a preprocessor check and #error message. This will prevent nasty suprises if users change IFNAMSIZ without updating the linux code appropriatly. END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-24T18:13:11.000000Z K 7 svn:log V 135 Move implementation of hw.bus.rman sysctl to subr_rman.c so that subr_bus.c doesn't need to peek inside struct resource. OK from: imp END K 10 svn:author V 5 mdodd K 8 svn:date V 27 2005-03-24T18:44:27.000000Z K 7 svn:log V 49 MFC: Whitespace diff reduction. Approved by: re END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-03-24T18:55:07.000000Z K 7 svn:log V 27 Support MCP versions 4-11. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-24T19:02:13.000000Z K 7 svn:log V 119 Add another HID for the Toshiba SPA40 laptop. Submitted by: Chris Reece car at crank dot org dot uk MFC after: 1 week END K 10 svn:author V 6 brooks K 8 svn:date V 27 2005-03-24T19:26:50.000000Z K 7 svn:log V 102 Use the CTASSERT() macro instead of rolling my own, non-portable one using #error. Suggested by: jhb END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-24T21:07:55.000000Z K 7 svn:log V 71 Use device_set_desc_copy() for non-constant strings. Approved by: njl END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-24T21:20:25.000000Z K 7 svn:log V 216 Don't set ret_namelen and ret_resnamelen in res_find() unless both the corresponding pointer to the buffer (ret_name and ret_resname) is non-NULL to avoid possible NULL pointer derefs. Reported by: Coverity via sam END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-24T21:34:16.000000Z K 7 svn:log V 401 - Don't enable periodic interrupts from the RTC by default in rtc_statusb. Instead, explicitly enable them when we setup the interrupt handler. Also, move the setting of stathz and profhz down to the same place so that the code flow is simpler and easier to follow. - Don't setup an interrupt handler for IRQ0 if we are using the lapic timer as it doesn't do anything productive in that case. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-24T21:36:15.000000Z K 7 svn:log V 163 Merge from i386: - Add a i8254_pending variable to save some indirections in clkintr(). - Don't bother setting up an IRQ0 handler if we are using the lapic timer. END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2005-03-24T23:03:39.000000Z K 7 svn:log V 247 Update parsing of the ports INDEX file to accomodate some new fields that got added to it recently-ish. While here document what each of the fields is based on discussion with portmgr@. Patch from: murray (slightly adapted) MFC after: 1 day END K 10 svn:author V 4 bmah K 8 svn:date V 27 2005-03-24T23:39:33.000000Z K 7 svn:log V 244 Update for the upcoming 5.4-RELEASE. Fix up an omission related to obsolete BIND executables that should have been in the 5.3-RELEASE version of this document (obtained from 5.3-RELEASE errata). Reviewed by: trhodes Approved by: re (blanket) END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-25T00:00:44.000000Z K 7 svn:log V 192 - Restore COUNT() in all of its original glory. Don't make it dependent on DEBUG as ufs will soon grow a dependency on this count. Discussed with: bde Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 4 bmah K 8 svn:date V 27 2005-03-25T00:07:51.000000Z K 7 svn:log V 120 Whitespace, no content changes. (Trimmed whitespace at end of lines and used emacs tabify.) Approved by: re (blanket) END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-25T00:20:37.000000Z K 7 svn:log V 165 - Add information about the buf lock to db_show_buffer. - Add a 'show lockedbufs' command that is similar to show lockedvnods. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 7 iedowse K 8 svn:date V 27 2005-03-25T00:38:46.000000Z K 7 svn:log V 69 Use M_NOWAIT when allocating from a callout routine. PR: kern/73295 END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T00:44:21.000000Z K 7 svn:log V 85 Move xxx_newbuf() function, which was the same in all drivers into central location. END K 10 svn:author V 7 iedowse K 8 svn:date V 27 2005-03-25T01:44:38.000000Z K 7 svn:log V 270 Use usbd_get_string() instead of calling usbd_get_string_desc() with the wrong language parameter when retrieving the device serial number. This invalid request caused some devices not to work at all. PR: usb/79190 Submitted by: Hans Petter Selasky END K 10 svn:author V 7 iedowse K 8 svn:date V 27 2005-03-25T01:47:01.000000Z K 7 svn:log V 163 Fix an incorrect NULL argument to usbd_set_interface() associated with the ALT_IFACE_1 quirk. PR: usb/79190 Submitted by: Hans Petter Selasky END K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-03-25T01:56:12.000000Z K 7 svn:log V 386 Fix inittodr() invocation. Now that devfs is mounted before the actual root file system is mounted, the first entry on the mountlist is not the root file system and the timestamp for that entry is typically 0. Passing that to inittodr() caused annoying errors on alpha and ia64. So, call inittodr() for all file systems on mountlist, but only when the timestamp (mnt_time) is non-zero. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T03:10:51.000000Z K 7 svn:log V 277 - Use pci_get_device() and pci_get_vendor() when we only want one part of the device id. - Use BAR2 rather than BAR0 for the Rocketport UPCI 8O card. I suspect that other UPCI cards might need to use BAR2 as well. Tested by: wsk at gddsn dot org dot cn MFC after: 1 week END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-25T04:40:44.000000Z K 7 svn:log V 47 Implement and document remquo() and remquof(). END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-25T05:34:39.000000Z K 7 svn:log V 986 - Don't recycle vnodes anymore. Free them once they are dead. getnewvnode now always allocates a new vnode. - Define a new function, vnlru_free, which frees vnodes from the free list. It takes as a parameter the number of vnodes to free, which is wantfreevnodes - freevnodes when called from vnlru_proc or 1 when called from getnewvnode(). For now, getnewvnode() still tries to reclaim a free vnode before creating a new one when we are near the limit. - Define a function, vdestroy, which handles the actual release of memory and teardown of locks, etc. This could become a uma_dtor() routine. - Get rid of minvnodes. Now wantfreevnodes is 1/4th the max vnodes. This keeps more unreferenced vnodes around so that files which have only been stat'd are less likely to be kicked out of the system before we have a chance to read them, etc. These vnodes may still be freed via the normal vnlru_proc() routines which may some day become a real lru. END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-03-25T06:03:11.000000Z K 7 svn:log V 377 c_tapea and c_firstrec are used for TS_TAPE blocks, so convert them for the old (4.4-lite through FreeBSD 4.x and *BSD) format. It looks like they aren't used for TS_INODE, but conversion costs so little there that I've not removed them there (in case my grep was wrong). This makes at least some of the tapes work for me again. Now, to regresion test all my dusty tapes... END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-25T06:24:46.000000Z K 7 svn:log V 86 A few simple regression tests for remainder(), remainderf(), remquo(), and remquof(). END K 10 svn:author V 5 krion K 8 svn:date V 27 2005-03-25T06:31:08.000000Z K 7 svn:log V 240 MFC BSD.local.dist revision 1.114 and BSD.x11-4.dist revision 1.26: date: 2005/03/22 18:29:41; author: krion; state: Exp; lines: +4 -0 Add mt locale directory, since more and more ports create and use it. Approved by: re (kensmith) END K 10 svn:author V 5 krion K 8 svn:date V 27 2005-03-25T06:36:09.000000Z K 7 svn:log V 212 MFC BSD.local.dist revision 1.114 and BSD.x11-4.dist revision 1.26: date: 2005/03/22 18:29:41; author: krion; state: Exp; lines: +4 -0 Add mt locale directory, since more and more ports create and use it. END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-03-25T06:57:50.000000Z K 7 svn:log V 211 dcvt is unused since the support for converting pre-4.4 tapes was removed. Go ahead and remove it and struct odirent since it too is unused. # FreeBSD 1.1.5 tapes are still unreadable, but 2.0 and newer work. END K 10 svn:author V 3 den K 8 svn:date V 27 2005-03-25T07:08:36.000000Z K 7 svn:log V 47 Update copyright years. Approved by: re (hrs) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-03-25T07:35:59.000000Z K 7 svn:log V 655 Restore the ability to read FreeBSD 1 tapes (and I think any net2 based tapes, but I'm not sure where NFS_MAGIC was introduced after 4.3). When support for the pre-4.4 format was removed (the ability to read 4.2 and 4.3 BSD tapes), the old format inode conversion was junked as well. However, FreeBSD 1 dump tapes use the NFS_MAGIC format, but have this inode format. Before, restore would fail complaining that '.' wasn't found and the root directory wasn't on this tape. Since the conversion from the not so old format is relatively trivial, restore the code to make that conversion. FreeBSD 1 dumps are once again readable. MFC After: a few days END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T09:48:24.000000Z K 7 svn:log V 17 GC unused field. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-25T09:56:56.000000Z K 7 svn:log V 194 - The td_locks check is currently broken with snapshots and possibly some case in unmount. Disable the KASSERT until these problems can be diagnosed. Sponsored by: Isilon Systems, Inc. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T10:39:23.000000Z K 7 svn:log V 18 GC unused fields. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-03-25T10:51:55.000000Z K 7 svn:log V 68 - Pass LK_EXCLUSIVE as the lock type to vget in vfs_hash_insert(). END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T12:42:30.000000Z K 7 svn:log V 60 Move Rx/Tx lists management routines into central location. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T12:49:26.000000Z K 7 svn:log V 37 Protect against multiple inclusions. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T12:50:57.000000Z K 7 svn:log V 70 Fix breakage in the previous commit caused by the last-minute change. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T12:53:26.000000Z K 7 svn:log V 70 Add missed KUE_UNLOCK(). This is NOOP yet, but may be handy later on. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T12:55:06.000000Z K 7 svn:log V 16 Fix identation. END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T13:22:58.000000Z K 7 svn:log V 62 Add /* _FOO_H_ */ after the final #endif to make danfe happy. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T14:18:50.000000Z K 7 svn:log V 192 Add code to read the primary PCI bus number out of the Compaq/HP 6010 hotplug Host to PCI bridge. This is only needed for the non-ACPI case as the BIOS includes a proper _BBN method in ACPI. END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2005-03-25T14:41:25.000000Z K 7 svn:log V 284 MFC v1.105: > Log: > Update parsing of the ports INDEX file to accomodate some new > fields that got added to it recently-ish. While here document > what each of the fields is based on discussion with portmgr@. > > Patch from: murray (slightly adapted) Approved by: re (scottl) END K 10 svn:author V 3 den K 8 svn:date V 27 2005-03-25T15:06:14.000000Z K 7 svn:log V 177 Merge the following from the English version: 1.21.2.4 -> 1.21.2.6 early-adopter/article.sgml 1.5 -> 1.5.2.1 hardware/common/artheader.sgml Approved by: re (implicitly) END K 10 svn:author V 4 bmah K 8 svn:date V 27 2005-03-25T15:53:33.000000Z K 7 svn:log V 413 Grrr. The previous commit added some tabs that replaced spaces in the middle of lines. This wasn't intended; apparently emacs tabify doesn't do what I thought it did. Go fix these up. As before, no content changes, this only affects whitespace. den also submitted a fix-up patch that was nearly identical to this change. Pointed out by: Kelly Yancy < kbyanc#at#posi#dot#net >, den Approved by: re (blanket) END K 10 svn:author V 8 gallatin K 8 svn:date V 27 2005-03-25T16:05:42.000000Z K 7 svn:log V 271 Zero the reserved fields of the header, as per rfc 2734. This change results in connectivty to MacOSX hosts via fwip. Thanks to Apple's Arulchandran Paramasivam for letting us know what we were doing wrong. Reviewed by: dfr MFC After: 7 days END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-25T16:23:48.000000Z K 7 svn:log V 64 remove unimplemented part of the interface.. MFC after: 3 days END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-25T16:28:05.000000Z K 7 svn:log V 560 MFC: >fix aio+kq... I've been running ambrisko's test program for much longer >w/o problems than I was before... This simply brings back the knote_delete >as knlist_delete which will also drop the knote's, instead of just clearing >the list and setting _ONESHOT... > >Fix a race where if a note was _INFLUX and _DETACHED, it could end up being >modified... whoopse.. > >Revision Changes Path >1.90 +11 -8 src/sys/kern/kern_event.c >1.183 +1 -1 src/sys/kern/vfs_aio.c >1.28 +6 -1 src/sys/sys/event.h Approved by: re (kensmith) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-03-25T17:30:20.000000Z K 7 svn:log V 94 Revert bogus += -g change. I needed it to debug the problem. Noticed by: njl, Andrej Tobola END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-25T17:30:31.000000Z K 7 svn:log V 457 When the softupdates worklist gets too long, threads that attempt to add more work are forced to process two worklist items first. However, processing an item may generate additional work, causing the unlucky thread to recursively process the worklist. Add a per-thread flag to detect this situation and avoid the recursion. This should fix the stack overflows that could occur while removing large directory trees. Tested by: kris Reviewed by: mckusick END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-25T17:52:25.000000Z K 7 svn:log V 158 MFC 1.10: - Don't lose TCP flags of the first packet in a flow. - Don't account length of the first packet in a flow twice. Approved by: re (kensmith) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-03-25T17:55:15.000000Z K 7 svn:log V 94 MFC 1.5: Plug item leak, which occured when m_pullup() failed. Approved by: re (kensmith) END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-03-25T19:21:35.000000Z K 7 svn:log V 94 MFC: revs 1.9-10: USB keyboard support & fix a bunch of stack leaks. Approved by: re(scottl) END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-03-25T20:19:18.000000Z K 7 svn:log V 507 Comment out rue_miibus_statchg() function. Using trial-and-error approach I found it guilty in putting the card into unusable state after UP->DOWN->UP media status change. Looks like some of register writes in this functions mess up PHY interface. No visible regressions has been found after commenting this code out - the card properly handles forceful local mode changes and auto-detects changes made remotely (tested with Auto, 10HD, 10FD, 100HD, 100FD). Sponsored by: PBXpress Inc. MFC after: 3 days END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:07:21.000000Z K 7 svn:log V 73 MFC: Unbreak stack traces for double faults. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:08:49.000000Z K 7 svn:log V 160 MFC: Tweak the ELCR support so that other parts of the kernel than just the atpic driver can know if it exists and is valid or not. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:10:07.000000Z K 7 svn:log V 196 MFC: Fix some older SMP machines that route their PCI interrupts over ISA IRQs by using the trigger mode indicated by the ELCR for ISA IRQs if a valid ELCR is present. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:31:46.000000Z K 7 svn:log V 112 MFC: Always read RTC_IN to clear any pending interrupt when writing to RTC_STATUSB. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:38:26.000000Z K 7 svn:log V 86 MFC: Recover gracefully if the user puts the wrong CD in. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:39:33.000000Z K 7 svn:log V 108 MFC: Sync up the list of FTP mirrors, NTP servers, and keyboard maps with HEAD. Approved by: re (kensmith) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-03-25T21:40:13.000000Z K 7 svn:log V 49 MFC: sync with HEAD. Approved by: re (kensmith) END K 10 svn:author V 6 brooks K 8 svn:date V 27 2005-03-25T22:08:59.000000Z K 7 svn:log V 252 Remove bogus (but harmless) -I.. from CFLAGS. It makes no difference to .depends other then the commant line. Also remove -g from CFLAGS. The user should add it to CFLAGS if they desire debug support. Reviewed by: ru (in concept) MFC After: 7 days END K 10 svn:author V 6 julian K 8 svn:date V 27 2005-03-25T23:57:08.000000Z K 7 svn:log V 250 MFC: free the pointer pointed to the "spare" thread and not the one pointed to by "us". This isnot really a problem in practice because it nearly always points to the same cred but it could have caused a problem in the future. Approved by: re (ken) END K 10 svn:author V 3 ken K 8 svn:date V 27 2005-03-26T04:21:11.000000Z K 7 svn:log V 142 Fix a place where we were referencing a pointer after it had been freed. Submitted by: "Henry Miller" MFC after: 3 days END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-03-26T04:45:53.000000Z K 7 svn:log V 241 When executing mount_foo, pass "mount_foo" as argv[0] instead of "foo". This unbreaks "/rescue/mount -t foo" -- previously it was necessary to explicitly call "/rescue/mount_foo". Hints from: gordon X-MFC after: 3 days (if approved by re@) END K 10 svn:author V 3 ken K 8 svn:date V 27 2005-03-26T05:34:54.000000Z K 7 svn:log V 321 Add "report only" functionality to 'camcontrol format', so users can get a report on the status of a format already running on a drive. Fix status reporting for 'camcontrol format'. This was broken in rev 1.34 of camcontrol.c, almost 4 years ago! Submitted by: joerg (most of the reportonly changes) MFC after: 3 days END K 10 svn:author V 3 ken K 8 svn:date V 27 2005-03-26T06:05:06.000000Z K 7 svn:log V 363 Fix a problem with the cd(4) driver -- the CAMGETPASSTHRU ioctl wouldn't succeed if there was no media in the drive. This was broken in rev 1.72 when the media check was added to cdioctl(). For now, check the ioctl group to decide whether to check for media or not. (We only need to check for media on CD-specific ioctls.) Reported by: bland MFC after: 3 days END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T07:11:31.000000Z K 7 svn:log V 154 don't include wme ie in probe request frames; it was meant for probe response frames--move it there Noticed by: Ghislain Mary Submitted by: Michael Wong END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T07:15:34.000000Z K 7 svn:log V 89 when WPA is enabled discard association requests w/o a WPA ie Submitted by: Divy Le Ray END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2005-03-26T07:18:05.000000Z K 7 svn:log V 81 MFC: rev. 1.50 Document support for the ITE IT8212F. Approved by: re (blanket) END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2005-03-26T07:18:06.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_5_4'. END K 10 svn:author V 3 das K 8 svn:date V 27 2005-03-26T08:27:53.000000Z K 7 svn:log V 45 Teach libstdc++ about frexpl() and ldexpl(). END K 10 svn:author V 7 delphij K 8 svn:date V 27 2005-03-26T11:29:02.000000Z K 7 svn:log V 204 Do not do write gathering for NFSv3, since it makes no sense unless the client is broken and does sync writes all the time. Obtained from: NetBSD (sys/nfs/nfs_syscalls.c,v 1.44) Reviewed by: -arch (bde) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-26T16:51:19.000000Z K 7 svn:log V 85 Check for return values. Submitted by: sam Found by: Coverity Prevent analysis tool END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-26T17:23:01.000000Z K 7 svn:log V 124 Make the code more obvious - when an error occurs in g_mirror_connect_disk(), detach and destroy consumer before returning. END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-03-26T17:24:19.000000Z K 7 svn:log V 75 If an error occurs, clean up before returning from g_raid3_connect_disk(). END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-03-26T17:30:34.000000Z K 7 svn:log V 306 Check for invalid frequencies after parsing the package. Keep a running count of valid frequencies and use that as the final package count, don't give up when the first invalid state is found. Also, add 0x9999 and expand our upper check to >= 0xffff Mhz [2]. Submitted by: Bruno Ducrot, Jung-uk Kim [2] END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T18:01:35.000000Z K 7 svn:log V 92 check copyin return values when loading pallete Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T18:17:58.000000Z K 7 svn:log V 92 eliminate double free when sym_cam_attach fails Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T18:47:17.000000Z K 7 svn:log V 91 deref correct mbuf ptr to collect any vlan tag Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 5 simon K 8 svn:date V 27 2005-03-26T19:09:43.000000Z K 7 svn:log V 64 MFC 1.12: Add byteorder(9) to SEE ALSO. Approved by: re (hrs) END K 10 svn:author V 3 rse K 8 svn:date V 27 2005-03-26T19:15:12.000000Z K 7 svn:log V 361 MFC revision 1.4: 1. Annotate the rc.conf reference with a hint to the "cloned_interfaces" variable, because it might be not obvious how to configure carp(4) devices in rc.conf. 2. Remove the sentence about the not implemented "carpdev" option (this was not imported from OpenBSD according to our source code) to avoid confusion. Approved by: re END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2005-03-26T19:15:13.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_5_4'. END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-26T20:04:28.000000Z K 7 svn:log V 19 s/ENOTTY/ENOIOCTL/ END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-03-26T20:10:24.000000Z K 7 svn:log V 132 netstart is now obsoleted by /etc/rc.d/*, not by /etc/rc.network. Reported by: Martin Jakob, on freebsd-stable@ MFC after: 1 month END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-26T20:12:39.000000Z K 7 svn:log V 117 Make (some) serial ports implement the PPS-API again. This change appearantly fell out during the tty code cleanup. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-03-26T20:22:58.000000Z K 7 svn:log V 100 xl(4) meets polling(4). Hardware for this work kindly provided by Eric Masson. MFC after: 3 weeks END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-26T20:31:09.000000Z K 7 svn:log V 90 add some additional pci classes and sub-classes.. Reviewed by: imp (almost 6 months ago) END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-26T21:07:35.000000Z K 7 svn:log V 112 fix a "modify after free" bug which is practically impossible to experience. Found by: Coverity (id #540 #541) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T21:30:49.000000Z K 7 svn:log V 95 deal with failed malloc calls Noticed by: Coverity Prevent analysis tool Glanced at by: mdodd END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T21:34:12.000000Z K 7 svn:log V 69 deal with malloc failure Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T21:49:43.000000Z K 7 svn:log V 217 rt_newaddrmsg will blow up if given something other than RTM_ADD or RTM_DELETE; add an assertion, may want to do something more heavyhanded in the future Noticed by: Coverity Prevent analysis tool Reviewed by: mdodd END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-26T21:58:09.000000Z K 7 svn:log V 127 Don't call mlx_free() i mlx_attach() in case of failure. Doing so in mlx_attach_pci() is much cleaner. Inspired by: Coverity END K 10 svn:author V 3 jmg K 8 svn:date V 27 2005-03-26T22:17:48.000000Z K 7 svn:log V 92 fix a copy/paste typo for scanner/gameport... Spotted by: Michal Mertl END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T22:20:22.000000Z K 7 svn:log V 91 deal with malloc failures Noticed by: Coverity Prevent analysis tool Together with: mdodd END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T22:57:28.000000Z K 7 svn:log V 148 handle malloc failure and sk_vpd_prodname potentially being null for other reasons Noticed by: Coverity Prevent analysis tool Reviewed by: bz, jmg END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T23:26:49.000000Z K 7 svn:log V 106 deal with malloc failure when setting up the multicast filter Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T23:37:54.000000Z K 7 svn:log V 60 purge dead code Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T23:43:54.000000Z K 7 svn:log V 91 correct logic so we recognize timeout on alloc Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-26T23:51:39.000000Z K 7 svn:log V 60 purge dead code Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-03-27T00:29:37.000000Z K 7 svn:log V 114 check copyin+copyout return values when processing TWA_IOCTL_GET_LOCK Noticed by: Coverity Prevent analysis tool END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-03-27T03:37:43.000000Z K 7 svn:log V 156 If a device_add_child fails (i.e. low memory situation), be sure to free the unused ivars also. Submitted by: pjd Obtained from: Coverity Prevent analysis END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-03-27T03:39:37.000000Z K 7 svn:log V 61 MFC 1.5: Remove usbd requirement Approved by: re (kensmith) END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-27T07:52:12.000000Z K 7 svn:log V 45 Remove extra ; at end of if(). Found by: bz END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-03-27T07:53:13.000000Z K 7 svn:log V 52 Remove another ';' after if(). Also spotted by: bz END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-03-27T10:14:36.000000Z K 7 svn:log V 6814 Finally bring an end to the great "make the Atheros NDIS driver work on SMP" saga. After several weeks and much gnashing of teeth, I have finally tracked down all the problems, despite their best efforts to confound and annoy me. Problem nunmber one: the Atheros windows driver is _NOT_ a de-serialized miniport! It used to be that NDIS drivers relied on the NDIS library itself for all their locking and serialization needs. Transmit packet queues were all handled internally by NDIS, and all calls to MiniportXXX() routines were guaranteed to be appropriately serialized. This proved to be a performance problem however, and Microsoft introduced de-serialized miniports with the NDIS 5.x spec. Microsoft still supports serialized miniports, but recommends that all new drivers written for Windows XP and later be deserialized. Apparently Atheros wasn't listening when they said this. This means (among other things) that we have to serialize calls to MiniportSendPackets(). We also have to serialize calls to MiniportTimer() that are triggered via the NdisMInitializeTimer() routine. It finally dawned on me why NdisMInitializeTimer() takes a special NDIS_MINIPORT_TIMER structure and a pointer to the miniport block: the timer callback must be serialized, and it's only by saving the miniport block handle that we can get access to the serialization lock during the timer callback. Problem number two: haunted hardware. The thing that was _really_ driving me absolutely bonkers for the longest time is that, for some reason I couldn't understand, my test machine would occasionally freeze or more frustratingly, reset completely. That's reset and in *pow!* back to the BIOS startup. No panic, no crashdump, just a reset. This appeared to happen most often when MiniportReset() was called. (As to why MiniportReset() was being called, see problem three below.) I thought maybe I had created some sort of horrible deadlock condition in the process of adding the serialization, but after three weeks, at least 6 different locking implementations and heroic efforts to debug the spinlock code, the machine still kept resetting. Finally, I started single stepping through the MiniportReset() routine in the driver using the kernel debugger, and this ultimately led me to the source of the problem. One of the last things the Atheros MiniportReset() routine does is call NdisReadPciSlotInformation() several times to inspect a portion of the device's PCI config space. It reads the same chunk of config space repeatedly, in rapid succession. Presumeably, it's polling the hardware for some sort of event. The reset occurs partway through this process. I discovered that when I single-stepped through this portion of the routine, the reset didn't occur. So I inserted a 1 microsecond delay into the read loop in NdisReadPciSlotInformation(). Suddenly, the reset was gone!! I'm still very puzzled by the whole thing. What I suspect is happening is that reading the PCI config space so quickly is causing a severe PCI bus error. My test system is a Sun w2100z dual Opteron system, and the NIC is a miniPCI card mounted in a miniPCI-to-PCI carrier card, plugged into a 100Mhz PCI slot. It's possible that this combination of hardware causes a bus protocol violation in this scenario which leads to a fatal machine check. This is pure speculation though. Really all I know for sure is that inserting the delay makes the problem go away. (To quote Homer Simpson: "I don't know how it works, but fire makes it good!") Problem number three: NdisAllocatePacket() needs to make sure to initialize the npp_validcounts field in the 'private' section of the NDIS_PACKET structure. The reason if_ndis was calling the MiniportReset() routine in the first place is that packet transmits were sometimes hanging. When sending a packet, an NDIS driver will call NdisQueryPacket() to learn how many physical buffers the packet resides in. NdisQueryPacket() is actually a macro, which traverses the NDIS_BUFFER list attached to the NDIS_PACKET and stashes some of the results in the 'private' section of the NDIS_PACKET. It also sets the npp_validcounts field to TRUE To indicate that the results are now valid. The problem is, now that if_ndis creates a pool of transmit packets via NdisAllocatePacketPool(), it's important that each time a new packet is allocated via NdisAllocatePacket() that validcounts be initialized to FALSE. If it isn't, and a previously transmitted NDIS_PACKET is pulled out of the pool, it may contain stale data from a previous transmission which won't get updated by NdisQueryPacket(). This would cause the driver to miscompute the number of fragments for a given packet, and botch the transmission. Fixing these three problems seems to make the Atheros driver happy on SMP, which hopefully means other serialized miniports will be happy too. And there was much rejoicing. Other stuff fixed along the way: - Modified ndis_thsuspend() to take a mutex as an argument. This allows KeWaitForSingleObject() and KeWaitForMultipleObjects() to avoid any possible race conditions with other routines that use the dispatcher lock. - Fixed KeCancelTimer() so that it returns the correct value for 'pending' according to the Microsoft documentation - Modfied NdisGetSystemUpTime() to use ticks and hz rather than calling nanouptime(). Also added comment that this routine wraps after 49.7 days. - Added macros for KeAcquireSpinLock()/KeReleaseSpinLock() to hide all the MSCALL() goop. - For x86, KeAcquireSpinLockRaiseToDpc() needs to be a separate function. This is because it's supposed to be _stdcall on the x86 arch, whereas KeAcquireSpinLock() is supposed to be _fastcall. On amd64, all routines use the same calling convention so we can just map KeAcquireSpinLockRaiseToDpc() directly to KfAcquireSpinLock() and it will work. (The _fastcall attribute is a no-op on amd64.) - Implement and use IoInitializeDpcRequest() and IoRequestDpc() (they're just macros) and use them for interrupt handling. This allows us to move the ndis_intrtask() routine from if_ndis.c to kern_ndis.c. - Fix the MmInitializeMdl() macro so that is uses sizeof(vm_offset_t) when computing mdl_size instead of uint32_t, so that it matches the MmSizeOfMdl() routine. - Change a could of M_WAITOKs to M_NOWAITs in the unicode routines in subr_ndis.c. - Use the dispatcher lock a little more consistently in subr_ntoskrnl.c. - Get rid of the "wait for link event" hack in ndis_init(). Now that I fixed NdisReadPciSlotInformation(), it seems I don't need it anymore. This should fix the witness panic a couple of people have reported. - Use MSCALL1() when calling the MiniportHangCheck() function in ndis_ticktask(). I accidentally missed this one when adding the wrapping for amd64. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-03-27T10:16:45.000000Z K 7 svn:log V 81 Check in ntoskrnl_var.h, which should have been included in the previous commit. END