ƒ³U151483 169 1660 542 356 267 198 212 147 1089 423 366 165 716 491 120 126 236 173 136 236 129 119 116 125 164 276 120 210 125 151 221 713 239 186 318 191 285 331 355 128 117 272 103 115 232 143 435 605 189 114 377 151 156 160 179 185 163 451 120 209 205 482 153 193 180 600 821 220 444 110 234 185 141 374 180 220 631 186 144 960 960 1300 658 125 307 108 157 367 319 322 373 178 131 363 595 128 272 322 166 142 216 96 116 183 454 388 160 327 146 124 162 229 444 153 120 117 133 221 164 240 186 174 172 149 244 165 173 305 333 170 173 164 166 365 157 270 154 155 1930 271 497 202 191 315 164 166 253 240 207 217 310 295 1314 495 806 136 553 703 129 149 130 680 226 1819 947 203 1947 291 592 232 K 10 svn:author V 8 truckman K 8 svn:date V 27 2005-10-19T20:31:45.000000Z K 7 svn:log V 1561 MFC ufs_lookup.c 1.78 and 1.79. Original commit messages: Modified files: sys/ufs/ufs ufs_lookup.c Log: Close a race in the ufs_lookup() code that handles the ISDOTDOT case by saving the value of dp->i_ino before unlocking the vnode for the current directory and passing the saved value to VFS_VGET(). Without this change, another thread can overwrite dp->i_ino after the current directory is unlocked, causing ufs_lookup() to lock and return the wrong vnode in place of the vnode for its parent directory. A deadlock can occur if dp->i_ino was changed to a subdirectory of the current directory because the root to leaf vnode lock ordering will be violated. A vnode lock can be leaked if dp->i_ino was changed to point to the current directory, which causes the current vnode lock for the current directory to be recursed, which confuses lookup() into calling vrele() when it should be calling vput(). The probability of this bug being triggered seems to be quite low unless the sysctl variable debug.vfscache is set to 0. Reviewed by: jhb MFC after: 2 weeks Revision Changes Path 1.78 +3 -1 src/sys/ufs/ufs/ufs_lookup.c Modified files: sys/ufs/ufs ufs_lookup.c Log: Correct the type of the temporary variable used by ufs_lookup.c:1.78 to fix the race condition in the ufs_lookup() ISDOTDOT code. Noticed by: bde MFC after: 12 days Revision Changes Path 1.79 +1 -1 src/sys/ufs/ufs/ufs_lookup.c Approved by: re (scottl) END K 10 svn:author V 3 jdp K 8 svn:date V 27 2005-10-19T20:40:30.000000Z K 7 svn:log V 449 Fix a bug in the kernel module runtime linker that made it impossible to unload the usb.ko module after boot if it was originally preloaded from "/boot/loader.conf". When processing preloaded modules, the linker erroneously added self-dependencies the each module's reference count. That prevented usb.ko's reference count from ever going to 0, so it could not be unloaded. Sponsored by Isilon Systems. Reviewed by: pjd, peter MFC after: 1 week END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-10-19T20:46:16.000000Z K 7 svn:log V 259 MFC: if_bridge.c r1.26, if_ethersubr.c r1.205 > Use bridge_ifdetach() to notify the bridge that a member has been detached. > The bridge can then remove it from its interface list and not try to send > out via a dead pointer. Approved by: re (scottl) END K 10 svn:author V 6 brooks K 8 svn:date V 27 2005-10-19T21:21:22.000000Z K 7 svn:log V 171 Make devd WARNS=4 clean and bump WARNS accordingly. This will insure that future variable shadowing bugs don't compile. Reviewed by: imp Compiled on: alpha i386 sparc64 END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-10-19T21:25:31.000000Z K 7 svn:log V 105 MFC: Use correct criteria to determine if dirent can be removed right away. Approved by: re@ (scottl) END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-10-19T21:26:02.000000Z K 7 svn:log V 119 MFC: Use correct criteria to determine if dirent can be removed right away. Approved by: re@ (scottl) END K 10 svn:author V 4 jkim K 8 svn:date V 27 2005-10-19T22:26:47.000000Z K 7 svn:log V 54 wpa_supplicant(8) requires -D option for ndis(4) now. END K 10 svn:author V 3 ups K 8 svn:date V 27 2005-10-20T01:03:23.000000Z K 7 svn:log V 996 MFC vm_machdep.c 1.261-1.263 Rev: 1.261 Ensure that a thread stays on same CPU when calculating per CPU TLB shootdown requirements. Otherwise a CPU may not get the needed TLB invalidation. The PTE valid and access flags can not be used here to avoid TLB shootdowns unless sf->cpumask == all_cpus. ( Otherwise some CPUs may still hold an even older entry in the TLB) Since sf_buf_alloc mappings are normally always used this is also not really useful and presetting accessed and modified allows the CPU to speculatively load the entry into the TLB. Both bugs can cause random data corruption. Rev: 1.262 Restore optimizations to reduce TLB shootdowns. Alan Cox pointed out that they are really useful for sendfile(). Rev: 1.263 Restore the UP optimization to reduce the number of TLB invalidations. The previous revision only restored the MP optimization. Describe the optimization strategy for TLB invalidations in a comment. Approved by: re@ (scottl) END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-20T05:12:20.000000Z K 7 svn:log V 330 Set the signal handlers before creating the thread. This is so it inherits the parent's signal mask. Once daemon() forked, signals would be ignored in the child thread. While I'm here, check the return value of daemon(). This fixes termination in the daemon case (bug introduced in last commit). Noticed by: Frederik Lindberg END K 10 svn:author V 5 peter K 8 svn:date V 27 2005-10-20T05:41:38.000000Z K 7 svn:log V 271 Fix a well duplicated fencepost error that stopped crashdumps being readable on certain random memory configurations. If the libkvm consumer tried to read something that was in the very last pdpe, pde or pte slot, it would bogusly fail. This is broken in RELENG_6 too. END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2005-10-20T08:26:03.000000Z K 7 svn:log V 69 Add el_get to the NAME section. Obtained from: OpenBSD (via NetBSD) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-20T08:46:43.000000Z K 7 svn:log V 619 Revamp interrupt handling in em(4) driver: o Do not mask the RX overrun interrupt. o Rewrite em_intr(): - Axe EM_MAX_INTR. - Cycle acknowledging interrupts and processing packets until zero interrupt cause register is read. - If RX overrun comes in log this fact. [ NetBSD also resets adapter in this case, but my tests showed that this is not needed and only pessimizes behavior under heavy load. ] - Since almost all functions is rewritten, style the remaining lines. This fixes em(4) interfaces wedging under high load. In collaboration with: wpaul, cognet Obtained from: NetBSD END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-20T09:55:49.000000Z K 7 svn:log V 394 Some more minor cleanups of em(4) driver: - Destroy mutex in case of attach failure. [1] - Lock properly em_watchdog(). [1] - Lock properly em_sysctl_int_delay(). [1] - Remove unused global adapter linked list. - Remove unused dma_size field from struct em_dma_alloc. - Do not touch interface statistics, that must be edited only by upper layers. [1] Submitted by: yongari [1] END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-10-20T10:39:09.000000Z K 7 svn:log V 25 Remove unused variables. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:45:19.000000Z K 7 svn:log V 35 Virgin import of FSF groff v1.19.2 END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:45:19.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r151497, 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 2005-10-20T10:45:20.000000Z K 7 svn:log V 77 This commit was manufactured by cvs2svn to create tag 'groff-vendor-v1_19_2'. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:47:26.000000Z K 7 svn:log V 45 Removed files not present in v1.19.2 import. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:47:26.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r151500, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:52:34.000000Z K 7 svn:log V 38 Use stock (FSF) version of this file. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:53:15.000000Z K 7 svn:log V 28 Merge Groff 1.19.2 changes. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T10:57:53.000000Z K 7 svn:log V 25 Upgrade to Groff 1.19.2. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T11:10:43.000000Z K 7 svn:log V 34 Remove some conversion leftovers. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2005-10-20T11:10:44.000000Z K 7 svn:log V 68 This commit was manufactured by cvs2svn to create branch 'RELENG_6'. END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-10-20T11:14:34.000000Z K 7 svn:log V 180 Use an ihandle_t to store the instance handle of an opened device instead of a phandle_t (package handle). Since both are typedefed to unsigned int, this is more or less cosmetic. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T11:18:24.000000Z K 7 svn:log V 29 Update upgrade instructions. END K 10 svn:author V 3 dds K 8 svn:date V 27 2005-10-20T11:20:55.000000Z K 7 svn:log V 117 Remove a diagnostic message that can't occur: we lost the ability to handle the old filesystem format on 2002/06/21. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T11:22:30.000000Z K 7 svn:log V 34 Force an upgrade to Groff 1.19.2. END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-20T11:49:25.000000Z K 7 svn:log V 59 MFC 1.56 (added a missing unlock) Approved by: re(scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-20T14:49:59.000000Z K 7 svn:log V 128 Add entry for the spin mutex used by the hptmv(4) driver. MFC after: 1 day Tested by: Philip Kizer pckizer at nostrum dot com END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T16:31:54.000000Z K 7 svn:log V 618 Import a fixed version of driver_ndis.c from the vendor. The existing version has a bug where it fails to properly cancel the polling loop that periodically queries the BSSID (this is done to detect the association/disassociation state). The timeout is supposed to fire once a second, but the eloop_cancel_timeout() call uses a different 'user data' value than what was passed to eloop_register_timeout(), so cancelling the timeouts fails. This results in an additional timeout being created each time an EAPOL packet is received, which can lead to dozens of unwanted timeouts firing every second instead of just one. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T16:31:54.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r151513, 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 2005-10-20T16:31:55.000000Z K 7 svn:log V 90 This commit was manufactured by cvs2svn to create tag 'wpa_supplicant-vendor-v0_3_latest'. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-10-20T16:39:33.000000Z K 7 svn:log V 221 Add a "show uma" command to DDB, which prints out the current stats for available UMA zones. Quite useful for post-mortem debugging of memory leaks without a dump device configured on a panicked box. MFC after: 2 weeks END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T16:49:31.000000Z K 7 svn:log V 97 Implement the PacketGetVersion() routine, which is used in the 0.4.x versions of wpa_supplicant. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T17:10:21.000000Z K 7 svn:log V 190 MFC updates from the head: - install ndisgen.8 man page - fixes for ndisgen.8 man page - fixes for ndisgen.sh script to make it work correctly on amd64 and various documentation cleanups END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-10-20T17:41:47.000000Z K 7 svn:log V 234 Add a "show malloc" command to DDB, which prints out the current stats for available kernel malloc types. Quite useful for post-mortem debugging of memory leaks without a dump device configured on a panicked box. MFC after: 2 weeks END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T17:45:58.000000Z K 7 svn:log V 260 Use sched_bind() to make sure the DPC threads are bound to the correct processor, to insure DPC thread 0 runs on CPU0, DPC thread 1 runs on CPU1, and so on. Elevate the priority of the workitem threads, though don't use as high a priority as the DPC threads. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T17:52:27.000000Z K 7 svn:log V 34 MFC all the updates from the HEAD END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-20T18:33:46.000000Z K 7 svn:log V 23 Fix small grammar nit. END K 10 svn:author V 6 brooks K 8 svn:date V 27 2005-10-20T19:23:16.000000Z K 7 svn:log V 176 Mention the possibility of non-interactive scripts for EDITOR and add a BUGS section mentioning the requirement that such scripts run "sleep 1" or equivalent to work reliably. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2005-10-20T20:30:51.000000Z K 7 svn:log V 9 Cleanup. END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-20T20:51:30.000000Z K 7 svn:log V 24 Remove duplicate entry. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-10-20T21:28:31.000000Z K 7 svn:log V 135 Change format string for u_int64_t to %ju from %llu, in order to use the correct format string on 64-bit systems. Pointed out by: pjd END K 10 svn:author V 4 jkim K 8 svn:date V 27 2005-10-20T21:50:44.000000Z K 7 svn:log V 50 Fix a longstanding buglet in bz-prefixed grep(1). END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-21T01:54:00.000000Z K 7 svn:log V 342 Adjust maxfilesize for UFS1 and old 4.4 FFS. For UFS1, increase the limit to (max block - 1) * bsize. For DEV_BSIZE, this doubles the limit from 0.5 TB to 1 TB. For the old 4.4 FFS case, decrease the limit from 0.5 TB to 2 GB - 1. Older systems had a 32 bit off_t so they couldn't access the larger files anyway. Collaboration with: bde END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-21T05:23:20.000000Z K 7 svn:log V 510 Correct the macro definition for KeRaiseIrql(). The official API is KeRaiseIrql(newirql, &oldirql), not oldirql = KeRaiseIrql(newirql). (The macro ultimately translates to KfRaiseIrql() which does use the latter API, so this has no effect on generated code.) Also, wait for thread termination the right way: kthread_exit() will ultimately do a wakeup(td->td_proc). This is the event we should wait on. Eliminate the previous synchronization machinery for this since it was never guaranteed to work correctly. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-21T05:29:54.000000Z K 7 svn:log V 95 MFC from head (fix KeRaiseIrql() API, wait for DPC/workitem thread termination the right way). END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-10-21T05:48:38.000000Z K 7 svn:log V 22 Eliminate spl* calls. END K 10 svn:author V 8 dumbbell K 8 svn:date V 27 2005-10-21T09:15:26.000000Z K 7 svn:log V 279 Apply the same fix to a potential race in the ISDOTDOT code in reiserfs_lookup() that was used to fix an actual race in ufs_lookup.c:1.78. This is not currently a hazard, but the bug would be activated by marking reiserfs as MPSAFE. Reviewed by: mux (mentor) MFC after: 2 weeks END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-21T11:10:46.000000Z K 7 svn:log V 59 MFC 1.56 (added a missing unlock) Approved by: re(scottl) END K 10 svn:author V 4 jkim K 8 svn:date V 27 2005-10-21T15:17:18.000000Z K 7 svn:log V 63 Remove redundant string length check from the previous commit. END K 10 svn:author V 3 yar K 8 svn:date V 27 2005-10-21T15:44:47.000000Z K 7 svn:log V 68 MFC notes on ifconfig(8): -tunnel, -vlandev. Approved by: re (hrs) END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-21T15:45:13.000000Z K 7 svn:log V 87 sync with KAME (renamed a macro IPV6_DADOUTPUT to IPV6_UNSPECSRC) Obtained from: KAME END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-21T15:59:00.000000Z K 7 svn:log V 93 perform NUD on an IPv6-aware point-to-point interface Obtained from: KAME MFC after: 1 week END K 10 svn:author V 3 yar K 8 svn:date V 27 2005-10-21T16:01:46.000000Z K 7 svn:log V 71 MFC notes on ifconfig(8): -tunnel, -vlandev. Approved by: re (hrs) END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-21T16:23:01.000000Z K 7 svn:log V 358 sync with KAME regarding NDP - introduced fine-grain-timer to manage ND-caches and IPv6 Multicast-Listeners - supports Router-Preference - better prefix lifetime management - more spec-comformant DAD advertisement - updated RFC/internet-draft revisions Obtained from: KAME Reviewed by: ume, gnn MFC after: 2 month END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-21T16:31:39.000000Z K 7 svn:log V 28 nuked non-existing commands END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-21T16:57:57.000000Z K 7 svn:log V 114 Hide a diagnostic message under if (verbose) to avoid cluttering the system log when not in verbose logging mode. END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-10-21T18:59:59.000000Z K 7 svn:log V 109 Warn the user if the kernel driver dropped samples or ran out of event buffers during a data collection run. END K 10 svn:author V 3 ade K 8 svn:date V 27 2005-10-21T19:42:43.000000Z K 7 svn:log V 389 Specifically panic() in the case where pmap_insert_entry() fails to get a new pv under high system load where the available pv entries have been exhausted before the pagedaemon has a chance to wake up to reclaim some. Prior to this, the NULL pointer dereference ended up causing secondary panics with rather less than useful resulting tracebacks. Reviewed by: alc, jhb MFC after: 1 week END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-22T05:01:11.000000Z K 7 svn:log V 61 The controller -> device switch happened in 4.0, fix comment END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-22T05:06:55.000000Z K 7 svn:log V 100 Replace FreeBSD 3.x syntax (controller miibus0) with 4.x syntax (device miibus) in time for 7.0 :-) END K 10 svn:author V 3 suz K 8 svn:date V 27 2005-10-22T05:07:16.000000Z K 7 svn:log V 88 fixed a compilation failure on amd64/sparc64/ia64 Submitted by: max MFC after: 2 month END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-22T05:14:18.000000Z K 7 svn:log V 507 In the ISA case, we call ed_probe_WD80x3 before we call ed_probe_rtl80x9. In the pci case we call ed_probe_rtl80x9 first. In the PCI case we were using the correct nic_offset by accident because softc is initialized to zero. In the isa case we were using the wrong value by accident, since ed_probe_WD80x3 sets the offset value to 0x10. This lead to the identification routines failing. Fix this problem by always initalizing the nic_offset and asic_offset before making ed_{asic,nic}_{in,out}* calls. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-22T05:15:20.000000Z K 7 svn:log V 726 Make the multiple DPC threads an option, and create only one by default. This avoids the need for sched_bind() in the default case so that you can start up the NDIS subsystem at boot time when only CPU 0 is running. There are potentially ways to fix it so that the DPC threads aren't started until after the other CPUs are launched, but doing it correctly is tricky. You need to defer the startup of the ntoskrnl subsystem (ntoskrnl_libinit()), not just defer ndis_attach(). For now, I don't think it will make much difference having just the single DPC thread (I started out with just one anyway). Note that this turns the KeSetTargetProcessorDpc() routine into a no-op, since the CPU number in struct kdpc is now ignored. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-22T05:16:53.000000Z K 7 svn:log V 125 MFC: launch just one DPC thread, to avoid possible panic when calling sched_bind() during bootstrap before APs are launched. END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-22T07:26:05.000000Z K 7 svn:log V 351 Turns out that we're asking for the MAC address at a bad time in the attach routine. Go ahead and ask for it in the probe routine and be just as wrong as all the other cards that ask for it there... # this gets the RTL8019 on a SBC at work fully functional. 6.0 still treats # the 8019 as a generic NE-2000, so these changes aren't relevant there. END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-22T07:43:20.000000Z K 7 svn:log V 18 Add missing softc END K 10 svn:author V 7 trhodes K 8 svn:date V 27 2005-10-22T10:24:53.000000Z K 7 svn:log V 137 A better, more correct explination of NO_SHARED. This could probably use a quick touch up, but at least it's correct. Requested by: ru END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T14:31:01.000000Z K 7 svn:log V 89 Introduce polling(4) capability for bge(4). Submitted by: Oleg Bulyzhin END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T14:38:52.000000Z K 7 svn:log V 45 Add bge(4) to the list of supported devices. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T14:50:27.000000Z K 7 svn:log V 277 In in_addprefix() compare not only route addresses, but their masks, too. This fixes problem when connected prefixes overlap. Obtained from: OpenBSD (rev. 1.40 by claudio); [ I came to this fix myself, and then found out that OpenBSD had already fixed it the same way.] END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2005-10-22T14:54:02.000000Z K 7 svn:log V 85 Fix build after in6_joingroup change. It remains unclear if DAD breaks CARP or not. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2005-10-22T17:50:45.000000Z K 7 svn:log V 124 Fix obvious copy'n'paste-O in rev.1.36 While here nit style. PR: bin/87783 Submitted by: Mats Palmgren MFC after: 1 week END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-10-22T18:46:38.000000Z K 7 svn:log V 538 Use of the ZERO_COPY_SOCKETS options can result in an unusual state that vm_object_backing_scan() was not written to handle. Specifically, a wired page within a backing object that is shadowed by a page within the shadow object. Handle this state by removing the wired page from the backing object. The wired page will be freed by socow_iodone(). Stop masking errors: If a page is being freed by vm_object_backing_scan(), assert that it is no longer mapped rather than quietly destroying any mappings. Tested by: Harald Schmalzbauer END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-10-22T20:02:59.000000Z K 7 svn:log V 94 Verify that access to the given address is allowed from user-space. Discussed with: rwatson@ END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T20:47:38.000000Z K 7 svn:log V 48 Fix typo from last commit. Submitted by: simon END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T21:20:17.000000Z K 7 svn:log V 863 Sync with HEAD. Revisions merged: - rev. 1.76. Removed FreeBSD 4.x code. - rev. 1.77, 1.79. Together with rev. 1.71 (already merged) this fixes problems when some code is executed in driver when em_process_receive_interrupts() drops lock. This can occur at runtime, when polling(4) mode is changed to interrupt driver or vise versa, but more likely this can happen when administrator issues some ifconfig commands. - rev. 1.78. In em_process_receive_interrupts(), call bus_dmamap_sync() for the descriptors set each time we modify one descriptor, instead of doing it only at the function exit. - rev. 1.80. Loop in em_intr() until interrupt cause register is clear, don't mask overrun interrupt. - rev. 1.81. Several locking and other fixes. See particular revision logs for more detailed information. Approved by: re END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-22T22:07:20.000000Z K 7 svn:log V 863 Sync with HEAD. Revisions merged: - rev. 1.76. Removed FreeBSD 4.x code. - rev. 1.77, 1.79. Together with rev. 1.71 (already merged) this fixes problems when some code is executed in driver when em_process_receive_interrupts() drops lock. This can occur at runtime, when polling(4) mode is changed to interrupt driver or vise versa, but more likely this can happen when administrator issues some ifconfig commands. - rev. 1.78. In em_process_receive_interrupts(), call bus_dmamap_sync() for the descriptors set each time we modify one descriptor, instead of doing it only at the function exit. - rev. 1.80. Loop in em_intr() until interrupt cause register is clear, don't mask overrun interrupt. - rev. 1.81. Several locking and other fixes. See particular revision logs for more detailed information. Approved by: re END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T00:16:41.000000Z K 7 svn:log V 1206 Cleanups and support code for importing smart battery support. * Use ACPI_BATT_UNKNOWN instead of constants * Use maxunit instead of a count of devices since we may have sparse battery devices in the future. Only userland should be using unit numbers anyway, so provide a translation function. (Kernel use of batteries should be restricted to looking up a device_t and calling methods directly. * Don't check acpi_BatteryIsPresent() in acpi_battery. Leave it up to the hardware-specific driver (i.e. cmbat) since smart batteries seem to not report the "battery present" flag. * Convert mA to mW if the battery uses those units. CM-batteries only used mW so this deficiency went unnoticed. * Clean strings reported in the battery info from any control chars. * Only dereference the unit from ioctl_arg if the full struct is present. Unit wouldn't have been used later if it wasn't present but this is cleaner. Translate the unit if it's not ACPI_BATTERY_ALL_UNITS. * bzero structs before returning them to usermode for future compat. Most of this work was submitted by Hans Petter Selasky and then majorly reworked by myself. Submitted by: Hans Petter Selasky END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T00:20:13.000000Z K 7 svn:log V 565 Import ACPI smart battery support. Newer systems (Acer, mostly) do not support the CM-battery interface. Smart batteries can eventually be supported without ACPI via a separate SMBus interface. The ACPI interface uses the embedded controller for reading/writing to the SMBus, and normal ASL definitions for locating the battery controller (since SMBus can't be enumerated.) Also import definitions for the smart battery interface. This was written by Hans Petter Selasky with minor cleanups from myself. Submitted by: Hans Petter Selasky END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T00:22:02.000000Z K 7 svn:log V 33 Hook acpi_smbat up to the build. END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T00:28:39.000000Z K 7 svn:log V 214 Add a hack to get around PCI link devices that report "present" but not "functional" (i.e., if they are disabled). We should probe them anyway since we may enable them later. Tested by: thompsa MFC after: 3 days END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T00:55:56.000000Z K 7 svn:log V 16 Whitespace fix. END K 10 svn:author V 3 tjr K 8 svn:date V 27 2005-10-23T01:37:25.000000Z K 7 svn:log V 65 Document incorrect handling of multibyte characters. PR: 87724 END K 10 svn:author V 4 csjp K 8 svn:date V 27 2005-10-23T01:44:08.000000Z K 7 svn:log V 273 Before we export network interface data through the ifmibdata structure, OR the flags bits with the driver managed status flags. This fixes an issue where RUNNING flags would not be reported to processes, which conflicts with the flags information provided by ifconfig(8). END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-10-23T02:36:58.000000Z K 7 svn:log V 222 MFC ng_ether support for if_bridge and cleanup of bridge hooks. bridgestp.c; r1.8 if_bridge.c; r1.25, 1.27 if_bridgevar.h; r1.5 if_ethersubr.c; r1.201, 1.202, 1.206 ng_ether.c; r1.52 - 1.54 Approved by: re (scottl) END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-10-23T02:37:28.000000Z K 7 svn:log V 225 MFC ng_ether support for if_bridge and cleanup of bridge hooks. bridgestp.c; r1.8 if_bridge.c; r1.25, 1.27 if_bridgevar.h; r1.5 if_ethersubr.c; r1.201, 1.202, 1.206 ng_ether.c; r1.52 - 1.54 Approved by: re (scottl) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2005-10-23T03:34:43.000000Z K 7 svn:log V 276 Remove a note that claims that the debugging options are turned on by default, to match the reality that these has been turned off on the 6-STABLE branch since 6.0-BETA6. This is a direct commit against RELENG_6 since it is not applicable for HEAD. Approved by: re (scottl) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2005-10-23T03:36:03.000000Z K 7 svn:log V 82 MFR6: Remove the "6.x is slow" note to reflect reality. Approved by: re (scottl) END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T03:59:52.000000Z K 7 svn:log V 35 Add member fields for POSIX timer. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T04:12:26.000000Z K 7 svn:log V 266 1. Make ksiginfo_alloc and ksiginfo_free public. 2. Introduce flags KSI_EXT and KSI_INS. The flag KSI_EXT allows a ksiginfo to be managed by outside code, the KSI_INS indicates sigqueue_add should directly insert passed ksiginfo into queue other than copy it. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T04:22:56.000000Z K 7 svn:log V 498 Implement POSIX timers. Current only CLOCK_REALTIME and CLOCK_MONOTONIC clock are supported. I have plan to merge XSI timer ITIMER_REAL and other two CPU timers into the new code, current three slots are available for the XSI timers. The SIGEV_THREAD notification type is not supported yet because our sigevent struct lacks of two member fields: sigev_notify_function sigev_notify_attributes I have found the sigevent is used in AIO, so I won't add the two members unless the AIO code is adjusted. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T04:26:10.000000Z K 7 svn:log V 32 Regen for POSIX timer syscalls. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T05:36:41.000000Z K 7 svn:log V 175 Change _POSIX_REALTIME_SIGNALS to 200112L to indicates we support realtime signals. Define missing _POSIX_TIMERS, it will be changed to 200112L once struct sigevent is fixed. END K 10 svn:author V 3 alc K 8 svn:date V 27 2005-10-23T07:41:56.000000Z K 7 svn:log V 229 Previously, nothing prevented the page that was returned by pmap_extract() from being reclaimed before it was wired. Use pmap_extract_and_hold() instead of pmap_extract() and retain the hold on the page until it has been wired. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-10-23T09:05:51.000000Z K 7 svn:log V 70 Typo. PR: misc/87679 Submitted by: Alan Amesbury END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T10:11:46.000000Z K 7 svn:log V 46 Make kernel structures invisible to userland. END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-10-23T10:43:14.000000Z K 7 svn:log V 124 Implement for FreeBSD 3 32 binaries: sigaction, sigprocmask, sigpending, sigvec, sigblock, sigsetmask, sigsuspend, sigstack END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-10-23T10:43:39.000000Z K 7 svn:log V 6 regen END K 10 svn:author V 7 stefanf K 8 svn:date V 27 2005-10-23T11:19:56.000000Z K 7 svn:log V 20 Document [:blank:]. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T12:19:08.000000Z K 7 svn:log V 87 Make p_itimers as a pointer, so file sys/proc.h does not need to include sys/timers.h. END K 10 svn:author V 3 yar K 8 svn:date V 27 2005-10-23T14:06:53.000000Z K 7 svn:log V 361 Don't be lazy, set the "command" variable even if /etc/defaults/rc.conf will provide foo_program, too. By specifying "command" we explicitly say that we're going to rely on rc.subr(8) default methods, and rc.subr(8) will take advantage of this soon. The majority of our rc.d scripts already set "command" if appropriate, so fix just the non-compliant handful. END K 10 svn:author V 4 csjp K 8 svn:date V 27 2005-10-23T16:15:02.000000Z K 7 svn:log V 294 Restore the documentation about uid, gid or prison based rules requiring that debug.mpsafenet be set to 0. It is still possible for dead locks to occur while these filtering options are used due to the layering violation inherent in their implementation. Discussed: -current, rwatson, glebius END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-10-23T16:52:13.000000Z K 7 svn:log V 68 MNT_JAILDEVFS is not used anymore. Mark it as spare. OK'ed by: phk END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-23T18:22:16.000000Z K 7 svn:log V 234 MFC: 1.2. Mempage size needs to be 1k rather than 4k. Prior versions of FreeBSD used this value and it was recently increased to 4k. This broke the two 16-bit card at boot scenario. Revert it back to 1k. Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-23T18:23:27.000000Z K 7 svn:log V 54 MF RELENG_6: (1.2) reduce the memory page size to 1k. END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T19:31:18.000000Z K 7 svn:log V 32 Add prototype to be consistent. END K 10 svn:author V 5 maxim K 8 svn:date V 27 2005-10-23T19:37:55.000000Z K 7 svn:log V 68 s/RADUIS/RADIUS/ Submitted by: jisakiel@yahoo.es MFC after: 1 week END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-23T19:38:06.000000Z K 7 svn:log V 136 Like acpi_throttle, set frequency to 100% in attach. Some BIOSen may set this value lower, making the system quite slow after booting. END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-10-23T22:30:07.000000Z K 7 svn:log V 347 If we have been called from ether_ifdetach() then do not try and clear the promisc flag from the member interface, this is a no-op anyway since the interface is disappearing. The driver may have already released its resources such as miibus and this is likely to panic the kernel. Submitted and tested by: Wojciech A. Koszek MFC after: 2 weeks END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-23T22:59:33.000000Z K 7 svn:log V 57 Don't touch last overrun if signal was already on queue. END K 10 svn:author V 6 cognet K 8 svn:date V 27 2005-10-23T23:09:14.000000Z K 7 svn:log V 25 Unbreak for !__XSCALE__. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-23T23:58:23.000000Z K 7 svn:log V 22 Add a 'clean' target. END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-10-24T00:00:00.000000Z K 7 svn:log V 42 include opt_compat.h to unbreak the build END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T01:36:16.000000Z K 7 svn:log V 125 Add vim syntax highlighting support to the send-pr(1) utility. PR: 35333 Submitted by: Hendrik Scholz END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T04:31:06.000000Z K 7 svn:log V 69 Vendor import of Intel ACPI-CA 20041119 with system includes fixups. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T04:31:06.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r151600, 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 2005-10-24T04:31:07.000000Z K 7 svn:log V 90 This commit was manufactured by cvs2svn to create tag 'acpica-vendor-sys-r20041119sysinc'. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T04:35:20.000000Z K 7 svn:log V 79 Fix conflicts of import of Intel ACPI-CA 20041119 with system includes fixups. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T04:36:14.000000Z K 7 svn:log V 77 Add a commented out version of what was done for the r20041119sysinc import. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-10-24T04:40:37.000000Z K 7 svn:log V 54 We no longer need INCLUDES+= -I$S/contrib/dev/acpica. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-24T05:05:09.000000Z K 7 svn:log V 149 Fix handling of message table messages that got broken when I converted NdisWriteErrorLogEntry() to use the RtlXXX unicode/ansi conversion routines. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-24T05:06:19.000000Z K 7 svn:log V 71 MFC: fix handling of message table strings in NdisWriteErrorLogEntry() END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:16:41.000000Z K 7 svn:log V 77 Add functions pthread_mutexattr_setpshared and pthread_mutexattr_getpshared. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:20:04.000000Z K 7 svn:log V 208 Export following functions: _pthread_mutexattr_getpshared _pthread_mutexattr_setpshared pthread_condattr_getpshared pthread_condattr_setpshared pthread_mutexattr_getpshared pthread_mutexattr_setpshared END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-24T05:34:21.000000Z K 7 svn:log V 240 If no AC line devices are found, go ahead and notify devd that the system is on AC power (i.e. not a laptop). This allows power_profile to run once for desktop systems as well, for instance, to set C3 or CPU frequency. MFC after: 2 weeks END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:35:14.000000Z K 7 svn:log V 74 Add function pthread_condattr_setpshared and pthread_condattr_getpshared. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:35:40.000000Z K 7 svn:log V 77 Add functions pthread_mutexattr_setpshared and pthread_mutexattr_getpshared. END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2005-10-24T05:35:41.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 cvs2svn K 8 svn:date V 27 2005-10-24T05:35:42.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_6_0'. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:37:21.000000Z K 7 svn:log V 268 Export following functions: _pthread_condattr_getpshared _pthread_condattr_setpshared _pthread_mutexattr_getpshared _pthread_mutexattr_setpshared pthread_condattr_getpshared pthread_condattr_setpshared pthread_mutexattr_getpshared pthread_mutexattr_setpshared END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:48:32.000000Z K 7 svn:log V 61 Include files thr_condattr_pshared.c and thr_mattr_pshare.c. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-24T05:53:54.000000Z K 7 svn:log V 173 Add prototype for following functions, plus tab fixes. pthread_condattr_getpshared pthread_condattr_setpshared pthread_mutexattr_getpshared pthread_mutexattr_setpshared END K 10 svn:author V 4 ceri K 8 svn:date V 27 2005-10-24T08:15:58.000000Z K 7 svn:log V 61 Note that bugmaster would like to review commits to send-pr. END K 10 svn:author V 5 maxim K 8 svn:date V 27 2005-10-24T08:53:21.000000Z K 7 svn:log V 61 o Grammar. Submitted by: Ulrich Spoerlein MFC after: 1 week END K 10 svn:author V 3 bde K 8 svn:date V 27 2005-10-24T14:08:36.000000Z K 7 svn:log V 1836 Moved the optimization for tiny x from __kernel_{cos,sin}[f](x) to {cos_sin}[f](x) so that x doesn't need to be reclassified in the "kernel" functions to determine if it is tiny (it still needs to be reclassified in the cosine case for other reasons that will go away). This optimization is quite large for exponentially distributed x, since x is tiny for almost half of the domain, but it is a pessimization for uniformally distributed x since it takes a little time for all cases but rarely applies. Arg reduction on exponentially distributed x rarely gives a tiny x unless the reduction is null, so it is best to only do the optimization if the initial x is tiny, which is what this commit arranges. The imediate result is an average optimization of 1.4% relative to the previous version in a case that doesn't favour the optimization (double cos(x) on all float x) and a large pessimization for the relatively unimportant cases of lgamma[f][_r](x) on tiny, negative, exponentially distributed x. The optimization should be recovered for lgamma*() as part of fixing lgamma*()'s low-quality arg reduction. Fixed various wrong constants for the cutoff for "tiny". For cosine, the cutoff is when x**2/2! == {FLT or DBL}_EPSILON/2. We round down to an integral power of 2 (and for cos() reduce the power by another 1) because the exact cutoff doesn't matter and would take more work to determine. For sine, the exact cutoff is larger due to the ration of terms being x**2/3! instead of x**2/2!, but we use the same cutoff as for cosine. We now use a cutoff of 2**-27 for double precision and 2**-12 for single precision. 2**-27 was used in all cases but was misspelled 2**27 in comments. Wrong and sloppy cutoffs just cause missed optimizations (provided the rounding mode is to nearest -- other modes just aren't supported). END K 10 svn:author V 3 ups K 8 svn:date V 27 2005-10-24T14:23:04.000000Z K 7 svn:log V 178 Only set B_RAM (Read ahead mark) on an incore buffers if we can lock it. This fixes a race condition caused by the unlocked write access to the b_flags field. MFC after: 3 days END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T15:21:36.000000Z K 7 svn:log V 404 - Rename 'traceall' to 'alltrace' so that the 'tr' shortcut for 'trace' still works. Also, this is consistent with 'show pcpu' vs 'show allpcpu'. (And 'show allstacks' on OS X for that matter.) - Add 'bt' as an alias for 'trace'. We already have a 'where' alias as well, so this makes it easier for gdb-wired hands to work in ddb. Ok'd by: rwatson (1) Requested by: scottl (2) MFC after: 1 day END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T15:57:27.000000Z K 7 svn:log V 109 Spell hierarchy correctly in comments. Submitted by: Wojciech A. Koszek dunstan at freebsd dot czest dot pl END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T15:58:21.000000Z K 7 svn:log V 99 Revert previous change to this file. I accidentally committed while fixing spelling in a comment. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-24T17:47:47.000000Z K 7 svn:log V 220 Do not allow ndis_ticktask() to run after ndis_halt_nic() has been called. (It may have been queued up in one of the workitem threads, and letting it fire after the NIC has been halted will cause a crash in some cases.) END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-24T17:48:47.000000Z K 7 svn:log V 70 MFC: don't allow ndis_ticktask() to run after the NIC has been halted END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-24T18:30:57.000000Z K 7 svn:log V 74 Invert the check logic. No functional change, but I prefer this version. END K 10 svn:author V 3 njl K 8 svn:date V 27 2005-10-24T18:34:54.000000Z K 7 svn:log V 160 Create the devd thread after we have called daemon(). Otherwise, it would be killed when the parent exits. Submitted by: Rudolf Cejka END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T20:14:24.000000Z K 7 svn:log V 147 Don't panic if a spin lock is initialized that isn't in our static order list. Just warn about it instead. Requested by: scottl MFC after: 1 day END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T20:15:23.000000Z K 7 svn:log V 114 Document in #ifdef notnow code the actions that proc_fini would need to take if struct procs were actually freed. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T20:31:04.000000Z K 7 svn:log V 124 - Various small whitespace and style nits. - Use PCPU_GET(cpumask) in preference to 1 << PCPU_GET(cpuid) in a few places. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T20:52:26.000000Z K 7 svn:log V 217 Use xchg in Xcpustop to close a race and make cpustop_restartfunc truly one-shot in the SMP case (before using the simple mov / cmp / mov sequence could allow multiple CPUs to execute the restart function on resume). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T20:53:52.000000Z K 7 svn:log V 202 When restarting the BSP during cpu_reset() use a membar to ensure that the updated cpustop_restartfunc is seen when the BSP resumes execution. This matches the membar already present in restart_cpus(). END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-10-24T21:04:19.000000Z K 7 svn:log V 1220 Rename the KDB_STOP_NMI kernel option to STOP_NMI and make it apply to all IPI_STOP IPIs. - Change the i386 and amd64 MD IPI code to send an NMI if STOP_NMI is enabled if an attempt is made to send an IPI_STOP IPI. If the kernel option is enabled, there is also a sysctl to change the behavior at runtime (debug.stop_cpus_with_nmi which defaults to enabled). This includes removing stop_cpus_nmi() and making ipi_nmi_selected() a private function for i386 and amd64. - Fix ipi_all(), ipi_all_but_self(), and ipi_self() on i386 and amd64 to properly handle bitmapped IPIs as well as IPI_STOP IPIs when STOP_NMI is enabled. - Fix ipi_nmi_handler() to execute the restart function on the first CPU that is restarted making use of atomic_readandclear() rather than assuming that the BSP is always included in the set of restarted CPUs. Also, the NMI handler didn't clear the function pointer meaning that subsequent stop and restarts could execute the function again. - Define a new macro HAVE_STOPPEDPCBS on i386 and amd64 to control the use of stoppedpcbs[] and always enable it for i386 and amd64 instead of being dependent on KDB_STOP_NMI. It works fine in both the NMI and non-NMI cases. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-10-24T22:32:19.000000Z K 7 svn:log V 397 Use the "builtin" shell function to make sure that the requested command is handled as a shell function. This avoids the following peculiar behaviour when /usr/bin is on a case-insensitive filesystem: # READ foo (... long pause, depending upon the amount of swap space available ...) sh: Resource temporarily unavailable. Reported by: I can't remember; someone on IRC. MFC after: 1 week END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-24T23:54:39.000000Z K 7 svn:log V 713 Back out most of 1.84. It was unwise to force debug kernels to always be installed. It should have been optional to install a non-debug one, just like it was formerly optional to install a debug one. In order to do that, most of 1.84 had to go. Instead, make installing the debug kernel the default, but create a new option INSTALL_NODEBUG for those people that have small / partitions and good source control habits. This preserves the behavior of 1.84 while allowing it to be overriden for people (like me) that do not have the time to upgrade to get a bigger / and also don't have time for stupid makefile tricks when upgrading their older system, but still want a kernel.debug around if things go south. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2005-10-25T00:09:58.000000Z K 7 svn:log V 40 Put pthread_condattr_init sorted order. END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-10-25T03:49:24.000000Z K 7 svn:log V 460 Preliminary support for Xircom Credit Card Adapter. Not to be confused with the Credit Card Adapter II and its spawn (which the xe driver supports). These changes get my card probing and attaching. I recently won one of these (and a NEC rebadged version) in an lot auction. The NEC didn't work, so I took it apart and found the MB86960A chip and then modified if_fe_pccard.c to attach. I can't test this card further since I have no dongle for this card. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2005-10-25T03:56:21.000000Z K 7 svn:log V 606 - Convert hme(4) to use TX side bus_dmamap_load_mbuf_sg(9). - Move hardware counter reading/zeroing to hme_tick(). This saves 8 register access per interrupt. [1] - Use imax macro for getting max. argument between two integers. - Invoke bus_dmamap_sync(9) first before freeing mbuf. - Check driver queue first to reduce locking operation in hme_start_locked() and interrupt handler. - Simplyfy watchdog timer setup in interrupt handler. - Don't log normal errors such as RX overrun. If we have DMA stuck condition, reinitialize the driver and log it. Reviewed by: marius Obtained from: OpenBSD [1] END K 10 svn:author V 7 yongari K 8 svn:date V 27 2005-10-25T04:01:41.000000Z K 7 svn:log V 33 Connect es137x build on sparc64. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2005-10-25T04:05:48.000000Z K 7 svn:log V 53 Remove "nodevice snd_es137x" as it is supported now. END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2005-10-25T04:32:42.000000Z K 7 svn:log V 33 snd_es137x now works on sparc64. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-25T04:53:29.000000Z K 7 svn:log V 585 Modify the pci_cfgdisable() routine to bring it more in line with other OSes (Solaris, Linux, VxWorks). It's not necessary to write a 0 to the config address register when using config mechanism 1 to turn off config access. In fact, it can be downright troublesome, since it seems to confuse the PCI-PCI bridge in the AMD8111 chipset and cause it to sporadically botch reads from some devices. This is the cause of the missing USP ports problem I was experiencing with my Sun Opteron system. Also correct the case for mechanism 2: it's only necessary to write a 0 to the ENABLE port. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-25T05:32:44.000000Z K 7 svn:log V 131 Undo the change to pci_cfgdisable() on i386 for now. It seems to fix the amd64 case, but makes the i386 case fail even more often. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2005-10-25T06:53:45.000000Z K 7 svn:log V 1723 Add a 1 microsecond delay in pci_add_children(), right before the read of the PCIR_HDRTYPE register. It's the value returned from this read access that determines whether or not we decide a device is present at the current slot index. For some reason that I can't adequately explain, this read fails on my machine when probing the USB controller on my machine (which happens a multifunction device at slot index 3 hung off the PCI-PCI bridge on the AMD8111 (bus index 1)). The read will return 0xFF even though it should return 0x80 to indicate the presence of a multifunction device. As near as I can tell, there's some timing issue involved with reading the 'dead' slot indexes 0 through 2 that causes the read of the actual device at slot 3 to fail. I tried a couple of different tricks to correct the problem (the patch to amd64/pci/pci_cfgreg.c fixes it for the amd64 arch), but adding this delay is the only thing that always allows the USB controllers to be correctly probed 100% of the time. Whatever the problem is, it's likely confined to the AMD8111 chipset. However, a simple 1us delay is fairly harmless and should have no side effects for other hardware. I consider this to be voodoo, but it's fairly benign voodoo and it makes my USB keyboard and mouse work again. Note that this is the second time that I've had to resort to a 1us delay to fix a PCI-related problem with this AMD8111/Opteron system (the first being a fix I made a while back to the NDISulator). It's possible the delay really belongs in the cfgreg code itself, or that pci_cfgreg needs some custom hackery for an errata in the 8111. (I checked but couldn't find any documented errata on AMD's site that could account for these problems.) END K 10 svn:author V 2 ru K 8 svn:date V 27 2005-10-25T09:05:07.000000Z K 7 svn:log V 855 Refactor (some more) installation of kernel and module objects. Try to make everyone happy: David (to have debug kernels installed by default), Warner (to be able to override that), and myself (for actually making it all work and to be consistent). Now, if kernel was configured for debugging (through DEBUG=-g in the kernel config file or "config -g"), doing "make install" will install debug versions of kernel and module objects with their canonical names, kernel.debug -> /boot/kernel/kernel if_fxp.ko.debug -> /boot/kernel/if_fxp.ko Installing a kernel not configured for debugging, or debug kernel with INSTALL_NODEBUG variable defined, will install non-debug kernel and module objects. Also, restore the install.debug and reinstall.debug targets that are part of the existing API (they cause some additional gdb(1) scripts to be installed). END K 10 svn:author V 3 tjr K 8 svn:date V 27 2005-10-25T09:18:50.000000Z K 7 svn:log V 110 Fix 'grep -Fw' for encodings other than UTF-8 (RH bug #161700). PR: 87969 Obtained from: Fedora (Tim Waugh) END K 10 svn:author V 3 bde K 8 svn:date V 27 2005-10-25T12:13:37.000000Z K 7 svn:log V 1853 More fixes for arg reduction near pi/2 on systems with broken assignment to floats (mainly i386's). All errors of more than 1 ulp for float precision trig functions were supposed to have been fixed; however, compiling with gcc -O2 uncovered 18250 more such errors for cosf(), with a maximum error of 1.409 ulps. Use essentially the same fix as in rev.1.8 of k_rem_pio2f.c (access a non-volatile variable as a volatile). Here the -O1 case apparently worked because the variable is in a 2-element array and it takes -O2 to mess up such a variable by putting it in a register. The maximum error for cosf() on i386 with gcc -O2 is now 0.5467 (it is still 0.5650 with gcc -O1). This shows that -O2 still causes some extra precision, but the extra precision is now good. Extra precision is harmful mainly for implementing extra precision in software. We want to represent x+y as w+r where both "+" operations are in infinite precision and r is tiny compared with w. There is a standard algorithm for this (Knuth (1981) 4.2.2 Theorem C), and fdlibm uses this routinely, but the algorithm requires w and r to have the same precision as x and y. w is just x+y (calculated in the same finite precision as x and y), and r is a tiny correction term. The i386 gcc bugs tend to give extra precision in w, and then using this extra precision in the calculation of r results in the correction mostly staying in w and being missing from r. There still tends to be no problem if the result is a simple expression involving w and r -- modulo spills, w keeps its extra precision and r remains the right correction for this wrong w. However, here we want to pass w and r to extern functions. Extra precision is not retained in function args, so w gets fixed up, but the change to the tiny r is tinier, so r almost remains as a wrong correction for the right w. END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-10-25T12:49:56.000000Z K 7 svn:log V 195 In ofw_parsedev() check the return value of malloc() and protect against a NULL pointer dereference when ofw_parsedev() is called with a NULL path argument. Tested on: powerpc (grehan), sparc64 END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-10-25T12:51:49.000000Z K 7 svn:log V 496 - Add a workaround for the fact that OFW doesn't guarantee that devices can be opened multiple times simultaneously but we're expected to be able to do so by the rest of the loader. This fixes booting from disks attached to the on-board SCSI controller of Sun Ultra 1 (previously this triggered a trap) and probably also of AX1115 boards. - While here, remove unused variables and add empty lines where style(9) requires such. Tested on: powerpc (grehan), sparc64 MFC after: 1 month END K 10 svn:author V 4 ceri K 8 svn:date V 27 2005-10-25T13:45:07.000000Z K 7 svn:log V 138 gmirror.8: Note the default balancing algorithm and stripe size. geom_mirror.c: Slightly friendlier error message. Reviewed by: pjd END