ƒ´]123393 174 187 161 237 202 465 188 113 118 263 225 258 142 145 132 122 147 729 127 116 236 99 112 272 201 99 229 128 116 154 130 386 378 228 134 99 140 152 227 293 148 928 325 293 272 137 272 177 195 201 1905 403 125 180 169 105 242 247 141 275 234 149 181 389 223 166 198 168 177 165 383 296 200 170 251 664 297 290 156 229 163 3586 3515 161 1038 150 155 127 156 275 300 654 266 738 183 863 877 162 250 317 166 268 254 354 352 174 160 239 208 325 142 145 1844 733 499 1853 111 124 263 143 153 465 203 124 129 141 141 279 180 170 132 131 198 249 379 220 432 324 144 226 610 296 174 363 154 483 267 280 448 222 349 390 609 166 153 126 122 310 162 373 139 146 212 131 175 267 187 284 373 180 136 136 142 127 169 K 10 svn:author V 5 mikeh K 8 svn:date V 27 2003-12-10T16:33:17.000000Z K 7 svn:log V 93 Add reference to standards/55112 for next time SHLIB_MAJOR is bumped. Suggested by: wollman END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T16:46:08.000000Z K 7 svn:log V 69 MFP4: really fix resp issue, and don't trim trailing spaces (#43727) END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T16:46:08.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r123394, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 3 ume K 8 svn:date V 27 2003-12-10T18:17:05.000000Z K 7 svn:log V 109 validate the argument for multicast routing socket options correctly. Obtained from: KAME MFC after: 3 days END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2003-12-10T18:48:05.000000Z K 7 svn:log V 368 interpvnodelabel can be NULL in mac_test_execve_transition(). This only turned up when running mac_test side by side with a transitioning policy such as SEBSD. Make the NULL testing match mac_test_execve_will_transition(), which already tested the vnode label pointer for NULL. Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories END K 10 svn:author V 3 ume K 8 svn:date V 27 2003-12-10T19:02:03.000000Z K 7 svn:log V 96 MFC 1.70: link-local multicast address must be converted to KAME specific embeded scopeid form. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T19:08:09.000000Z K 7 svn:log V 21 Fix typo in comment. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T19:10:27.000000Z K 7 svn:log V 26 Trim trailing whitespace. END K 10 svn:author V 8 dwmalone K 8 svn:date V 27 2003-12-10T19:24:11.000000Z K 7 svn:log V 165 Fix a couple of warnings (const a function parameter and change some ints to size_ts to better match the types of variables they are used with). Glanced at by: des END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T19:28:37.000000Z K 7 svn:log V 132 Correct usage of MAXCPU. The MAXCPU value itself is not a valid CPU ID value as it is a count of maximum values. Reported by: bde END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T19:29:39.000000Z K 7 svn:log V 165 Use NAPICID for the maximum number of local APICs rather than MAXCPU when doing the HTT fixup. This is a step closer to possibly having an apic.ko module someday. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T19:30:42.000000Z K 7 svn:log V 50 The DEV_ACPI option is no longer used, so g/c it. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2003-12-10T19:30:52.000000Z K 7 svn:log V 50 Still-born. These landed in dev/kbtr in the end. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-10T21:33:07.000000Z K 7 svn:log V 40 Delete old and unused APIC_IRQ defines. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T21:43:10.000000Z K 7 svn:log V 30 s/u_(int|long)\>/unsigned \1/ END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:08:37.000000Z K 7 svn:log V 53 Update file locations for syscall tables to copy to. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T22:11:51.000000Z K 7 svn:log V 636 Fix a couple of issues in the interrupt code: - Replace overly-complicated (and buggy) -a logic with a much simpler version: -a causes all interrupts to be displayed, otherwise only those that have occurred are displayed. This removes the need for any MD code. - Instead of just making sure intrcnt is large enough, figure out the exact size it needs to be. We derive nintr from this number, and we don't want to risk printing garbage. Note that on sparc64, we end up printing garbage anyway because the names of non-existent interrupts are left uninitialized by the kernel. Tested on: alpha, i386, sparc64 END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T22:12:06.000000Z K 7 svn:log V 35 Document the simpler -a semantics. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T22:14:32.000000Z K 7 svn:log V 24 Remove debugging printf END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:16:42.000000Z K 7 svn:log V 141 Previous commit also changed the sendmsg prototype to something more closely matching reality. I did not actually mean to commit that yet. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:18:54.000000Z K 7 svn:log V 6 Regen END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-10T22:19:19.000000Z K 7 svn:log V 20 Whitespace cleanup. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:31:46.000000Z K 7 svn:log V 177 The osigpending, oaccept, orecvfrom and ogetdirentries entries were accidently being compiled in as standard. These are part of the set of unimplemented COMPAT_43 syscall set. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:33:27.000000Z K 7 svn:log V 106 Add missing extattr_list_fd(), extattr_list_file(), extattr_list_link() and kse_switchin() syscall slots. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:33:45.000000Z K 7 svn:log V 6 Regen END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:47:02.000000Z K 7 svn:log V 134 Use ffs(x) == popcnt(x ^ (x - 1)) to implement 64 bit ffsl(). gcc's ffs() builtin uses this already but truncates the upper 32 bits. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:51:40.000000Z K 7 svn:log V 34 Use gcc's superior ffs() builtin. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T22:59:03.000000Z K 7 svn:log V 22 Fix last second typo. END K 10 svn:author V 3 sos K 8 svn:date V 27 2003-12-10T23:06:24.000000Z K 7 svn:log V 62 Finetune last commit, we need to take care of empty channels. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-10T23:16:32.000000Z K 7 svn:log V 36 Use the correct syscall table limit END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T01:05:09.000000Z K 7 svn:log V 291 Assimilate ia64 back into the fold with the common freebsd32/ia32 code. The split-up code is derived from the ia64 code originally. Note that I have only compile-tested this, not actually run-tested it. The ia64 side of the force is missing some significant chunks of signal delivery code. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T01:09:51.000000Z K 7 svn:log V 283 Move the ia32_sigtramp.S file back under amd64/. This interfaces closely with the sendsig code in the MD area. It is not safe to assume that all the register conventions will be the same. Also, the way of producing 32 bit code (.code32 directives) in this file is amd64 specific. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T02:34:49.000000Z K 7 svn:log V 133 Just implementing a 32 bit version of gettimeofday() was smaller than the wrapper code. And it doesn't use the stackgap as a bonus. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T02:36:07.000000Z K 7 svn:log V 40 Mark freebsd32_gettimeofday() as mpsafe END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T02:36:37.000000Z K 7 svn:log V 6 regen END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T02:47:35.000000Z K 7 svn:log V 46 MFi386: (jhb): Deal with MAXCPU etc correctly END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T02:48:25.000000Z K 7 svn:log V 58 MFi386: remove APIC_IRQ* defines that are no longer used. END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-12-11T03:42:40.000000Z K 7 svn:log V 129 MFp4: - Introduce sbp_targ_login instead of sbp_targ_istate. - Implement reconnection and logout. - Freeze simq while bus reset. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-11T03:48:31.000000Z K 7 svn:log V 199 - Add the mp_topology() function to mp_machdep.c. This function builds up the smp_topology structure to reflect the layout of HTT enabled machines. - Add a prototype for mp_topology() in smp.h END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-11T03:49:02.000000Z K 7 svn:log V 55 - Call mp_topology() after all CPUs have been probed. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-11T03:57:10.000000Z K 7 svn:log V 834 - Add support for CPU groups to ule. All SMT cores on the same physical cpu are added to a group. - Don't place a cpu into the kseq_idle bitmask until all cpus in that group have idled. - Prefer idle groups over idle group members in the new kseq_transfer() function. In this way we will prefer to balance load across full cores rather than add further load a partial core. - Before a cpu goes idle, check the other group members for threads. Since SMT cpus may freely share threads, this is cheap. - SMT cores may be individually pinned and bound to now. This contrasts the old mechanism where binding or pinning would have allowed a thread to run on any available cpu. - Remove some unnecessary logic from sched_switch(). Priority propagation should be properly taken care of in sched_prio() now. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-11T04:00:49.000000Z K 7 svn:log V 231 - In sched_switch(), if a thread has been assigned, don't touch the runqueues or load. These things have already been taken care of in sched_bind() which should be the only place that we're switching in an assigned thread. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-11T04:23:39.000000Z K 7 svn:log V 199 - Don't let the pctcpu rate limiter throttle us if we have recorded over SCHED_CPU_TICKS ticks. This was allowing processes to display (1/SCHED_CPU_TIME * 100) % more cpu than they had used. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T04:47:53.000000Z K 7 svn:log V 177 CACHE_LINE_SIZE is 64 on athlon and amd64 chips, not 32. This should probably be 128 since that is what the hardware prefetch fill size is on both the p3, p4 and athlon* cpus. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T04:49:37.000000Z K 7 svn:log V 43 Only define CACHE_LINE_SIZE in one place.. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T07:46:08.000000Z K 7 svn:log V 179 Revert part of revision 1.74 after bde reminded me of a detail I'd forgotten about how sysctl works. This removes a potential (though not very likely) race that 1.74 introduced. END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-12-11T08:34:07.000000Z K 7 svn:log V 85 Remove uses of GIANT_LOCK and replace with appropriate thread and thread list locks. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-12-11T09:53:25.000000Z K 7 svn:log V 102 Fixed English error in previous commit. Fixed some older English errors. Removed a redundant clause. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-12-11T10:58:29.000000Z K 7 svn:log V 108 Fixed misplacement of __FBSDID(). Backed out editing of vendor id lines. Just wrap them in #if 0...#endif. END K 10 svn:author V 6 alfred K 8 svn:date V 27 2003-12-11T11:28:11.000000Z K 7 svn:log V 1808 Significantly reduce the "jitter" that is typical for PS/2 mice when using a KVM. There is no actual solution possible, but this gets us pretty close. Typically when switching back to a FreeBSD box and moving the mouse wild data is produced, because the protocol's validation/checksum system is extremely weak it is impossible to determine that we're out of sync before dropping several bogus packets to user land. The actual solution that appears to offer the best clamping of jitter is to buffer the mouse packets if we've not seen mouse activity for more than .5 seconds. Then waiting to flush that data for 1/20th of a second. If within that 20th of a second we get any packets that do fail the weak test we drop the entire queue and back off accepting data from the mouse for 2 seconds and then repeat the whole deal. You can still get _some_ jitter, notably if you switch to the FreeBSD box, then move the mouse just enough to generate one or two packets. Those packets may be bogus, but may still pass the validity check. One way to finally kill the problem once and for all is to check the initial packets for "wild" values. Typically one sees packets in the +/-60 range during normal operation, however when bogus data is generated it's typically near the outer range of +/-120 or more, those packets would be a good candidate for dropping or clamping. I've been running with this for several weeks now and it has significantly helped me stay sane even with a piece of junk Belkin KVM causing wild jitter each and every time I switch. Lastly I'd like to note that my experience with Windows shows me that somehow the Microsoft PS/2 driver typically avoids this problem, but that may only be possible when running the mouse in a dumb-ed down PS/2 mode that Belkin recommends on their site. END K 10 svn:author V 6 alfred K 8 svn:date V 27 2003-12-11T11:30:26.000000Z K 7 svn:log V 307 This patch fixes two little portability (to !GCC compilers) problems: 1. Use C99-style variable argument macros rather than GNU ones. 2. Don't cast id to ident_t. Its type is already ident_t and casting to a union type is a constraint violation. Submitted by: Stefan Farfeleder END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T13:28:07.000000Z K 7 svn:log V 33 Install experimental.rc as well. END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2003-12-11T13:29:05.000000Z K 7 svn:log V 85 Document a few kernel functions and the sysctl tunables that affect their behaviour. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T13:29:48.000000Z K 7 svn:log V 77 PowerPC doesn't need NOLIBC_R and NOFORTH (and hasn't for quite a while now) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2003-12-11T13:30:26.000000Z K 7 svn:log V 10 Typo fix. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T13:55:16.000000Z K 7 svn:log V 149 Fix strict aliasing breakage in PAM modules (except pam_krb5, which needs more work than the others). This should make most modules build with -O2. END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-12-11T14:41:12.000000Z K 7 svn:log V 154 MFC changes: 1.30 -> 1.31 feeder.c 1.9 -> 1.10 feeder.h Change gcc-specific aggregate initialization member specifiers into C9X initializer designators. END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-12-11T14:52:23.000000Z K 7 svn:log V 49 MFC src/sys/nfsclient/nfs_vnops.c 1.208 -> 1.209 END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-12-11T14:59:35.000000Z K 7 svn:log V 182 MFC 1.3 -> 1.4 Remove extraneous semicolons. They are already provided by the macro definition, and cause the generation of syntactically incorrect code that gcc happens to accept. END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-12-11T15:08:56.000000Z K 7 svn:log V 141 MFC changes 1.11 - 1.12 - Document gencat(1) (dds) - Remove claim that pi and ex use mkstr; pi is long gone, and nex doesn't use it. (tjr) END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-12-11T15:11:04.000000Z K 7 svn:log V 57 MFC changes 1.15 -> 1.16 Removed unused macro definition END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T15:48:09.000000Z K 7 svn:log V 89 More strict aliasing fixes. Submitted by: Andreas Hauser END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T15:51:03.000000Z K 7 svn:log V 296 Fix a strict aliasing issue. Also remove an unnecessary pam_get_item() call (pam_get_authtok() will return the previous token if try_first_pass or use_first_pass is specified). Incidentally fix an ugly bug where the buffer holding the prompt was freed immediately before use, instead of after. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T16:49:34.000000Z K 7 svn:log V 130 Always pass -j to make(1), even when we only want one job. It disables compat mode and hopefully improves tinderbox performance. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-11T16:54:42.000000Z K 7 svn:log V 74 Don't pass -P option to make(1) as it confuses the error detection logic. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-11T18:42:51.000000Z K 7 svn:log V 103 Revert last change. ../rtld.c uses CACHE_LINE_SIZE too. Change it to 64 while here. Reported by: ps END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T19:27:34.000000Z K 7 svn:log V 76 MFC: Don't call sysbeep() in sc_bell() if either duration or pitch is zero. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T19:31:00.000000Z K 7 svn:log V 85 MFC: Zero the interval timers on fork rather than copying them to the child process. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T19:56:40.000000Z K 7 svn:log V 73 MFC: Add a note to document MPTABLE_FORCE_HTT. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T20:01:52.000000Z K 7 svn:log V 290 MFC: Replace fix for empty turnstile race with a more general fix for the more general race of a thread that was already woken up but still pending. Adjust assertion for TDF_TSNOBLOCK case to allow for a thread to be on the run queue as well as currently running. Approved by: re (scottl) END K 10 svn:author V 3 tjr K 8 svn:date V 27 2003-12-11T20:06:22.000000Z K 7 svn:log V 203 MFC rev. 1.34: Set __mbrtowc and __wcrtomb correctly when changing to the C/POSIX locale. Save __mbrtowc and __wcrtomb and restore them when changing back to the cached locale. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T20:14:06.000000Z K 7 svn:log V 107 MFC: When setting the mountpoint name, remember any previous setting of the newfs flag for this partition. END K 10 svn:author V 3 kan K 8 svn:date V 27 2003-12-11T20:16:01.000000Z K 7 svn:log V 78 MFC rev. 1.6: Install two new include files for SSE2 and Prescott intrinsics. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T20:20:15.000000Z K 7 svn:log V 158 MFC: Drop the size argument to new_part() as well as the hack to create partitions twice since the size was not known the first time a partition was created. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-12-11T20:21:20.000000Z K 7 svn:log V 571 Up the timeout on a command from 500ms to 5s unconditionally. This will up the failure time from about 1s to about 7s in the worst case that I can think of. Other fixes have brought that number down from 30 minutes, so I don't feel too bad about it. Some older versions of the Prism cards have issues that make them unable to respond in 500ms for some commands. Current has a more extensive fix that only penalizes the old firmware, but this is a more conservative change more appropriate to a frozen branch. Suggested/Submitted by: iedowse Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T20:25:22.000000Z K 7 svn:log V 204 MFC: Various cleanups to the non-interactive disk labeling code including failing altogether if a single entry failed instead of just continuing and not leaking flags from earlier chunks into later ones. END K 10 svn:author V 3 kan K 8 svn:date V 27 2003-12-11T20:30:15.000000Z K 7 svn:log V 197 MFC revision 1.175 Addendum to revision 1.174: In the case where vm_pager_allocate() is called to create a vnode-backed object, the vnode lock must be held by the caller. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T20:40:12.000000Z K 7 svn:log V 64 Properly fix a typo that the previous revision made even worse. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T21:33:43.000000Z K 7 svn:log V 136 MFC: Use casts to fix printf warnings in print_uptime() on alpha. PR: alpha/43561 Reported by: Eugene Grosbein END K 10 svn:author V 5 maxim K 8 svn:date V 27 2003-12-11T21:54:26.000000Z K 7 svn:log V 69 Grammar. PR: docs/60158 Submitted by: Lukas Ertl MFC after: 1 week END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T22:34:36.000000Z K 7 svn:log V 3490 Commit the first cut of Project Evil, also known as the NDISulator. Yes, it's what you think it is. Yes, you should run away now. This is a special compatibility module for allowing Windows NDIS miniport network drivers to be used with FreeBSD/x86. This provides _binary_ NDIS compatibility (not source): you can run NDIS driver code, but you can't build it. There are three main parts: sys/compat/ndis: the NDIS compat API, which provides binary compatibility functions for many routines in NDIS.SYS, HAL.dll and ntoskrnl.exe in Windows (these are the three modules that most NDIS miniport drivers use). The compat module also contains a small PE relocator/dynalinker which relocates the Windows .SYS image and then patches in our native routines. sys/dev/if_ndis: the if_ndis driver wrapper. This module makes use of the ndis compat API and can be compiled with a specially prepared binary image file (ndis_driver_data.h) containing the Windows .SYS image and registry key information parsed out of the accompanying .INF file. Once if_ndis.ko is built, it can be loaded and unloaded just like a native FreeBSD kenrel module. usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf into an ndis_driver_data.h file that can be compiled into if_ndis.o. Contains an .inf file parser graciously provided by Matt Dodd (and mercilessly hacked upon by me) that strips out device ID info and registry key info from a .INF file and packages it up with a binary image array. The ndiscvt(8) utility also does some manipulation of the segments within the .sys file to make life easier for the kernel loader. (Doing the manipulation here saves the kernel code from having to move things around later, which would waste memory.) ndiscvt is only built for the i386 arch. Only files.i386 has been updated, and none of this is turned on in GENERIC. It should probably work on pc98. I have no idea about amd64 or ia64 at this point. This is still a work in progress. I estimate it's about %85 done, but I want it under CVS control so I can track subsequent changes. It has been tested with exactly three drivers: the LinkSys LNE100TX v4 driver (Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK (e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It still needs to have a net80211 stuff added to it. To use it, you would do something like this: # cd /sys/modules/ndis # make; make load # cd /sys/modules/if_ndis # ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h # make; make load # sysctl -a | grep ndis All registry keys are mapped to sysctl nodes. Sometimes drivers refer to registry keys that aren't mentioned in foo.inf. If this happens, the NDIS API module creates sysctl nodes for these keys on the fly so you can tweak them. An example usage of the Broadcom wireless driver would be: # sysctl hw.ndis0.EnableAutoConnect=1 # sysctl hw.ndis0.SSID="MY_SSID" # sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc) # ifconfig ndis0 netmask 0xffffff00 up Things to be done: - get rid of debug messages - add in ndis80211 support - defer transmissions until after a status update with NDIS_STATUS_CONNECTED occurs - Create smarter lookaside list support - Split off if_ndis_pci.c and if_ndis_pccard.c attachments - Make sure PCMCIA support works - Fix ndiscvt to properly parse PCMCIA device IDs from INF files - write ndisapi.9 man page PR: Submitted by: Reviewed by: Approved by: Obtained from: MFC after: END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T22:34:37.000000Z K 7 svn:log V 3419 Commit the first cut of Project Evil, also known as the NDISulator. Yes, it's what you think it is. Yes, you should run away now. This is a special compatibility module for allowing Windows NDIS miniport network drivers to be used with FreeBSD/x86. This provides _binary_ NDIS compatibility (not source): you can run NDIS driver code, but you can't build it. There are three main parts: sys/compat/ndis: the NDIS compat API, which provides binary compatibility functions for many routines in NDIS.SYS, HAL.dll and ntoskrnl.exe in Windows (these are the three modules that most NDIS miniport drivers use). The compat module also contains a small PE relocator/dynalinker which relocates the Windows .SYS image and then patches in our native routines. sys/dev/if_ndis: the if_ndis driver wrapper. This module makes use of the ndis compat API and can be compiled with a specially prepared binary image file (ndis_driver_data.h) containing the Windows .SYS image and registry key information parsed out of the accompanying .INF file. Once if_ndis.ko is built, it can be loaded and unloaded just like a native FreeBSD kenrel module. usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf into an ndis_driver_data.h file that can be compiled into if_ndis.o. Contains an .inf file parser graciously provided by Matt Dodd (and mercilessly hacked upon by me) that strips out device ID info and registry key info from a .INF file and packages it up with a binary image array. The ndiscvt(8) utility also does some manipulation of the segments within the .sys file to make life easier for the kernel loader. (Doing the manipulation here saves the kernel code from having to move things around later, which would waste memory.) ndiscvt is only built for the i386 arch. Only files.i386 has been updated, and none of this is turned on in GENERIC. It should probably work on pc98. I have no idea about amd64 or ia64 at this point. This is still a work in progress. I estimate it's about %85 done, but I want it under CVS control so I can track subsequent changes. It has been tested with exactly three drivers: the LinkSys LNE100TX v4 driver (Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK (e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It still needs to have a net80211 stuff added to it. To use it, you would do something like this: # cd /sys/modules/ndis # make; make load # cd /sys/modules/if_ndis # ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h # make; make load # sysctl -a | grep ndis All registry keys are mapped to sysctl nodes. Sometimes drivers refer to registry keys that aren't mentioned in foo.inf. If this happens, the NDIS API module creates sysctl nodes for these keys on the fly so you can tweak them. An example usage of the Broadcom wireless driver would be: # sysctl hw.ndis0.EnableAutoConnect=1 # sysctl hw.ndis0.SSID="MY_SSID" # sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc) # ifconfig ndis0 netmask 0xffffff00 up Things to be done: - get rid of debug messages - add in ndis80211 support - defer transmissions until after a status update with NDIS_STATUS_CONNECTED occurs - Create smarter lookaside list support - Split off if_ndis_pci.c and if_ndis_pccard.c attachments - Make sure PCMCIA support works - Fix ndiscvt to properly parse PCMCIA device IDs from INF files - write ndisapi.9 man page END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T22:38:14.000000Z K 7 svn:log V 67 Commit the ndiscvt(8) utility too. (Missed it in the last import.) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-11T22:42:50.000000Z K 7 svn:log V 945 - Change the lookup() function to report success or failure using the carry flag rather than explicitly halting if a lookup failed. - Add a loop around the call to lookup() to traverse an array of nul-terminated strings for possible paths to the boot loader. A double nul character denotes the end of the list. - Add a new message to say that the boot failed if all of the path lookups for a boot loader file failed. - Add '/boot/loader' as a second boot path. If you build an ISO using risky options to mkisofs such as -U then the loader will be called '/boot/loader' rather than '/BOOT/LOADER;0'. This allows cdboot to work with such risky ISO images. - Bump version to 1.2 to denote added functionality. The basic idea as well as some of the code were provided by the submitter, but I added some extra code to use a loop rather than hard-code just 2 possible paths. PR: misc/43543 Submitted by: kientzle MFC after: 1 week END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T23:06:54.000000Z K 7 svn:log V 56 Ack! Only build if_ndis.ko and ndis.ko if arch == i386. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T23:22:44.000000Z K 7 svn:log V 61 Grrr. Put the right .PATH statements in the right Makefiles. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T23:30:36.000000Z K 7 svn:log V 33 Fix getopt() string so -o works. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-11T23:37:56.000000Z K 7 svn:log V 62 Fix handling of .INF files with more than one PCI ID defined. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-12T01:12:41.000000Z K 7 svn:log V 180 Fix dynamic linking a bit more.. enough that mozilla-firebird works if you dig up the patches for amd64 support for it. Note to self: do not put a 64 bit value in a 32 bit space. END K 10 svn:author V 8 truckman K 8 svn:date V 27 2003-12-12T02:23:22.000000Z K 7 svn:log V 202 MFC 1.226 - Set fs_ronly to the correct value in ffs_reload() when reloading the file system super block after fsck has repaired the file system. Approved by: re (scottl + jhb) END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-12T03:40:05.000000Z K 7 svn:log V 559 Attempt to handle WinXP .INF files. Also, in dump_regvals(), handle the case where there's an entry in the manufacturer's device list but no corresponding installation section (and hence no AddReg assignments), i.e. if dev = find_assign(sname, "AddReg"); returns NULL, then don't try to dereference dev. There is a fundamental problem with the handling of .INF files that contain definitions for multiple devices: right now we dump all the AddReg sections that we find, but don't distinguish what device they belong to. This often results in duplicate keys. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-12T04:45:15.000000Z K 7 svn:log V 171 Turn off build of if_ndis.ko by default, since it depends on an autogenerated file (ndis_driver_data.h) which by definition can't be available unless the user creates it. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-12T05:27:58.000000Z K 7 svn:log V 643 In NDIS 5.1 miniport drivers, the shutdown handler function pointer is provided to NDIS via the the miniport characteristics structure supplied in the call to NdisMRegisterMiniport(). But in NDIS 5.0 and earlier, you had to call NdisMRegisterAdapterShutdownHandler() and supply both a function pointer and context pointer. We try to handle both cases in ndis_shutdown_nic(). If the driver registered a shutdown routine and a context,then used that context, otherwise pass it the adapter context from NdisMSetAttributesEx(). This fixes a panic on shutdown with the sample Intel 82559 e100bex.sys driver from the Windows DDK. function pointer END K 10 svn:author V 4 bmah K 8 svn:date V 27 2003-12-12T05:46:32.000000Z K 7 svn:log V 90 Version number bumps for 5.2-RELEASE release documentation. Approved by: re (implicitly) END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-12T07:33:51.000000Z K 7 svn:log V 769 - Now that we have kseq groups, balance them seperately. - The new sched_balance_groups() function does intra-group balancing while sched_balance() balances the available groups. - Pick a random time between 0 ticks and hz * 2 ticks to restart each balancing process. Each balancer has its own timeout. - Pick a random place in the list of groups to start the search for lowest and highest group loads. This prevents us from prefering a group based on numeric position. - Use a nasty hack to stop us from preferring cpu 0. The problem is that softclock always runs on cpu 0, so it always has a little extra load. We ignore this load in the balancer for now. In the future softclock should run on a random cpu and these hacks can go away. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-12T08:54:48.000000Z K 7 svn:log V 782 Correct the behavior of ndis_adjust_buflen(): the NDIS spec says it's an error to set the buffer bytecount to anything larger than the buffer's original allocation size, but anything less than that is ok. Also, in ndis_ptom(), use the same logic: if the bytecount is larger than the allocation size, consider the bytecount invalid and the allocation size as the packet fragment length (m_len) instead of the bytecount. This corrects a consistency problem between the Broadcom wireless driver and some of the ethernet drivers I've tested: the ethernet drivers all report the packet frag sizes in buf->nb_bytecount, but the Broadcom wireless driver reports them in buf->nb_size. This seems like a bug to me, but it clearly must work in Windows, so we have to deal with it here too. END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-12-12T09:51:39.000000Z K 7 svn:log V 70 Doh! Lock the thread passed in by the caller, not the current thread. END K 10 svn:author V 6 grehan K 8 svn:date V 27 2003-12-12T09:54:39.000000Z K 7 svn:log V 154 - accept device_type of "block", which is how psim/gdb6.0 defines disks. continue to accept "disk" for psim/gdb5.x users. - remove unneeded ofwd_identify END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-12-12T10:15:39.000000Z K 7 svn:log V 224 Attempt to get the short cable fix to work better on the if_sis: Only do short-cable on revisions that need it. Move generic initialization before short-cable fix, in order to not clobber short cable fix register setting. END K 10 svn:author V 4 roam K 8 svn:date V 27 2003-12-12T11:08:51.000000Z K 7 svn:log V 73 Fix a couple of typos: hexidecimal -> hexadecimal. Reviewied by: scottl END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-12T12:03:59.000000Z K 7 svn:log V 175 Revert the last two commits. It seems that compat mode is actually faster than non-compat (using -j1), though reading the make(1) sources suggests that the opposite is true. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-12-12T12:17:28.000000Z K 7 svn:log V 161 DUH! Write 100 times for tomorrow: I will never again free(9) a modified pointer. Pointy Hat: yeah, yeah, yeah, can you just put it in the pile over there... END K 10 svn:author V 5 luigi K 8 svn:date V 27 2003-12-12T16:14:28.000000Z K 7 svn:log V 259 Add a -b flag to /sbin/ipfw to print only action and comment for each rule, thus omitting the entire body. This makes the output a lot more readable for complex rulesets (provided, of course, you have annotated your ruleset appropriately!) MFC after: 3 days END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-12-12T19:42:16.000000Z K 7 svn:log V 259 Fix throttling to use the proper mask. The bug resulted in only two throttling values being available regardless of the CPU's capabilities. This has been broken since rev 1.1. Also clarify a comment. Submitted by: Taku YAMAMATO END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2003-12-12T21:18:04.000000Z K 7 svn:log V 78 Spell btkr as bktr. Pointy hat to: obrien Reported by: Martin END K 10 svn:author V 6 jesper K 8 svn:date V 27 2003-12-12T21:23:27.000000Z K 7 svn:log V 65 Fix typo, I forgot daily_ in front of the status_ata_raid_enable END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2003-12-12T21:25:56.000000Z K 7 svn:log V 142 Although sometimes to the uninitiated, it may seem like goup, KSEGOUP is actually spelt KSEGROUP. Go figure. Reported by: samy@kerneled.com END K 10 svn:author V 4 bmah K 8 svn:date V 27 2003-12-12T21:58:13.000000Z K 7 svn:log V 114 New release notes: boot0sio, ndis(4), resolver(5) supports timeout: and attempts:, ipfw(8) -b, ACPI-CA 20031203. END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-12-12T21:58:42.000000Z K 7 svn:log V 233 Fix a mis-merge in ciss_unmap_request and actually unmap a request. Fir another mis-merge in ciss_cam_action_io when getting an error back from ciss_start, only REQUEUE the request if the error is not EINPROGRESS Pointy hat to: me END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-12-12T22:01:17.000000Z K 7 svn:log V 51 MFC: Define RAID 5+1 and RAID ADG fault tolerances END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-12-12T22:03:38.000000Z K 7 svn:log V 54 MFC: Correct the READ/WRITE CDB direction definition. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-12T22:35:13.000000Z K 7 svn:log V 1748 Implement some more NDIS and ntoskrnl API calls: subr_ndis.c: NdisGetCurrentSystemTime() which, according to the Microsoft documentation returns "the number of 100 nanosecond intervals since January 1, 1601." I have no idea what's so special about that epoch or why they chose 100 nanosecond ticks. I don't know the proper offset to convert nanotime() from the UNIX epoch to January 1, 1601, so for now I'm just doing the unit convertion to 100s of nanoseconds. subr_ntoskrnl.c: memcpy(), memset(), ExInterlockedPopEntrySList(), ExInterlockedPushEntrySList(). The latter two are different from InterlockedPopEntrySList() and InterlockedPushEntrySList() in that they accept a spinlock to hold while executing, whereas the non-Ex routines use a lock internal to ntoskrnl. I also modified ExInitializePagedLookasideList() and ExInitializeNPagedLookasideList() to initialize mutex locks within the lookaside structures. It seems that in NDIS 5.0, the lookaside allocate/free routines ExInterlockedPopEntrySList() and ExInterlockedPushEntrySList(), which require the use of the per-lookaside spinlock, whereas in NDIS 5.1, the per-lookaside spinlock is deprecated. We need to support both cases. Note that I appear to be doing something wrong with ExInterlockedPopEntrySList() and ExInterlockedPushEntrySList(): they don't appear to obtain proper pointers to their arguments, so I'm probably doing something wrong in terms of their calling convention (they're declared to be FASTCALL in Widnows, and I'm not sure what that means for gcc). It happens that in my stub lookaside implementation, they don't need to do any work anyway, so for now I've hacked them to always return NULL, which avoids corrupting the stack. I need to do this right though. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-12-13T00:14:25.000000Z K 7 svn:log V 640 Move check to see if you have too many panels to early in the loop rather than at the end where it suffered from a fencepost error. However, I'm not entirely sure that it is still correct because it looks like we access something in the ioaddr2 range. I need more stallion pannels to know for sure. The code is less incorrect than it was before at least when you have two pannels connected to the EC8/32-AT. Two pannels are allowed and appear to work. Stallion says that 3 cannot work, or when the agregate number of ports is > 32. I think that these tests should be more explicit, but until I have more hardware, this is less wrong. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-12-13T06:05:07.000000Z K 7 svn:log V 406 Research on Stallion's website shows that there is a limit of 4 pannels, or 32 ports for the ech boards. The only possible way to make an error is to have 8 + 8 + 8 + 16 or 8 + 16 + 16, so we detect that more directly and cleanup properly (eg, ignore the last panel). This was the intent of the too many ports attached to board message before, and should be more robust. # now, too port this to current. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-13T07:41:12.000000Z K 7 svn:log V 1757 subr_ndis.c: - fix ndis_time() so that it returns a time based on the proper epoch (wacky though it may be) - implement NdisInitializeString() and NdisFreeString(), and add stub for NdisMRemoveMiniport() ntoskrnl_var.h: - add missing member to the general_lookaside struct (gl_listentry) subr_ntoskrnl.c: - Fix arguments to the interlocked push/pop routines: 'head' is an slist_header *, not an slist_entry * - Kludge up _fastcall support for the push/pop routines. The _fastcall convention is similar to _stdcall, except the first two available DWORD-sized arguments are passed in %ecx and %edx, respectively. One kludge for this __attribute__ ((regparm(3))), however this isn't entirely right, as it assumes %eax, %ecx and %edx will be used (regparm(2) assumes %eax and %edx). Another kludge is to declare the two fastcall-ed args as local register variables and explicitly assign them to %ecx and %edx, but experimentation showed that gcc would not guard %ecx and %edx against being clobbered. Thus, I came up with a 3rd kludge, which is to use some inline assembly of the form: void *arg1; void *arg2; __asm__("movl %%ecx, %%ecx" : "=c" (arg1)); __asm__("movl %%edx, %%edx" : "=d" (arg2)); This lets gcc know that we're going to reference %ecx and %edx and that it should make an effort not to let it get trampled. This wastes an instruction (movl %reg, %reg is a no-op) but insures proper behavior. It's possible there's a better way to do this though: this is the first time I've used inline assembler in this fashion. The above fixes to ntoskrnl_var.h an subr_ntoskrnl.c make lookaside lists work for the two drivers I have that use them, one of which is an NDIS 5.0 miniport and another which is 5.1. END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-12-13T07:54:07.000000Z K 7 svn:log V 20 White space cleanup END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-12-13T07:56:28.000000Z K 7 svn:log V 33 MFC: rev 1.33 whitespace cleanup END K 10 svn:author V 4 bmah K 8 svn:date V 27 2003-12-13T08:24:04.000000Z K 7 svn:log V 169 Fix some random typos. No effect on any translations; these are all English language bogons. Submitted by: hrs, harti Approved by: re (implicitly) Pointy hat to: bmah END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-13T08:48:35.000000Z K 7 svn:log V 49 Support yet another variant of WinXP .INF files. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-13T09:07:35.000000Z K 7 svn:log V 59 Correct the implementation of NDIS_BUFFER_TO_SPAN_PAGES(). END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T15:26:27.000000Z K 7 svn:log V 372 Install a SIGCHLD handler so select(2) will be interrupted when a child terminates. Without this patch, 'make -j1 buildworld' takes about 30% longer than 'make -B buildworld' on my 2.4 GHz P4; the difference is probably even larger on faster systems. With this patch, there is no perceptible difference in wall time between the two. Submitted by: bde MFC after: 3 days END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-12-13T15:33:45.000000Z K 7 svn:log V 105 Fix panic. - Don't call sbp_targ_status_FIFO() twice for LOGIN error. - Don't access login if it's NULL. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T15:47:19.000000Z K 7 svn:log V 32 MFC: reimplement which(1) in C. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T15:56:51.000000Z K 7 svn:log V 37 MFC: reimplement makewhatis(1) in C. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T15:59:11.000000Z K 7 svn:log V 49 Switch to the C implementation of makewhatis(1). END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T16:01:42.000000Z K 7 svn:log V 49 Retire the Perl implementation of makewhatis(1). END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-13T16:05:34.000000Z K 7 svn:log V 186 Perl is no longer needed for installworld, but makewhatis(1) is now a bootstrap tool. Also fix a NOPERL nit: PERL5LIB is not needed in the cross-build environment if NOPERL is defined. END K 10 svn:author V 7 trhodes K 8 svn:date V 27 2003-12-13T16:12:55.000000Z K 7 svn:log V 84 Provide a way to deal with rc.conf which may already be populated in certain cases. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-12-13T18:12:58.000000Z K 7 svn:log V 78 Fix a locking problem with MD_ROOT_SIZE. Retire md(4)'s static major number. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-13T22:18:27.000000Z K 7 svn:log V 38 MFC: 1.27-1.28: sync up syscalls list END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-13T22:19:06.000000Z K 7 svn:log V 37 Regen Approved by: re (scottl, jhb) END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-13T22:20:03.000000Z K 7 svn:log V 103 MFC: 1.13: use the correct symbol for declaring the sysvec table sizes Approved by: re (jhb, scottl) END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2003-12-14T00:42:00.000000Z K 7 svn:log V 152 Comment on initgroups.c:1.8: it can prevent users from logging in if a user has over 16 groups defined. Reported by: "Klaus-J. Wolf" END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-14T00:43:40.000000Z K 7 svn:log V 284 Implement a few new NDIS routines: NdisInitAnsiString(), NdisAnsiStringToUnicodeString(), NdisWriteConfiguration(). Also add stubs for NdisMGetDeviceProperty(), NdisTerminateWrapper(), NdisOpenConfigurationKeyByName(), NdisOpenConfigurationKeyByIndex() and NdisMGetDeviceProperty(). END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-14T00:45:40.000000Z K 7 svn:log V 125 MFC: bandaid for R_X86_64_PC32 relocation type. Do not try to fit a 64 bit peg in a 32 bit hole. Approved by: re (scottl) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-12-14T01:59:31.000000Z K 7 svn:log V 336 In set_mcontext(), take into account that kse_switchin(2) will eventually be passed an async. context as well as a syscall context. While here, fix a serious bug in that if the trapframe is a syscall frame, but we're restoring an async context, we need to clear the FRAME_SYSCALL flag so that we leave the kernel via exception_restore. END K 10 svn:author V 4 jeff K 8 svn:date V 27 2003-12-14T02:06:29.000000Z K 7 svn:log V 230 - Assign the ke_cpu field in kseq_notify() so that all of our callers do not have to do it. - Set the ke_runq to NULL in sched_add() before calling kseq_notify(). Otherwise we may panic in sched_add() if INVARIANTS is on. END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-12-14T03:09:27.000000Z K 7 svn:log V 47 Put back accidentally removed cardbus support. END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-12-14T03:12:29.000000Z K 7 svn:log V 128 MFC: - Introduce sbp_targ_login instead of sbp_targ_istate. - Implement reconnection and logout. - Freeze simq while bus reset. END K 10 svn:author V 5 seanc K 8 svn:date V 27 2003-12-14T09:42:02.000000Z K 7 svn:log V 515 Add a script that allows software RAID sets to be created before file systems are mounted. An example set of entries for /etc/rc.conf: ataraid_enable="YES" ataraid_devices="ar0" ataraid_ar0_set="ad2 ad3" ataraid_ar0_type="RAID1" Because there is no "correct" way of doing ATA raid (ie, geom vs. atacontrol vs. vinum) that is bikeshed proof, this rcng script stays within the bounds of atacontrol and assumes that other RAID solutions for GEOM or vinum will end up in a different rcNG script. Reviewed by: green END K 10 svn:author V 5 seanc K 8 svn:date V 27 2003-12-14T13:36:36.000000Z K 7 svn:log V 201 Backout ataraid rcng script. I must have missed ar0 in my scan of /dev after my first reboot because sure enough, I'm seeing it there now and ata(4) is doing the right thing(TM). Pointed out by: des END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2003-12-14T14:54:53.000000Z K 7 svn:log V 79 Document the effect of sysctl tunables controlling p_candebug(9) on ktrace(2). END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-14T21:31:32.000000Z K 7 svn:log V 268 Rework mbuf<->ndis_packet/ndis_packet<->mbuf translation a little to make it more robust. This should fix problems with crashes under heavy traffic loads that have been reported. Also add a 'query done' callback handler to satisfy the e100bex.sys sample Intel driver. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-14T21:33:07.000000Z K 7 svn:log V 60 Whups... remove some debug code that accidentally crept in. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-12-14T22:47:01.000000Z K 7 svn:log V 388 Silence irritating watchdog timeout messages: if we call ndis_send_packets() but there's no link yet, we get an immediate callback to ndis_txeof(), which clears if_timer. But ndis_start() sets if_timer right after the call to ndis_send_packets(). Set if_timer before calling ndis_send_packets(). Also fix mutex locking to prevent ndis_txeof() from running in the middle of ndis_start(). END K 10 svn:author V 4 grog K 8 svn:date V 27 2003-12-15T00:42:03.000000Z K 7 svn:log V 173 vinumclose: Fix day-one bug. Subdisks and plexes were not being marked closed. This made it impossible to stop Vinum after explicitly opening a plex or subdisk. END K 10 svn:author V 4 grog K 8 svn:date V 27 2003-12-15T00:44:05.000000Z K 7 svn:log V 186 free_plex, free_volume: Don't try to destroy the underlying device if it doesn't exist. This can occur under certain failure situations. END K 10 svn:author V 4 grog K 8 svn:date V 27 2003-12-15T00:45:53.000000Z K 7 svn:log V 354 initsd: For striped and RAID-[45] plexes, don't restrict the I/O transfer size to the stripe size. This is a different situation from reviving, where this limitation is necessary. In initsd we're simply writing binary zeroes to the entire disk, so the only effect of limiting the transfer is to slow things down. END K 10 svn:author V 8 truckman K 8 svn:date V 27 2003-12-15T01:36:54.000000Z K 7 svn:log V 124 Pass MTX_DEF instead of 0 as the last argument to mtx_init(). Submitted by: Gavin Atkinson END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-12-15T09:35:02.000000Z K 7 svn:log V 256 When creating a pthread in the suspended state their were two problems: (1) The wrong flag was being checked for in the attribute (2) The pthread's state was not being set to indicate it was suspended. Noticed by: Igor Sysoev END K 10 svn:author V 6 grehan K 8 svn:date V 27 2003-12-15T09:53:53.000000Z K 7 svn:log V 294 - The last change conflicted with disks on a live system, as opposed to the psim simulator. Look for the "file" property which only exists on psim disks, and as a bonus, print the contents of this at boot-time, which is the host file being used for the disk image. - remove remaining warnings. END K 10 svn:author V 5 peter K 8 svn:date V 27 2003-12-15T10:25:18.000000Z K 7 svn:log V 514 amd64 doesn't define __LP64__ in the compiler, but it definately needs this definition. It fixes gnome for starters. I haven't tried *emacs yet. Like IA64, amd64 uses registers for the first few arguments and then the stack for the rest. This means the 64 bit promotion of the NULL (0) value is lost and its just pushed on as an 'int' in a varargs call. When the consumer walks the list and expects to pull off void * pointers via va_arg, then all hell breaks loose. Marcel: thanks a million for finding this! END K 10 svn:author V 7 cvs2svn K 8 svn:date V 27 2003-12-15T10:25:19.000000Z K 7 svn:log V 70 This commit was manufactured by cvs2svn to create branch 'RELENG_5_2'. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2003-12-15T10:34:01.000000Z K 7 svn:log V 58 Consistently define __LP64__ on all our 64-bit platforms. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-15T10:58:08.000000Z K 7 svn:log V 34 MFC: stat(1) command from NetBSD. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-15T10:58:23.000000Z K 7 svn:log V 30 Connect stat(1) to the build. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-12-15T11:28:15.000000Z K 7 svn:log V 218 MFS: Make struct arpcom the first entry in softc. (There are at least two functions in sys/net/if.c that assume that softc starts with arpcom.) This makes setting of ethernet address via ifconfig(8) work as expected. END K 10 svn:author V 5 maxim K 8 svn:date V 27 2003-12-15T11:51:26.000000Z K 7 svn:log V 68 Add a bunch of Russian holidays. PR: docs/50013 Submitted by: osa END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-12-15T12:31:46.000000Z K 7 svn:log V 280 Comment out most of pthread_setschedparam. Pthread priorities didn't work before anyways, and I didn't want to fix broken code I had no way of testing. It was necessary however, in order to get rid of GIANT_LOCK. Pthread priorities will have to wait a little longer to get fixed. END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-12-15T12:38:06.000000Z K 7 svn:log V 47 Remove _giant_mutex and its associated macros. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-12-15T14:50:04.000000Z K 7 svn:log V 55 Don't call bpf_mtap(), ether_input() does this for us. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-15T19:19:16.000000Z K 7 svn:log V 119 Add a note to say that the ACPI module has been turned back on now. Requested by: Joel Ray Holveck END K 10 svn:author V 3 sos K 8 svn:date V 27 2003-12-15T20:43:17.000000Z K 7 svn:log V 39 Print the LBA on failing R/W commands. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-15T21:31:29.000000Z K 7 svn:log V 83 MFC: support for the Vibra 128 (and other CT4730-based cards) Submitted by: orion END K 10 svn:author V 3 bms K 8 svn:date V 27 2003-12-15T21:49:41.000000Z K 7 svn:log V 174 Push m_apply() and m_getptr() up into the colleciton of standard mbuf routines, and purge them from opencrypto. Reviewed by: sam Obtained from: NetBSD Sponsored by: spc.org END K 10 svn:author V 3 bms K 8 svn:date V 27 2003-12-15T21:50:45.000000Z K 7 svn:log V 95 Purge crmbuf.c as the routines are now in uipc_mbuf.c. Reviewed by: sam Sponsored by: spc.org END K 10 svn:author V 3 tjr K 8 svn:date V 27 2003-12-16T01:52:54.000000Z K 7 svn:log V 191 Avoid sign extension when casting signed characters to unsigned wide characters in ntfs_u28(). This fixes the conversion of filenames containing single-byte characters with the high bit set. END K 10 svn:author V 6 grehan K 8 svn:date V 27 2003-12-16T03:55:57.000000Z K 7 svn:log V 277 Disable the per-vm_page PTE cache. This was not being invalidated correctly, resulting in the dreaded "vm_pageout_flush: partially invalid page" panic. The caching issue will be revisited in the future, but opt for safety over performance in the meantime. Tested by: gallatin END K 10 svn:author V 6 obrien K 8 svn:date V 27 2003-12-16T05:40:06.000000Z K 7 svn:log V 85 One might want to correctly generate 32-bit code on an Opteron. Submitted by: peter END K 10 svn:author V 3 des K 8 svn:date V 27 2003-12-16T08:34:11.000000Z K 7 svn:log V 44 MFC (rev. 1.86): install a SIGCHLD handler. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-12-16T10:44:40.000000Z K 7 svn:log V 45 MFC: 1.73: Unbreak the NOINSTALLLIB install. END K 10 svn:author V 3 bms K 8 svn:date V 27 2003-12-16T14:13:47.000000Z K 7 svn:log V 50 style(9) pass and type fixups. Submitted by: bde END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-12-16T15:17:30.000000Z K 7 svn:log V 36 Print unambiguous paths with -R -v. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-12-16T16:19:52.000000Z K 7 svn:log V 77 MFC: Add note about acpi module being re-enabled. Approved by: re (rwatson) END