+118409 179 306 235 994 313 332 1976 285 315 499 463 148 266 134 178 187 114 189 142 400 148 132 212 323 140 212 150 170 225 234 182 186 383 135 289 327 403 189 166 103 497 126 321 453 662 245 164 268 117 225 201 124 150 134 165 187 219 123 218 215 253 394 278 219 311 241 142 209 230 297 937 130 170 258 180 143 280 201 439 438 133 126 173 184 159 400 208 123 178 164 501 488 280 938 623 2064 576 150 119 439 435 509 327 128 131 400 313 595 274 130 625 123 156 254 148 155 306 388 149 116 134 345 297 249 155 310 183 204 413 119 174 158 188 347 654 225 171 207 148 277 280 154 164 182 861 168 234 509 312 509 269 426 144 342 406 2627 195 207 442 254 289 234 116 381 247 151 121 219 161 195 152 156 155 159 182 140 150 228 866 1137 K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T02:57:17.000000Z K 7 svn:log V 212 Special fix just for tr -[cC]s '[:upper:]' '[:lower:]' case (or vice versa): chars taken from s2 can be different this time due to lack of complex upper/lower processing, so fill string2 again to not miss some. END K 10 svn:author V 8 bmilekic K 8 svn:date V 27 2003-08-04T03:02:36.000000Z K 7 svn:log V 137 Backout 1.14, it seems to be causing problems with libxml build and I don't have time to investigate this code in much detail right now. END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2003-08-04T03:29:13.000000Z K 7 svn:log V 897 Now that the central POSIX.1e ACL code implements functions to generate the inode mode from a default ACL and creation mask, implement ufs_sync_inode_from_acl() using acl_posix1e_newfilemode(). Since ACL_OVERRIDE_MASK/ACL_PRESERVE_MASK are defined, we no longer need to explicitly pass in a "preserve_mask" field: this is implicit in the use of POSIX.1e semantics. Note: this change contains a semantic bugfix for new file creation: we now intersect the ACL-generated mode and the cmode requested by the user process. This means permissions on newly created file objects will now be more conservative. In the future, we may want to provide alternative semantics (similar to Solaris and Linux) in which the ACL mask overrides the umask, permitting ACLs to broaden the rights beyond the requested umask. PR: 50148 Reported by: Ritz, Bruno Obtained from: TrustedBSD Project END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T04:20:04.000000Z K 7 svn:log V 219 POSIX require complex processing of 'c-c' ranges: if one of the endpoints is octal sequence, range is taken in the byte values order, for non-octal endpoints range is taken in the sorted collation order. Implement it. END K 10 svn:author V 3 alc K 8 svn:date V 27 2003-08-04T04:35:04.000000Z K 7 svn:log V 239 Use kmem_alloc_nofault() instead of kmem_alloc_pageable() to allocate swapbkva. Swapbkva mappings are explicitly managed using pmap_qenter(), not on-demand by vm_fault(), making kmem_alloc_nofault() more appropriate. Submitted by: tegge END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-04T05:13:18.000000Z K 7 svn:log V 1879 Cleanup the clock code. This includes: o Remove alpha specific timer code (mc146818A) and compiled-out calibration of said timer. o Remove i386 inherited timer code (i8253) and related acquire and release functions. o Move sysbeep() from clock.c to machdep.c and have it return ENODEV. Console beeps should be implemented using ACPI or if no such device is described, using the sound driver. o Move the sysctls related to adjkerntz, disable_rtc_set and wall_cmos_clock from machdep.c to clock.c, where the variables are. o Don't hardcode a hz value of 1024 in cpu_initclocks() and don't bother faking a stathz that's 1/8 of that. Keep it simple: hz defaults to HZ and stathz equals hz. This is also how it's done for sparc64. o Keep a per-CPU ITC counter (pc_clock) and adjustment (pc_clockadj) to calculate ITC skew and corrections. On average, we adjust the ITC match register once every ~1500 interrupts for a duration of 2 consequtive interruprs. This is to correct the non-deterministic behaviour of the ITC interrupt (there's a delay between the match and the raising of the interrupt). o Add 4 debugging sysctls to monitor clock behaviour. Those are debug.clock_adjust_edges, debug.clock_adjust_excess, debug.clock_adjust_lost and debug.clock_adjust_ticks. The first counts the individual adjustment cycles (when the skew first crosses the threshold), the second counts the number of times the adjustment was excessive (any non-zero value is to be considered a bug), the third counts lost clock interrupts and the last counts the number of interrupts for which we applied an adjustment (debug.clock_adjust_ticks / debug.clock_adjust_edges gives the avarage duration of an individual adjustment -- should be ~2). While here, remove some nearby (trivial) left-overs from alpha and other cleanups. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T05:22:06.000000Z K 7 svn:log V 191 No functional changes, just code reorganization from prev. commit, it makes one malloc unneeded, removes two bzero's and makes code more readable. "Bright ideas comes only _after_ commits." END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-08-04T05:43:02.000000Z K 7 svn:log V 217 - Don't mess with TX queue in fwohci_stop() if we failed to attach the device. Tested by: wilko - Detect memory mapping failure of registers by checking OHCI version. Tested by: KONDOU, Kazuhiro END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-08-04T05:50:53.000000Z K 7 svn:log V 404 Set the BGE_RX_MTU register correctly so that we can receive slightly larger than normal frames, to account for the case where a bge(4) NIC is used with VLANs. Since we set the IFCAP_VLAN_MTU flag, we must allow reception of frames up to 1522 bytes in size rather than 1518. Note that it is possible to work around this bug by doing: # ifconfig bge0 mtu 1504 prior to configuring any VLAN interfaces. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-04T08:22:49.000000Z K 7 svn:log V 370 Put an uncovered page between the swap devices, that way we can be sure to not get any cross-device I/O requests. (The unallocated first page protecting BSD labels already gave us this, but that hack may go away at some point in time). Remove the check for cross-device I/O requests in swap_pager_strategy. Move the repeated statistics updating into flushchainbuf(). END K 10 svn:author V 3 yar K 8 svn:date V 27 2003-08-04T09:13:30.000000Z K 7 svn:log V 56 MFC rev. 1.18: A few grammar & punctuation corrections. END K 10 svn:author V 5 dougb K 8 svn:date V 27 2003-08-04T10:23:45.000000Z K 7 svn:log V 171 Use the actual build target (all), since relying on the build as a side effect of the distribution target was apparently just good luck all these years. Submitted by: ru END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-04T10:55:22.000000Z K 7 svn:log V 42 Add support for multiple CPUs to cpuinfo. END K 10 svn:author V 7 rushani K 8 svn:date V 27 2003-08-04T11:04:18.000000Z K 7 svn:log V 82 Merge the following from the English version: 1.43 -> 1.44 errata/article.sgml END K 10 svn:author V 7 rushani K 8 svn:date V 27 2003-08-04T11:07:12.000000Z K 7 svn:log V 91 Merge the following from the English version: 1.1.2.105 -> 1.1.2.106 errata/article.sgml END K 10 svn:author V 4 jhay K 8 svn:date V 27 2003-08-04T12:12:36.000000Z K 7 svn:log V 21 Chase the doc ports. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-04T13:10:01.000000Z K 7 svn:log V 97 A Perl script which tries to "compress" headers by removing comments and superfluous whitespace. END K 10 svn:author V 7 rushani K 8 svn:date V 27 2003-08-04T13:53:58.000000Z K 7 svn:log V 46 SA-03:08 does not affect FreeBSD 5.1-RELEASE. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T14:10:33.000000Z K 7 svn:log V 306 Fix double-wrong tr usage: tr '[a-z]' '[A-Z]' First of all, it should be written as: tr 'a-z' 'A-Z' ranges not encolosed in [] according to POSIX, so [] just included in the replacement. Second, it should be written: tr '[:lower:]' '[:upper:]' since a-z and A-Z may have different length in some locales. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T14:32:56.000000Z K 7 svn:log V 55 Use tr '[:lower:]' '[:upper:]' to work with any locale END K 10 svn:author V 4 bmah K 8 svn:date V 27 2003-08-04T15:23:20.000000Z K 7 svn:log V 39 Minor wordsmithing on previous commit. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:24:06.000000Z K 7 svn:log V 118 Fix problem differently, use LANG=C tr 'a-z' 'A-Z' for hypotetical case that script may generate non-ascii characters END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:25:39.000000Z K 7 svn:log V 229 Fix problem differently, use  LANG=C tr 'a-z' 'A-Z'  for hypotetical case that script may generate non-ascii characters END K 10 svn:author V 4 bmah K 8 svn:date V 27 2003-08-04T15:26:40.000000Z K 7 svn:log V 47 Modified release note: Clarify SA-03:08 note. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:29:09.000000Z K 7 svn:log V 118 Fix problem differently, use LANG=C tr 'a-z' 'A-Z' for hypotetical case that script may generate non-ascii characters END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:31:57.000000Z K 7 svn:log V 57 Use LANG=C before tr to be shure that ranges are correct END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:34:38.000000Z K 7 svn:log V 77 Use LANG=C before tr to be sure that ranges are correct Strip [] from ranges END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:47:43.000000Z K 7 svn:log V 131 Prepend LANG=C to all tr 'a-z' 'A-Z' and vice versa. Note: this is POSIX requirement, c-c ranges are portable only in POSIX locale END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T15:57:01.000000Z K 7 svn:log V 140 Use LANG=C before egrep A-Z and tr A-Z Note: this is POSIX requirement, c-c ranges are portable only in POSIX locale Strip [] for tr ranges END K 10 svn:author V 5 wilko K 8 svn:date V 27 2003-08-04T18:05:36.000000Z K 7 svn:log V 88 Note which machine consoles support booting from KZPEA aka Adaptec 39160 U160 adapters. END K 10 svn:author V 5 wilko K 8 svn:date V 27 2003-08-04T18:09:06.000000Z K 7 svn:log V 92 Note which machine consoles support booting from KZPEA aka Adaptec 39160 U160 adapters. END K 10 svn:author V 6 julian K 8 svn:date V 27 2003-08-04T19:11:56.000000Z K 7 svn:log V 287 Allow foot shooting as Linux emulation needs it. Also change "Auto mode" to use a "special" value instead of 0, and define and document it. I had thought libpthread had already been switched to use auto mode but it appears that patch hasn't been committed yet. Discussed with: Davidxu END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-08-04T19:24:25.000000Z K 7 svn:log V 43 Insert cosmetic spaces. Reported by: kris END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-08-04T20:28:20.000000Z K 7 svn:log V 196 Set td_critnest to 1 when setting up a thread since it is a MI field with MI values. This ensures that td_critnest for a newly fork'd thread is always valid. Requested by: bde (a long time ago) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-08-04T20:32:45.000000Z K 7 svn:log V 234 - Since td_critnest is now initialized in MI code, it doesn't have to be set in cpu_critical_fork_exit() anymore. - As far as I can tell, cpu_thread_link() has never been used, not even when it was originally added, so remove it. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-08-04T20:34:25.000000Z K 7 svn:log V 310 - GC unused cpu_thread_link(). - Move the enabling of interrupts out of assembly and into C a few instructions later at cpu_critical_fork_exit(). This puts more of the MD critical section implementation under the MD critical section API making it easier to test and develop alternative implementations. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2003-08-04T20:35:13.000000Z K 7 svn:log V 97 Adjust a comment to remove staleness and take slightly less implementation specific perspective. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-08-04T21:00:35.000000Z K 7 svn:log V 75 Moved the WORLDDIR variable description to the Optional Variables section. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-04T21:11:33.000000Z K 7 svn:log V 11 gif -> png END K 10 svn:author V 8 dwmalone K 8 svn:date V 27 2003-08-04T21:28:57.000000Z K 7 svn:log V 399 Do some minor Giant pushdown made possible by copyin, fget, fdrop, malloc and mbuf allocation all not requiring Giant. 1) ostat, fstat and nfstat don't need Giant until they call fo_stat. 2) accept can copyin the address length without grabbing Giant. 3) sendit doesn't need Giant, so don't bother grabbing it until kern_sendit. 4) move Giant grabbing from each indivitual recv* syscall to recvit. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-04T21:31:53.000000Z K 7 svn:log V 33 LANG->LC_ALL Pointed by: ru END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-04T22:00:48.000000Z K 7 svn:log V 225 Fix logic bug in the previous commit. Any region less than 5 is a user space region. Hence, we need to test if 5 is greater than the region; not greater equal. This bug caused us to call ast() while interrupting kernel mode. END K 10 svn:author V 6 scottl K 8 svn:date V 27 2003-08-04T23:40:35.000000Z K 7 svn:log V 357 In _bus_dmamap_load_buffer(), only count the number of bounce pages needed if they haven't been counted before. This test was ommitted when bus_dmamap_load() was merged into this function, and results in the pagesneeded field growing without bounds when multiple deferrals happen. Thanks to Paul Saab for beating his head against this for a few hours =-) END K 10 svn:author V 7 iedowse K 8 svn:date V 27 2003-08-05T00:26:51.000000Z K 7 svn:log V 565 In the mknod(), mkfifo(), link(), symlink() and undelete() syscalls, use vrele() instead of vput() on the parent directory vnode returned by namei() in the case where it is equal to the target vnode. This handles namei()'s somewhat strange (but documented) behaviour of not locking either vnode when the two vnodes are equal and LOCKPARENT but not LOCKLEAF is specified. Note that since a vnode double-unlock is not currently fatal, these coding errors were effectively harmless. Spotted by: Juergen Hannken-Illjes Reviewed by: mckusick END K 10 svn:author V 3 hsu K 8 svn:date V 27 2003-08-05T00:27:54.000000Z K 7 svn:log V 152 Make the second argument to sooptcopyout() constant in order to simplify the upcoming PIM patches. Submitted by: Pavlin Radoslavov END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-08-05T02:34:35.000000Z K 7 svn:log V 67 Enable IFCAP_VLAN_MTU and increase MTU for it. Reviewed by: wpaul END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-08-05T03:11:39.000000Z K 7 svn:log V 170 Change device name notation. - /dev/fw{,mem}X.Y represents the Y'th unit on the X'th bus. - /dev/fw{,mem}X is an alias of fw{,mem}X.0 for compatibility. - Clone devices. END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-08-05T03:13:14.000000Z K 7 svn:log V 20 Change device name. END K 10 svn:author V 8 simokawa K 8 svn:date V 27 2003-08-05T03:26:14.000000Z K 7 svn:log V 127 - Use /dev/fwX.Y rather than /dev/fwX. - Add option -u to specify bus number. - Try to open the device only if it's necessary. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T05:35:56.000000Z K 7 svn:log V 107 Back out LC_ALL=C since tr here supposed to run under clean env -i environment always. Pointed by: ru END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-08-05T05:42:08.000000Z K 7 svn:log V 32 Support for the Amharic locale. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T06:00:00.000000Z K 7 svn:log V 57 Explain better what happens when [:lower:] <-> [:upper:] END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T06:34:16.000000Z K 7 svn:log V 41 DIGIT can be only 0-9 according to POSIX END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-05T06:43:12.000000Z K 7 svn:log V 73 Add a B_KEEPGIANT flag so non-SMPng code can get preferential treatment. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-05T06:43:56.000000Z K 7 svn:log V 95 Only drop Giant around the drivers ->d_strategy() if the buffer is not marked to prevent this. END K 10 svn:author V 3 das K 8 svn:date V 27 2003-08-05T06:47:49.000000Z K 7 svn:log V 126 Don't overflow the block quota calculations for NFS mounts. PR: 47607 Submitted by: Eric van Gyzen END K 10 svn:author V 3 das K 8 svn:date V 27 2003-08-05T06:50:28.000000Z K 7 svn:log V 31 Remove redundant declarations. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-05T06:51:26.000000Z K 7 svn:log V 125 Use sparse struct initializations for struct pagerops. This makes grepping for which pagers implement which methods easier. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-05T06:54:44.000000Z K 7 svn:log V 122 Change the implementation of swap backing to use the VM system in normal ways, and drop the need for vm_pager_strategy(). END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-05T06:54:56.000000Z K 7 svn:log V 160 Use sparse struct initialization for struct pagerops. Mark our buffers B_KEEPGIANT before sending them downstream. Remove swap_pager_strategy implementation. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-05T07:05:39.000000Z K 7 svn:log V 301 MFC: 1.94 and 1.125 (don't use hard newlines in string literals, and fix some style bugs on the same lines). This completes making some RELENG_4 kernels work when compiled by gcc-3.3. I intended to make more than some work, but gave up on LINT. GENERIC compliles but has not been tested at runtime. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-05T07:07:37.000000Z K 7 svn:log V 185 MFC: 1.94 and 1.125 (don't use hard newlines in string literals, and fix some style bugs on the same lines). This completes making some RELENG_3 kernels work when compiled by gcc-3.3. END K 10 svn:author V 3 jmg K 8 svn:date V 27 2003-08-05T07:12:49.000000Z K 7 svn:log V 126 add support for using kqueue to watch bpf sockets. Submitted by: Brian Buchanan of nCircle, Inc. Tested on: i386 and sparc64 END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-08-05T07:22:12.000000Z K 7 svn:log V 218 Remove extraneous semicolons. They are already provided by the macro definition, and cause the generation of syntactically incorrect code that gcc happens to accept. Reviewed by: schweikh (mentor) MFC after: 4 weeks END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-08-05T07:23:35.000000Z K 7 svn:log V 148 Change gcc-specific aggregate initialization member specifiers into C9X initializer designators. Reviewed by: schweikh (mentor) MFC after: 4 weeks END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T07:53:28.000000Z K 7 svn:log V 49 Clarify upper/lower conversion description more. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T07:59:46.000000Z K 7 svn:log V 115 Back out [:upper:] and [:lower:] classes sorting, it is not required by POSIX and gains nothing with current code. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-05T08:06:38.000000Z K 7 svn:log V 136 Update screen(1)-related entries with more recent variants PR: 55146 Submitted by: Juha-Matti Tilli END K 10 svn:author V 4 roam K 8 svn:date V 27 2003-08-05T08:26:25.000000Z K 7 svn:log V 203 MFC ru's rev. 1.33 of src/sbin/fdisk/fdisk.8: mdoc(7) police: tidy up the markup and some wording. PR: 55250 (partially) Reported by: Dmitry Morozovsky Reviewed by: ru Approved by: ru END K 10 svn:author V 5 johan K 8 svn:date V 27 2003-08-05T09:19:07.000000Z K 7 svn:log V 842 Make this WARNS=6 clean by: 1: add 'const' to char * where needed; 2: mark unused variables with __unused; 3: remove double prototypes for mode_edit and mode_list. 4: moves the global variables 'bus', 'target', and 'lun' into the main function and protect them with #ifndef MINIMALISTIC, 5: renames 3 variable in order not to shadow other things index -> indx -- in modepage_dump since index is a function from arglist -> arglst -- in the function parse_btl since arglist is also a global variable convertend -> convertend2 -- in the function editentry_set since that name is used two times within the function. 6: cast 0xffffffff in the macro RESOLUTION_MAX(size) to (int) since it is unsigned otherwise. Tested by: make universe Approved by: ken END K 10 svn:author V 8 schweikh K 8 svn:date V 27 2003-08-05T10:03:09.000000Z K 7 svn:log V 33 MFC the applicable part of 1.31. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-08-05T10:29:50.000000Z K 7 svn:log V 79 Added description for the libufs(3) library. PR: 55238 Reviewed by: jmallett END K 10 svn:author V 8 brueffer K 8 svn:date V 27 2003-08-05T10:31:28.000000Z K 7 svn:log V 160 Clarify that the 'state' information consists of characters, not only letters (e.g. IWs+) PR: 55221 Submitted by: Rich Morin MFC after: 3 days END K 10 svn:author V 3 ume K 8 svn:date V 27 2003-08-05T10:36:42.000000Z K 7 svn:log V 88 MFC 1.212: Always put an entry for ::1. It may avoid useless DNS lookup for localhost. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-05T10:45:06.000000Z K 7 svn:log V 51 Add recv(2), recvfrom(2), send(2) and sendfrom(2). END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T10:51:33.000000Z K 7 svn:log V 185 Move the clearing of the IFF_RUNNING flag into the reset routine. Otherwise the interface will report RUNNING to ifconfig after doing 'ifconfig down' although it isn't running anymore. END K 10 svn:author V 6 grehan K 8 svn:date V 27 2003-08-05T11:30:18.000000Z K 7 svn:log V 105 Fix asm string newlines to keep gcc3.3 happy. Use register prefixes to make the asm a bit more readable. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2003-08-05T12:00:55.000000Z K 7 svn:log V 342 Introduce a thread mailbox flag TMF_NOUPCALL. On some architectures other than i386 or AMD64, TP register points to thread mailbox, and they can not atomically clear km_curthread in kse mailbox, in this case, thread retrieves its thread pointer from TP register and sets flag TMF_NOUPCALL in its thread mailbox to indicate a critical region. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T12:02:25.000000Z K 7 svn:log V 343 Make the en(4) driver more like the other ATM drivers. This is the preparation for supporting the OPENVCC and CLOSEVCC ioctls which are needed for ng_atm. This required some re-organisation of the code (mostly converting array indexes to pointers). This also gives us an array of open vccs that will help in using the generic GETVCCS handler. END K 10 svn:author V 7 davidxu K 8 svn:date V 27 2003-08-05T12:08:49.000000Z K 7 svn:log V 37 kse.h is not needed for these files. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T12:19:05.000000Z K 7 svn:log V 32 Use __FBSDID() as per style(9). END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T12:20:19.000000Z K 7 svn:log V 79 Arrghhh. Remove debugging printf's that slipped in in the pre-previous commit. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T12:26:26.000000Z K 7 svn:log V 90 Use the generic getvccs function from net/if_atmsubr.c and remove the home-grown version. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-05T12:50:00.000000Z K 7 svn:log V 67 MFC: 1.22 (support the Titan VScom PCI-200HV2 2 port serial card). END K 10 svn:author V 3 yar K 8 svn:date V 27 2003-08-05T13:35:17.000000Z K 7 svn:log V 307 Exit with a non-zero status upon a block allocation failure. The old way of just returning could result in a file system extremely likely to panic the kernel. The warning printed wouldn't help much since tools invoking newfs(8), e.g., mdmfs(8), couldn't detect the error. PR: bin/55078 MFC after: 1 week END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T13:39:36.000000Z K 7 svn:log V 113 Implement the ATMIOCOPENVCC and ATMIOCCLOSEVCC ioctls(). This was the last driver that did not know about those. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T13:45:54.000000Z K 7 svn:log V 29 Implement per-VC statistics. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T13:48:01.000000Z K 7 svn:log V 84 Define a flag for asynchronuous VC open/close operations as used by the NATM stuff. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T13:58:04.000000Z K 7 svn:log V 70 Make this file to conform more to style(9) before really touching it. END K 10 svn:author V 3 ume K 8 svn:date V 27 2003-08-05T14:57:11.000000Z K 7 svn:log V 408 introduced a flag bit "ND6_IFF_ACCEPT_RTADV" in the nd_ifinfo structure to control whether to accept RAs per-interface basis. the new stuff ensures the backward compatibility; - the kernel does not accept RAs on any interfaces by default. - since the default value of the flag bit is on, the kernel accepts RAs on all interfaces when net.inet6.ip6.accept_rtadv is 1. Obtained from: KAME MFC after: 1 week END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-05T14:59:06.000000Z K 7 svn:log V 393 When adding a channel for INET failed at the device level (ioctl) the code used to call rtrequest(RTM_DELETE, ...). This is a problem, because the function that just has called us (route_output) is not really happy with the route it just is creating beeing ripped out from under it. Unfortunately we also cannot return an error from ifa_rtrequest. Therefore mark the route just as RTF_REJECT. END K 10 svn:author V 3 yar K 8 svn:date V 27 2003-08-05T15:04:39.000000Z K 7 svn:log V 187 Don't reinvent the wheel: Use setmode(3) to interpret a file mode specification from the command line. This approach is more flexible and less error-prone than using a mere strtoul(3). END K 10 svn:author V 3 hsu K 8 svn:date V 27 2003-08-05T17:01:33.000000Z K 7 svn:log V 845 * makes mfc[MFCTBLSIZ] and vif[MAXVIFS] tables accessible via sysctl: - sysctlbyname("net.inet.ip.mfctable", ...) - sysctlbyname("net.inet.ip.viftable", ...) This change is needed so netstat can use sysctlbyname() to read the data from those tables. Otherwise, in some cases "netstat -g" may fail to report the multicast forwarding information (e.g., if we run a multicast router on PicoBSD). * Bug fix: when sending IGMPMSG_WRONGVIF upcall to the multicast routing daemon, set properly "im->im_vif" to the receiving incoming interface of the packet that triggered that upcall rather than to the expected incoming interface of that packet. * Bug fix: add missing increment of counter "mrtstat.mrts_upcalls" * Few formatting nits (e.g., replace extra spaces with TABs) Submitted by: Pavlin Radoslavov END K 10 svn:author V 3 hsu K 8 svn:date V 27 2003-08-05T17:07:04.000000Z K 7 svn:log V 530 * Use sysctlbyname(3) to print statistics about the MFC and multicast VIF tables. This change is needed for consistency with the rest of the netstat/mroute.c implementation, and because in some cases "netstat -g" may fail to report the multicast forwarding information (e.g., if we run a multicast router on PicoBSD). * Remove "DVMRP" from the head comment of file netstat/mroute.c, because the printed multicast-related statistics are not DVMRP-specific anymore. Submitted by: Pavlin Radoslavov END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-05T18:52:02.000000Z K 7 svn:log V 1967 o Put the syscall return registers in the context. Not only do we need this for swapcontext(), KSE upcalls initiated from ast() also need to save them so that we properly return the syscall results after having had a context switch. Note that we don't use r11 in the kernel. However, the runtime specification has defined r8-r11 as return registers, so we put r11 in the context as well. I think deischen@ was trying to tell me that we should save the return registers before. I just wasn't ready for it :-) o The EPC syscall code has 2 return registers and 2 frame markers to save. The first (rp/pfs) belongs to the syscall stub itself. The second (iip/cfm) belongs to the caller of the syscall stub. We want to put the second in the context (note that iip and cfm relate to interrupts. They are only being misused by the syscall code, but are not part of a regular context). This way, when the context is switched to again, we return to the caller of setcontext(2) as one would expect. o Deal with dirty registers on the kernel stack. The getcontext() syscall will flush the RSE, so we don't expect any dirty registers in that case. However, in thread_userret() we also need to save the context in certain cases. When that happens, we are sure that there are dirty registers on the kernel stack. This implementation simply copies the registers, one at a time, from the kernel stack to the user stack. NAT collections are not dealt with. Hence we don't preserve NaT bits. A better solution needs to be found at some later time. We also don't deal with this in all cases in set_mcontext. No temporay solution is implemented because it's not a showstopper. The problem is that we need to ignore the dirty registers and we automaticly do that for at most 62 registers. When there are more than 62 dirty registers we have a memory "leak". This commit is fundamental for KSE support. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-05T19:33:01.000000Z K 7 svn:log V 480 o In _ia64_save_context() clear the return registers except for r8. We write 1 for r8 in the context so that _ia64_restore_context() will return with a non-zero value. _ia64_save_context() always return 0. o In _ia64_restore_context(), don't restore the thread pointer. It is not normally part of the context. Also, restore the return registers. We get called for contexts created by getcontext(), which means we have to restore all the syscall return values. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-05T19:34:36.000000Z K 7 svn:log V 58 send() and recv() are just wrappers, not actual syscalls. END K 10 svn:author V 3 des K 8 svn:date V 27 2003-08-05T19:35:41.000000Z K 7 svn:log V 27 Add a comment about hcomp. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-05T19:37:20.000000Z K 7 svn:log V 343 Define THR_GETCONTEXT and THR_SETCONTEXT in terms of the userland context functions. We don't need to enter the kernel anymore. The contexts are compatible (ie a context created by getcontext() can be restored by _ia64_restore_context()). While here, make the use of THR_ALIGNBYTES and THR_ALIGN a no-op. They are going to be removed anyway. END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-08-05T19:55:21.000000Z K 7 svn:log V 343 Properly support the 3ware generic API. - Build SGL's for ATA_PASSTHROUGH commands - Fallback to using the sgl_offset when the opcode is unknown for building SGL's/ - Add ioctl calls for adding and removing units. - Define previously undefined AEN's - Allocate memory for the ioctl payload in multiples of 512bytes. MFC after: 1 week END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-05T20:11:50.000000Z K 7 svn:log V 416 Don't use pessimal (u_short) types for i/o ports. This is mainly for completenss. The pessimization is tiny compared with i/o port slowness except on very old machines, but code that used signed short types for i/o ports was unpessimized long ago, and the macro that detected it recently started working for u_short types too. Use of bus space should have made this moot long ago. Not tested at runtime by: bde END K 10 svn:author V 8 deischen K 8 svn:date V 27 2003-08-05T22:46:00.000000Z K 7 svn:log V 229 Rethink the MD interfaces for libpthread to account for archs that can (or are required to) have per-thread registers. Tested on i386, amd64; marcel is testing on ia64 and will have some follow-up commits. Reviewed by: davidxu END K 10 svn:author V 2 ps K 8 svn:date V 27 2003-08-05T22:59:01.000000Z K 7 svn:log V 37 Bump __FreeBSD_version for 3ware API END K 10 svn:author V 8 deischen K 8 svn:date V 27 2003-08-05T23:09:22.000000Z K 7 svn:log V 34 Use auto LDT allocation for i386. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-06T00:17:15.000000Z K 7 svn:log V 304 Define the static TLS as an array of long double. This will guarantee that the TLS is 16-byte aligned, as well as guarantee that the thread pointer is 16-byte aligned as it points to struct ia64_tp. Likewise, struct tcb and struct ksd are also guaranteed to be 16-byte aligned (if they weren't already). END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-06T00:23:40.000000Z K 7 svn:log V 217 Fix an off by one error in the number of arguments passed to makecontext(). We only supply 3, not 4. This is mostly harmless, except that on ia64 the garbage can include NaT bits, resulting in NaT consumption faults. END K 10 svn:author V 3 mtm K 8 svn:date V 27 2003-08-06T00:35:13.000000Z K 7 svn:log V 502 Rename localdaemons to localpkg. The original name was really a mistake since /usr/local/etc/rc.d scripts can (and usually do) start more than just daemons. Even the output in the script uses 'local packages.' Also, the term 'local daemons' is used by rc.d/local, which was etc/rc.local of rcOG fame. No repo-copy because there isn't much history to save. I will remove localdaemons shortly with all the other files that don't belong in rc.d anymore. Discussed with: dougb, freebsd-rc@yahoogroups.com END K 10 svn:author V 8 deischen K 8 svn:date V 27 2003-08-06T00:43:28.000000Z K 7 svn:log V 176 Don't call kse_set_curthread() when scheduling a new bound thread. It should only be called by the current kse and never by a KSE on behalf of another. Submitted by: davidxu END K 10 svn:author V 4 grog K 8 svn:date V 27 2003-08-06T03:38:12.000000Z K 7 svn:log V 37 Add Jonathan Postel's year of birth. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-06T04:17:42.000000Z K 7 svn:log V 529 Avoid a level of indirection to get from the thread pointer to the TCB. We know that the thread pointer points to &tcb->tcb_tp, so all we have to do is subtract offsetof(struct tcb, tcb_tp) from the thread pointer to get to the TCB. Any reasonably smart compiler will translate accesses to fields in the TCB as negative offsets from TP. In _tcb_set() make sure the fake TCB gets a pointer to the current KCB, just like any other TCB. This fixes a NULL-pointer dereference in _thr_ref_add() when it tried to get the current KSE. END K 10 svn:author V 8 deischen K 8 svn:date V 27 2003-08-06T06:12:54.000000Z K 7 svn:log V 26 Fix a typo. s/Line/Like/ END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T06:49:18.000000Z K 7 svn:log V 64 Don't drop giant around ->d_strategy(), too much code explodes. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T06:53:31.000000Z K 7 svn:log V 161 Rip out the totally bogos vnode swapdev_vp with extreeme prejudice. Don't mark buffers with B_KEEPGIANT, we don't drop giant in strategy at this point in time. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T06:53:54.000000Z K 7 svn:log V 56 Retire the B_KEEPGIANT flag, we are nowhere near ready. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2003-08-06T07:18:42.000000Z K 7 svn:log V 60 Change the format type to unbreak LINT on 64-bit platforms. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T07:42:38.000000Z K 7 svn:log V 211 MFC 1.11 Fix warnings: a variable that was unused, one that was unused unless sun is defined, an unused function parameter and u_longs printed with the wrong format. PR: bin/39818 Submitted by: dan@obluda.cz END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-08-06T08:09:40.000000Z K 7 svn:log V 296 - Unbreak Alpha snapshots (we were still attempting to build a no longer existing "fixit" crunched binary). - Simplify the CRUNCH_TARGETS variable's initialization. - Simplify the release.5 logic a bit by accounting for the fact that release/*_crunch.conf files were removed two years ago. END K 10 svn:author V 4 ache K 8 svn:date V 27 2003-08-06T08:46:21.000000Z K 7 svn:log V 56 Localize 'ls' output Don't set 8bit in quote processing END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T09:22:47.000000Z K 7 svn:log V 24 Explicitly set B_PAGING END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T10:51:40.000000Z K 7 svn:log V 42 Add XXX: comment to vm_pager_unswapped(). END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-06T10:52:16.000000Z K 7 svn:log V 252 Broke the warning that this driver uses pessimal (u_short) types for i/o ports by calling the implementation-detail level below inb() and outb() instead of inb() and outb(). Unpessimizing the types is too hard since they are mainly used in microcode. END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-06T11:05:42.000000Z K 7 svn:log V 204 Broke the warning that the cx driver (cronyx.c, cx,c and if_cx.c) uses pessimal (u_short) types for i/o ports. I don't understand the data structures in this driver well enough to unpessimize the types. END K 10 svn:author V 2 ru K 8 svn:date V 27 2003-08-06T11:06:38.000000Z K 7 svn:log V 157 - Don't print "elf" before printing "make world" (aout support has been removed). - Avoid using printf(1) where a simple shell's built-in echo is enough. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T11:30:53.000000Z K 7 svn:log V 61 Print an array index that is computed as ptrdiff_t with %tu. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T11:35:41.000000Z K 7 svn:log V 215 When sending check that the channel is really open. Get the information whether we use AAL5 or not from the aal field of the channel parameters instead of the flag in the pseudo header. This flag will go away soon. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T11:53:53.000000Z K 7 svn:log V 89 Honor the new ATMIO_FLAG_ASYNC that requests asynchronuous open/close operations on VCs. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T12:05:48.000000Z K 7 svn:log V 111 Access the swap_pagers' ->putpages() through swappagerops instead of directly, this is a cleaner way to do it. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T12:08:27.000000Z K 7 svn:log V 320 Staticize swap_pager_putpages() Eliminate a lot of checkes to make sure requests are not cross-device which is unnecessary with the new layout. We know a sequential request cannot possibly be cross-device because there is a reserved page between the devices. Remove a couple of comments which no longer are relevant. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T12:09:34.000000Z K 7 svn:log V 27 Remove an unused variable. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T12:37:50.000000Z K 7 svn:log V 80 Honor the new ATMIO_FLAG_ASYNC for asynchronuous open/close operations on a VC. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T13:09:36.000000Z K 7 svn:log V 64 Honor the ATMIO_FLAG_ASYNC for asynchronuous open/close of VCs. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T13:16:51.000000Z K 7 svn:log V 94 Make the driver honor the ATMIO_FLAG_ASYNC that requests asynchronuous open/close operations. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T13:46:15.000000Z K 7 svn:log V 252 Style(9): remove unneccesary space and blank lines, indentation, function prototypes. Use LIST_FOREACH instead of explicit loops. The indentation of functions indendet by 4 space have been left alone. 2-space indented functions have been re-indented. END K 10 svn:author V 3 yar K 8 svn:date V 27 2003-08-06T14:04:47.000000Z K 7 svn:log V 561 If connect(2) has been interrupted by a signal and therefore the connection is to be established asynchronously, behave as in the case of non-blocking mode: - keep the SS_ISCONNECTING bit set thus indicating that the connection establishment is in progress, which is the case (clearing the bit in this case was just a bug); - return EALREADY, instead of the confusing and unreasonable EADDRINUSE, upon further connect(2) attempts on this socket until the connection is established (this also brings our connect(2) into accord with IEEE Std 1003.1.) END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T14:07:54.000000Z K 7 svn:log V 130 Use the new OPENVCC and CLOSEVCC ioctls to open and close the NATM channel. These have been the last consumers of the old ioctls. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T14:13:38.000000Z K 7 svn:log V 79 Make the first two pages magic to protect the BSD labels rather than only one. END K 10 svn:author V 3 yar K 8 svn:date V 27 2003-08-06T14:21:06.000000Z K 7 svn:log V 114 Document that connect(2) can return EINTR, and that it can return EALREADY for a socket in blocking mode as well. END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-06T14:24:16.000000Z K 7 svn:log V 56 Remove unused cmd6workaround() calls. MFC after: 1 day END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T14:34:38.000000Z K 7 svn:log V 182 Remove the last vestiges of ATM raw mode. This has not been useful for a long time and has already been removed from the only driver that supported it (en(4)) and from the man page. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T14:53:27.000000Z K 7 svn:log V 185 Remove the ATMIOCENA and ATMIOCDIS ioctl. Everyting has been converted to use the new OPENVCC and CLOSEVCC calls that allow the sepcification of traffic parameters for the connections. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T15:03:47.000000Z K 7 svn:log V 62 Update to recognize Geode and note that the TSC seems broken. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T15:05:27.000000Z K 7 svn:log V 72 Dont initialize a TSC timecounter until we know if it is broken or not. END K 10 svn:author V 3 mbr K 8 svn:date V 27 2003-08-06T15:19:52.000000Z K 7 svn:log V 90 Change ieee802 to ieee80211. Add bogospaces to match the ISC style. Suggested by: eivind END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T15:56:37.000000Z K 7 svn:log V 766 Ups. I forgot this one in the SIOCATMENA/SIOCATMDIS removal commit. This change allows one to specify almost the complete traffic parameters for IPoverATM channels through the routing table. Up to now we used 4 byte DL addresses (flag, vpi, vciH, vciL). This format is still allowed. If the address is longer, however, the 5th byte is interpreted as the traffic class (UBR, CBR, VBR or ABR) and the remaining bytes are the parameters for this traffic class: UBR: 0 byte or 3 byte PCR CBR: 3 byte PCR VBR: 3 byte PCR, 3 byte SCR, 3 byte MBS ABR: 3 byte PCR, 3 byte MCR, 3 byte ICR, 3 byte TBE, 1 byte NRM, 1 byte TRM, 2 bytes ADTF, 1 byte RIF, 1 byte RDF and 1 byte CDF A script to generate the corresponding 'route add' arguments will follow soon. END K 10 svn:author V 5 harti K 8 svn:date V 27 2003-08-06T16:01:32.000000Z K 7 svn:log V 74 When compiling the module with INVARIANTS we also need INVARIANT_SUPPORT. END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-06T17:19:06.000000Z K 7 svn:log V 141 Remove the 6-10 byte translation from UFI and ATAPI command sets. It is no longer needed now that we have PIM_NO_6_BYTE. Requested by: jhb END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-06T17:28:33.000000Z K 7 svn:log V 416 Don't use pessimal (u_short) types for i/o ports. This is mainly for completenss. The pessimization is tiny compared with i/o port slowness except on very old machines, but code that used signed short types for i/o ports was unpessimized long ago, and the macro that detected it recently started working for u_short types too. Use of bus space should have made this moot long ago. Not tested at runtime by: bde END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-06T17:30:03.000000Z K 7 svn:log V 219 Remove all USB quirks that only specify DA_Q_NO_6_BYTE. They are no longer needed. Other USB quirks remain in hopes that user testing will reveal which ones are also no longer needed. Courtesy of: USENIX lunch break END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-06T18:06:30.000000Z K 7 svn:log V 416 Don't use pessimal (u_short) types for i/o ports. This is mainly for completenss. The pessimization is tiny compared with i/o port slowness except on very old machines, but code that used signed short types for i/o ports was unpessimized long ago, and the macro that detected it recently started working for u_short types too. Use of bus space should have made this moot long ago. Not tested at runtime by: bde END K 10 svn:author V 3 dcs K 8 svn:date V 27 2003-08-06T18:15:10.000000Z K 7 svn:log V 176 RFC 3561 (ad-hoc on-demand distance vector routing) was ratified and the ports assigned by IANA. PR: conf/55125 Submitted by: Bruce M Simpson MFC after: 2 days END K 10 svn:author V 3 bde K 8 svn:date V 27 2003-08-06T18:21:27.000000Z K 7 svn:log V 333 Backed out previous commit. This restores the warning about pessimized (short) types for the port arg of inb() (rev.1.56). The warning started working for u_short types with gcc-3.3. The pessimizations exposed by this been fixed except for the cx and oltr drivers where the breakage of the warning has been pushed to the drivers. END K 10 svn:author V 3 phk K 8 svn:date V 27 2003-08-06T18:40:49.000000Z K 7 svn:log V 52 Remove dangling extern reference to swap_pager_full END K 10 svn:author V 3 alc K 8 svn:date V 27 2003-08-06T18:46:47.000000Z K 7 svn:log V 249 Acquire the page queues lock in pmap_insert_entry(). (I used to believe that the page's busy flag could be relied upon to synchronize access to the pv list. I don't any longer. See, for example, the call to pmap_insert_entry() from pmap_copy().) END K 10 svn:author V 3 alc K 8 svn:date V 27 2003-08-06T19:18:08.000000Z K 7 svn:log V 313 Correct a mistake in the previous revision: Reduce the scope of the page queues lock such that it isn't held around the call to get_pv_entry(), which calls uma_zalloc(). At the point of the call to get_pv_entry(), the lock isn't necessary and holding it could lead to recursive acquisition, which isn't allowed. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-06T21:32:38.000000Z K 7 svn:log V 2530 o In revision 1.45 of exception.S we changed exception_restore to unconditionally restore ar.k7 (kernel memory stack) and ar.k6 (kernel register stack). I don't know what I was smoking then, but if you unconditionally restore ar.k6, you also want to compute its value unconditionally. By having the computation predicated and dependent on whether we return to user mode, we would end up writing junk (= invalid value for ar.bspstore) if we would return to kernel mode. But the whole point of the unconditional restoration was that there is a grey area where we still need to have ar.k6 restored. If we restore with a junk value, we would end up wedging the machine on the next interrupt. So, unconditionally calculate the value we unconditionally write to ar.k6. o The previous braino was found while making the following change: We used to clear the lower 9 bits of the value we write to ar.k6. The meaning being that we know that the kernel register stack is at least 512 byte aligned and simply clearing the lower 9 bits allows us to return to a context of which we don't have dirty registers on the kernel stack, even though the context that entered the kernel does have dirty registers on the kernel stack. By masking-off the lower bits, we correctly obtain the base of the register stack without having to worry that we didn't actually reached the base while unwinding it. The change is to mask off the lower 13 bits, knowing that the kernel register stack is always 8KB aligned. The advantage is that we don't have to worry anymore if there's more than 512 bytes of dirty registers on the kernel stack. A situation that frequently occurs. In exec_setregs() in machdep.c:1.147 or older, we had to deal with that situation by copying the active portion of the register stack down in multiples of 512 bytes. Now that we mask off the lower 13 bits we don't have to do that at all. Contemporary IPF processors have a register file that can hold up to 96 stacked registers (=784 bytes [incl. 2 NaT collections]). With no indication that register files grow beyond a couple of hundred registers, we should not have to worry about it anymore... and yes, 640KB is enough for everybody :-) This change helps setcontext(2) and cpu_set_upcall_kse() in that they can return to completely different contexts without having to mess with the kernel stack. Of course exec_setregs() doesn't need to do that anymore as well. END K 10 svn:author V 5 simon K 8 svn:date V 27 2003-08-06T21:41:35.000000Z K 7 svn:log V 100 Add a reference to config(5) in the SEE ALSO section. Suggested by: dcs Approved by: ceri (mentor) END K 10 svn:author V 3 dds K 8 svn:date V 27 2003-08-06T22:09:44.000000Z K 7 svn:log V 114 MFC revision 1.24 Document EACCESS error return value on non-Unix domain sockets. Reviewed by: schweikh (mentor) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2003-08-06T23:28:19.000000Z K 7 svn:log V 346 In cpu_set_upcall_kse(), create the upcall according to the entry path into the kernel. Normally it's due to a syscall, but one can also be created as the result of a clock interrupt (for example). This now even more looks like exec_setregs(). While here, add an assert that we don't expect more than 8KB of dirty registers on the kernel stack. END K 10 svn:author V 5 silby K 8 svn:date V 27 2003-08-07T00:03:29.000000Z K 7 svn:log V 159 Increase SMALL_PIPE_SIZE from 4096 to PAGE_SIZE. Sorry people with 8K pages, this could be have been causing some of the resent panics under heavy pipe load. END K 10 svn:author V 3 gad K 8 svn:date V 27 2003-08-07T00:59:09.000000Z K 7 svn:log V 196 MFC 1.71: Fix an 'bad file descriptor' error which would come up when using the 'C' flag for an entry that also specifies 'user:group' info. Submitted by: Riccardo Torrini END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:31:14.000000Z K 7 svn:log V 141 MFC: (well, from the old driver) All paths of deallocation do not tear down the interrupt. Move this code into the wi_free so that they do. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:31:51.000000Z K 7 svn:log V 24 Remove tailing newlines END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-07T04:32:10.000000Z K 7 svn:log V 288 Deprecate USB quirks. We should now never send 6 byte commands to such devices. If a device fails due to this commit, add: options DA_OLD_QUIRKS to the kernel config and recompile. Then send the output of "camcontrol inquiry da0" to scsi@freebsd.org so the quirk can be re-enabled. END K 10 svn:author V 3 alc K 8 svn:date V 27 2003-08-07T04:32:40.000000Z K 7 svn:log V 154 - Remove GIANT_REQUIRED from pipe_free_kmem(). - Remove the acquisition and release of Giant around pipe_kmem_free() and uma_zfree() in pipeclose(). END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:33:47.000000Z K 7 svn:log V 59 Remove trailing newlines (from the right branch this time) END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-07T04:34:46.000000Z K 7 svn:log V 29 Note MFC of quirk disabling. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:38:01.000000Z K 7 svn:log V 126 Add entries for NETGEAR MA401RA, IO DATA PCET10CL and Panasonic KXL-CB10AN. Appologies to: those that submitted these to me. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:40:54.000000Z K 7 svn:log V 69 getopt returns -1 not EOF at the end of args. Compare against that. END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-07T04:46:17.000000Z K 7 svn:log V 102 Add includes to fix user-compilation of acpica. Also clarify a comment about overriding the OS name. END K 10 svn:author V 3 njl K 8 svn:date V 27 2003-08-07T04:46:53.000000Z K 7 svn:log V 60 Document hw.acpi.os_name. Also update the credits section. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:50:29.000000Z K 7 svn:log V 64 MAXPATHLEN includes the trailing NUL, so no need to add 1 here. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:51:41.000000Z K 7 svn:log V 63 Prefer PATH_MAX to MAXPATHLEN. PATH_MAX has the trailing NUL. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T04:53:48.000000Z K 7 svn:log V 67 No need to define optind as an extern. stdlib.h does that for us. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T05:38:56.000000Z K 7 svn:log V 90 Prefer PATH_MAX to MAXPATHLEN. Both contain the trailing NUL, so remove the unneeded +1. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T05:47:49.000000Z K 7 svn:log V 48 No need to define externs for getopt interface. END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T06:17:43.000000Z K 7 svn:log V 58 Kill trailing newline, file somewhat different in current END K 10 svn:author V 3 imp K 8 svn:date V 27 2003-08-07T06:19:26.000000Z K 7 svn:log V 135 MFC: skip all devices whose header type is > 2. 0 is normal, 1 is pci bridge and 2 is cardbus bridge. Those are all pci 2.2 defines. END K 10 svn:author V 5 wpaul K 8 svn:date V 27 2003-08-07T07:00:30.000000Z K 7 svn:log V 771 Add preliminary support for the RealTek 8169 gigE chip. Changes: - Fix a bug in rl_dma_map_desc(): set the 'end of ring' bit in the right descriptor (DESC_CNT - 1, not DESC_CNT). The 8139C+ is limited to 64 descriptors and automatically wraps at 64 descriptors even if the EOR bit isn't set, but the 8169 NIC can have up to 1024 descriptors per ring, so we must set the wrap point in the right place. - RealTek moved the RL_TIMERINT register from offset 0x54 to 0x58 in the 8169 -- account for this. - Added rl_gmii_readreg() and rl_gmii_writereg() routines. - Fix rl_probe() to deal with the case where the base type is not RL_8139. The next step is to add jumbo buffer support. Tested with the Xterasys XN-152 NIC (hard to beat $29 for a gigE NIC). END K 10 svn:author V 3 mbr K 8 svn:date V 27 2003-08-07T07:27:14.000000Z K 7 svn:log V 1043 - Fix the polling code to work with media settings in dhclient.conf. - Rename linkstatus to linkstate which is more correct. - Sort any leases each time we loose and regain link. With the first version we spammed the dhclient.leases file. - When there was no link on a interface, polling has been done twice. This has been fixed with a bigger sleep interval. - interface_active() now returns only a assumed state of the link. If we are using media settings, we cannot be sure that the link actually works. That means we assume that the link is working and continue to send requests as usual on the interface and loop over all possible media options. Polling is still done. If your interface gets suddenly link, dhclient will send a dhcp discover request. After all media settings have been tried a few times, dhclient will sleep. If one does change networks very often, it can help to set the "retry timeout" to a low value like 100 seconds. The default is over six minutes. Tested by: Larry Rosenman , imp END