ƒ·u147745 141 1311 1324 147 225 156 201 345 185 196 192 193 286 247 292 333 571 154 424 159 218 286 158 233 252 168 181 191 314 354 853 363 571 212 420 228 268 282 291 372 421 461 843 342 388 388 275 285 312 121 247 204 229 416 144 129 145 250 237 428 285 160 187 178 236 281 853 431 523 908 130 274 250 484 200 274 285 236 183 338 414 240 168 203 192 254 330 180 125 177 188 221 261 409 292 233 155 184 190 273 1638 144 208 496 388 297 180 392 174 350 176 706 142 154 163 151 214 158 215 182 248 390 658 672 330 199 378 239 272 213 209 191 161 459 191 564 1340 1683 262 9322 181 231 K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-07-02T23:52:37.000000Z K 7 svn:log V 1214 Implement functions calls from within DDB on ia64. On ia64 a function pointer doesn't point to the first instruction of that function, but rather to a descriptor. The descriptor has the address of the first instruction, as well as the value of the global pointer. The symbol table doesn't know anything about descriptors, so if you lookup the name of a function you get the address of the first instruction. The cast from the address, which is the result of the symbol lookup, to a function pointer as is done in db_fncall is therefore invalid. Abstract this detail behind the DB_CALL macro. By default DB_CALL is defined as db_fncall_generic, which yields the old behaviour. On ia64 the macro is defined as db_fncall_ia64, in which a descriptor is constructed to yield a valid function pointer. While here, introduce DB_MAXARGS. DB_MAXARGS replaces the existing (local) MAXARGS. The DB_MAXARGS macro can be defined by platforms to create a convenient maximum. By default this will be the legacy 10. On ia64 we define this macro to be 8, for 8 is the maximum number of arguments that can be passed in registers. This avoids having to implement spilling of arguments on the memory stack. Approved by: re (dwhite) END K 10 svn:author V 5 imura K 8 svn:date V 27 2005-07-03T01:12:37.000000Z K 7 svn:log V 1228 Switch Unicode charset name from "ISO-10646-UCS-2" to "UTF-16BE". Using ISO-10646-UCS-2 will cause a problem when we use our own iconv functions in the future, or port iconv other than GNU libiconv. Each vendors treat "UCS-2" as follows, and endian issue is vendor specific: - Solaris 8 iconv Little Endian with BOM - HP-UX iconv Big Endian - NetBSD/i386 1.6 iconv Little Endian - GNU libiconv Big Endian - glibc(RedHat AS 2.1 x86) iconv Little Endian - IANA Name: ISO-10646-UCS-2 MIBenum: 1000 Source: the 2-octet Basic Multilingual Plane, aka Unicode this needs to specify network byte order: the standard does not specify (it is a 16-bit integer space) Alias: csUnicode - MSDN Little Endian http://msdn.microsoft.com/library/en-us/cpref/html/frlrfsystemtextencodingclassgetencodingtopic2.asp Now using UTF-16BE is harmless, because - same as UCS-2 with 2 byte range (U+0000 - U+FFFF) - kernel code of each file systems(cd9660, msdosfs, ntfs) believes Unicode is a 2 byte character at this time. - UDF has only 2 byte range of Unicode filenames. - It's defined at RFC2781. So I believe it's time to change before starting new RELENG_6. :) Approved by: re (scottl) END K 10 svn:author V 8 dannyboy K 8 svn:date V 27 2005-07-03T01:49:58.000000Z K 7 svn:log V 50 MFC revs 1.23-4 and re-add the "command" command. END K 10 svn:author V 5 silby K 8 svn:date V 27 2005-07-03T03:41:19.000000Z K 7 svn:log V 130 MFC PCI Ids for 5751M and 5789 chips - this brings device support in line with what 6.x and 5.x have. Requested by: Juraj Lutter END K 10 svn:author V 3 des K 8 svn:date V 27 2005-07-03T10:40:23.000000Z K 7 svn:log V 64 MFC: (1.75, 1.76) flush the send side rather than shut it down. END K 10 svn:author V 7 delphij K 8 svn:date V 27 2005-07-03T12:35:11.000000Z K 7 svn:log V 104 Minor grammar fix Submitted by: Wojciech A. Koszek [dunstan at freebsd czest pl] Approved by: re (hrs) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-03T12:40:13.000000Z K 7 svn:log V 252 MFC: rc.d/jail 1.23 defaults/rc.conf 1.252 Introduce new per-jail variable jail__flags, which allows to specify jail(8) flags (before the change we had hardcoded "-l -U root"). Submitted by: Frank Behrens PR: conf/80244 END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-03T13:43:10.000000Z K 7 svn:log V 93 Document security advisories applicable to 4.11R. Submitted by: Daniel Gerzo PR: www/82798 END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-03T13:46:30.000000Z K 7 svn:log V 103 Remove SA-05:12.bind9 because it is not applicable to 5.4R. Submitted by: Daniel Gerzo PR: www/82798 END K 10 svn:author V 4 nyan K 8 svn:date V 27 2005-07-03T14:19:29.000000Z K 7 svn:log V 99 MFi386: r1.221 (Use a simpler implementation for the i8254 timecounter). Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-03T15:34:32.000000Z K 7 svn:log V 98 Add another ural(4) device (Belkin F5D7050) Reviewed by: silby (mentor) Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-03T15:38:41.000000Z K 7 svn:log V 190 o Add new ids for the Belkin F5D7050 o Indent usb ids properly o Check the return value of if_alloc() o Call if_free() in ural_detach() Reviewed by: silby (mentor) Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-03T15:42:18.000000Z K 7 svn:log V 151 o Make ipw(4) more robust against frames received with a bad length. o Minor consistency tweaks. Reviewed by: silby (mentor) Approved by: re (scottl) END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2005-07-03T15:42:22.000000Z K 7 svn:log V 196 Remove ambiguity from hlen. IPv4 is now indicated by is_ipv4 and we need a proper hlen value for IPv6 to implement O_REJECT and O_LOG. Reviewed by: glebius, brooks, gnn Approved by: re (scottl) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-07-03T16:33:22.000000Z K 7 svn:log V 237 - Update the CPU version check to recognize P4/EMT64 CPUs. [1] - Allow libpmc(3) to support P4/EMT64 PMCs on the amd64 architecture and AMD K8 PMCs on the i386. [2] Submitted by: ps [1] Pointy hat: myself [2] Approved by: re (scottl) END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-07-03T18:24:03.000000Z K 7 svn:log V 474 Check the alignment of the IP header before passing the packet up to the packet filter. This would cause a panic on architectures that require strict alignment such as sparc64, ia64 and ppc. This uses the code block from if_bridge and the newly added macro IP_HDR_ALIGNED_P(). This /might/ be a temporary messure before all NIC drivers are educated to align the header themself. PR: ia64/81284 Obtained from: NetBSD (if_bridge) Approved by: re (dwhite), mlaier (mentor) END K 10 svn:author V 3 ups K 8 svn:date V 27 2005-07-03T19:35:15.000000Z K 7 svn:log V 62 MFC: 1.9 Zero terminate empty string in kdb_sysctl_available. END K 10 svn:author V 3 ups K 8 svn:date V 27 2005-07-03T20:08:04.000000Z K 7 svn:log V 331 MFC: kern/kern_switch.c 1.112, 1.114-1.116 kern/sched_4bsd.c 1.74 1.75 Fix some race conditions for pinned threads that may cause them to run on the wrong CPU. Add IPI support for preempting a thread on another CPU. ( To reduce diff for future MFCs, The required MD Part to support IPI preemption is not part of this MFC) END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-07-03T20:46:57.000000Z K 7 svn:log V 63 Unbreak ndis(4) when it's statically compiled into the kernel. END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-03T23:51:16.000000Z K 7 svn:log V 125 Add support for IODATA USB-RSAQ3 USB-Serial Adapter. Reported by: Tomokazu Hirai Approved by: re (scottl) MFC after: 3 days END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-04T01:29:41.000000Z K 7 svn:log V 193 when operating in ap mode, explicitly drop associated/authenticated stations when transitioning to INIT state (e.g. as a result of changing state at the 802.11 level) Approved by: re (scottl) END K 10 svn:author V 3 des K 8 svn:date V 27 2005-07-04T02:36:17.000000Z K 7 svn:log V 66 MFC: (1.9) honor dumpdev kenv variable if rc.conf specifies AUTO. END K 10 svn:author V 5 simon K 8 svn:date V 27 2005-07-04T07:48:02.000000Z K 7 svn:log V 138 Handle .Li macro's with quoted arguments, which is used in the ath(4) manual page. Noticed by: brueffer (long ago) Approved by: re (hrs) END K 10 svn:author V 5 simon K 8 svn:date V 27 2005-07-04T07:53:35.000000Z K 7 svn:log V 157 Update hardcoded postfix version number to the current postfix version 2.2.x. PR: i386/82030 Prodded by: matteo MFC after: 1 week Approved by: re (scottl) END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-07-04T08:29:11.000000Z K 7 svn:log V 71 MFC revisions 1.174-1.175: Document some limitations of uid/gid rules. END K 10 svn:author V 7 rushani K 8 svn:date V 27 2005-07-04T14:30:18.000000Z K 7 svn:log V 85 MFC: dev.sgml (rev 1.282) bs driver was already removed. Reviewed by: nyan END K 10 svn:author V 3 phk K 8 svn:date V 27 2005-07-05T15:48:53.000000Z K 7 svn:log V 99 Update for Bulletin C number 30: There will be a leapsecond at the end of 2005. Approved by: re@ END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-05T15:57:55.000000Z K 7 svn:log V 221 Fix one "wrong b_bufobj" panic in reassignbuf() by moving VI_UNLOCK(vp) below KASSERT()s, which means there was no real problem here, we just needed better locking for assertions. OK'ed by: jeff Approved by: re (scottl) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-07-05T17:12:18.000000Z K 7 svn:log V 258 Enhance ia64_flush_dirty() to handle the case in which td != curthread. This case is triggered with ptrace(2) and the PT_SETREGS function. Change the return type of the function to int so that errors can be passed on to the caller. Approved by: re (scottl) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-07-05T17:35:20.000000Z K 7 svn:log V 756 In the splnet times, netgraph was functional and synchronous. Nowadays, an item may be queued and processed later. While this is OK for mbufs, this is a problem for control messages. In the framework: - Add optional callback function pointer to an item. When item gets applied the callback is executed from ng_apply_item(). - Add new flag NG_PROGRESS. If this flag is supplied, then return EINPROGRESS instead of 0 in case if item failed to deliver synchronously and was queued. - Honor NG_PROGRESS in ng_snd_item(). In ng_socket: - When userland sends control message add callback to the item. - If ng_snd_item() returns EINPROGRESS, then sleep. This change fixes possible races in ngctl(8) scripts. Reviewed by: julian Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-05T17:35:35.000000Z K 7 svn:log V 270 o when setting a wpa key, hold a ref on the bss node; fixes a ref cnt leak o make unicast key handling on delete identical to set o change legacy wep key api to reset the 802.11 state machine for backwards compatibility Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-05T17:41:42.000000Z K 7 svn:log V 478 Update key handling: o use proper api for setting/deleting keys instead of depending on key indices o check mac address to decide whether a key is unicast or group/global o check set_tx on key set to decide whether a group/global key should also be marked as default o explicitly set IEEE80211_KEY_GROUP flag for group keys instead of depending on kernel auto-add kludge With the above changes static wep key handling works. Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-05T17:42:27.000000Z K 7 svn:log V 119 explicitly set IEEE80211_KEY_GROUP instead of depending on kernel kludge Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 7 glebius K 8 svn:date V 27 2005-07-05T17:51:02.000000Z K 7 svn:log V 323 Remove obsoleted sysctl interface for switching between standard and 3Com PPPoE modes. The interface was declared obsoleted before 5.3-RELEASE. When running as access concentrator ng_pppoe(4) supports both modes simultanously. When running as client mode can be swicthed in ppp(8) configuration. Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-05T18:05:25.000000Z K 7 svn:log V 135 remove auto-add of IEEE80211_KEY_GROUP; all the apps that need to set it have been fixed Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 des K 8 svn:date V 27 2005-07-05T18:42:18.000000Z K 7 svn:log V 175 Use the correct login class when setting a new password. PR: 65557, 72949 Submitted by: Stephen P. Cravey Approved by: re (scottl) MFC after: 2 weeks END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-07-05T19:23:02.000000Z K 7 svn:log V 190 Fix for a bug in newreno partial ack handling where if a large amount of data is partial acked, snd_cwnd underflows, causing a burst. Found, Submitted by: Noritoshi Demizu Approved by: re END K 10 svn:author V 2 ps K 8 svn:date V 27 2005-07-05T19:25:42.000000Z K 7 svn:log V 199 MFC: 1.279 Fix for a SACK crash caused by a bug in tcp_reass(). tcp_reass() does not clear tlen and frees the mbuf (leaving th pointing at freed memory), if the data segment is a complete duplicate. END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-05T20:13:12.000000Z K 7 svn:log V 279 Remove a || 1 that crept into the i8254 commit and was subsequently copied and pasted. I had actually tested without this change in my trees as had the other testers. Reported by: bde, Rostislav Krasny rosti dot bsd at gmail dot com Approved by: re (scottl) Pointy hat to: jhb END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-07-05T22:49:10.000000Z K 7 svn:log V 324 Add MAC Framework and MAC policy entry point mac_check_socket_create(), which is invoked from socket() and socketpair(), permitting MAC policy modules to control the creation of sockets by domain, type, and protocol. Obtained from: TrustedBSD Project Sponsored by: SPARTA, SPAWAR Approved by: re (scottl) Requested by: SCC END K 10 svn:author V 7 rwatson K 8 svn:date V 27 2005-07-05T23:39:51.000000Z K 7 svn:log V 364 Eliminate MAC entry point mac_create_mbuf_from_mbuf(), which is redundant with respect to existing mbuf copy label routines. Expose a new mac_copy_mbuf() routine at the top end of the Framework and use that; use the existing mpo_copy_mbuf_label() routine on the bottom end. Obtained from: TrustedBSD Project Sponsored by: SPARTA, SPAWAR Approved by: re (scottl) END K 10 svn:author V 7 thompsa K 8 svn:date V 27 2005-07-06T01:24:45.000000Z K 7 svn:log V 746 - Previously when broadcasting to N number of interfaces we would run pfil hooks for each outgoing interface but also run pfil hooks _N times_ on the bridge interface. This is changed so pfil hooks are run once for the bridge interface (bridge0) and then only on the outgoing interfaces in the broadcast loop. - Simplify bridge_enqueue() by moving bridge_pfil() to the callers. - Check (inet6_pfil_hook.ph_busy_count >= 0), it may be possible to have a packet filter hooked for only ipv6 but we were only checking if ipv4 hooks were busy. - Minor optimisation for null mbuf check after bridge_pfil(), move it into the if-block as it couldnt possibly be null outside. Prodded by: mlaier Approved by: re (scottl), mlaier (mentor) END K 10 svn:author V 6 avatar K 8 svn:date V 27 2005-07-06T01:31:34.000000Z K 7 svn:log V 246 Only update the scan entry state based on newly received frames. This fixes duplicative BSS entries(memory leaks as well) listed in "ifconfig dev list scan" when a station fails to associate with an AP. Reviewed by: sam Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T01:51:44.000000Z K 7 svn:log V 295 Fix race condition in handling node reference counts for authenticating stations in ap mode. Track when a node's first auth frame is received and use this to decide whether or not to bump the refcnt. This insures we only ever bump the refcnt once. Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T01:55:17.000000Z K 7 svn:log V 295 Fix handling of data frames queued for a station in power save mode: don't mark the MORE_DATA bit when taking it off the ps queue, there's no 802.11 header then; we must wait to do this at encap time so mark the mbuf instead. Reviewed by: avatar Approved by: re (scottl) Obtained from: Atheros END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-07-06T14:00:52.000000Z K 7 svn:log V 177 Correct a buffer overflow which occurred in the handling of some particularly corrupt deflated data streams. Security: FreeBSD-SA-05:16.zlib Approved by: re (security blanket) END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-07-06T14:01:11.000000Z K 7 svn:log V 187 MFC rev. 1.6 of src/lib/libz/inftrees.c: Correct a buffer overflow which occurred in the handling of some particularly corrupt deflated data streams. Security: FreeBSD-SA-05:16.zlib END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2005-07-06T14:01:52.000000Z K 7 svn:log V 214 MFC rev. 1.6 of src/lib/libz/inftrees.c: Correct a buffer overflow which occurred in the handling of some particularly corrupt deflated data streams. Security: FreeBSD-SA-05:16.zlib Approved by: so (cperciva) END K 10 svn:author V 5 simon K 8 svn:date V 27 2005-07-06T14:27:35.000000Z K 7 svn:log V 27 Add FreeBSD-SA-05:16.zlib. END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T15:38:27.000000Z K 7 svn:log V 154 add "pureg" mode for ap operation: reject association requests from 11b-only stations when operating in 11g Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T15:39:11.000000Z K 7 svn:log V 111 add pureg/-pureg parameter for controlling pureg ap mode support Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-06T15:56:16.000000Z K 7 svn:log V 136 Add device entry for a Farallon EtherMac PC Card that I won on ebay. This one is supported by the sn driver. Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-06T15:59:47.000000Z K 7 svn:log V 323 Add support for Farallon EtherMAC PC Card. Move ethernet MAC address setting into pccard attachment Fix panic from IFP2ENADDR() use prior to if_alloc Remove OLDCARD compat support. This should work still on oldcard, however. sn_attach now requires that the resources be activated now, so adjust. Approved by: re (scottl) END K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-07-06T19:53:38.000000Z K 7 svn:log V 49 MFC rev. 1.111: Cosmetic: s/u_int64_t/uint64_t/g END K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-07-06T19:56:34.000000Z K 7 svn:log V 34 MFC rev. 1.112: Copyright update. END K 10 svn:author V 6 marcel K 8 svn:date V 27 2005-07-06T20:02:05.000000Z K 7 svn:log V 50 MFC rev. 1.113: Handle B-unit break instructions. END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T22:06:27.000000Z K 7 svn:log V 157 clr ptr after freeing state to avoid subsequent null ptr deref (on vendor branch since this change already exists in Jouni's cvs). Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-06T22:06:27.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r147801, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-07T00:04:50.000000Z K 7 svn:log V 335 only invoke ath_rate_tx_complete to update rate control state when the frame being sent is to be ack'd and hasn't been filtered by the h/w; this insures we don't pass in tx descriptors that have no meaningful state (e.g. mcast/bcast frames are not acked and so have no tx retry counts) Approved by: re (scottl) Obtained from: Atheros END K 10 svn:author V 3 kan K 8 svn:date V 27 2005-07-07T00:58:41.000000Z K 7 svn:log V 192 Exclude build32 target from the list of toolchain and kernel-toolchain dependencies. We do not need to build 32bit compat tools to compile a kernel. Approved by: re (scottl) Reported by: jhb END K 10 svn:author V 6 scottl K 8 svn:date V 27 2005-07-07T01:05:45.000000Z K 7 svn:log V 65 Fix ifnet fallout in if_ti. Reviewed by: brooks Approved by: re END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-07T02:55:04.000000Z K 7 svn:log V 95 reclaim mbuf when ieee80211_crypto_encap fails Approved by: re (scottl) Obtained from: netbsd END K 10 svn:author V 4 jkim K 8 svn:date V 27 2005-07-07T05:48:37.000000Z K 7 svn:log V 85 add myself as a new committer Reviewed by: anholt (mentor) Approved by: re (scottl) END K 10 svn:author V 4 jkim K 8 svn:date V 27 2005-07-07T05:59:44.000000Z K 7 svn:log V 142 `net.inet.ipf.fr_running' can be a negative value, which was introduced by recent ipfilter import. Approved by: re (scottl), anholt (mentor) END K 10 svn:author V 4 jeff K 8 svn:date V 27 2005-07-07T07:33:10.000000Z K 7 svn:log V 187 - Since we don't hold a usecount in pfs_exit we have to get a holdcnt prior to calling vgone() to prevent any races. Sponsored by: Isilon Systems, Inc. Approved by: re (vfs blanket) END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2005-07-07T14:16:38.000000Z K 7 svn:log V 755 This is sort of an MFS. Peter made these changes to the RELENG_* branches but missed HEAD. This patch extends his a little bit, setting it up via the Makefiles so that adding _FREEFALL_CONFIG to /etc/make.conf is the only thing needed to cluster-ize things (current setup also requires overriding CFLAGS). From Peter's commit to the RELENG_* branches: > Add the freebsd.org custer's source modifications under #ifdefs to aid > keeping things in sync. For ksu: > * install suid-root by default > * don't fall back to asking for a unix password (ie: be pure kerberos) > * allow custom user instances for things like www and not just root The Makefile tweaks will be MFC-ed, the rest is already done. MFC after: 3 days Approved by: re (dwhite) END K 10 svn:author V 6 marcus K 8 svn:date V 27 2005-07-07T17:48:40.000000Z K 7 svn:log V 335 Fix ptsname(3) by converting it to use devname(3) to obtain the name of a tty device instead of the legacy minor number approach. This is known to fix gnome-vfs' sftp module as well as kio_sftp and kdesu on -CURRENT. Thanks to scottl for the snprintf() approach idea. Reviewed by: phk Tested by: pav mich Approved by: re (scottl) END K 10 svn:author V 7 delphij K 8 svn:date V 27 2005-07-07T18:10:33.000000Z K 7 svn:log V 426 Fix a bug when shell expansion is done against dangling symlinks, by converting the stat() call to a lstat() call, which will cover the situation. One can exercise this bug by referring a dangling link with something like */the-link. Approved by: re (scottl) Submitted by: Simon 'corecode' Schubert [corecode fs ei tum de] Obtained from: NetBSD via DragonFlyBSD (NetBSD rev. 1.51 and DragonFly rev. 1.6) MFC After: 3 days END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T18:17:55.000000Z K 7 svn:log V 815 - Add two new system calls: preadv() and pwritev() which are like readv() and writev() except that they take an additional offset argument and do not change the current file position. In SAT speak: preadv:readv::pread:read and pwritev:writev::pwrite:write. - Try to reduce code duplication some by merging most of the old kern_foov() and dofilefoo() functions into new dofilefoo() functions that are called by kern_foov() and kern_pfoov(). The non-v functions now all generate a simple uio on the stack from the passed in arguments and then call kern_foov(). For example, read() now just builds a uio and calls kern_readv() and pwrite() just builds a uio and calls kern_pwritev(). PR: kern/80362 Submitted by: Marc Olzheim marcolz at stack dot nl (1) Approved by: re (scottl) MFC after: 1 week END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T18:20:38.000000Z K 7 svn:log V 38 Regenerate. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:16:30.000000Z K 7 svn:log V 181 - Remove spl's from osf1_usleep_thread(). - Fix the calculation of the 'slept' timeval returned by osf1_usleep_thread() which has been broken since 1.1. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:17:55.000000Z K 7 svn:log V 157 Fix the computation of uptime for linux_sysinfo(). Before it was returning the uptime in seconds mod 60 which wasn't very useful. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:25:47.000000Z K 7 svn:log V 391 Rototill this file so that it actually compiles. It doesn't do anything in the build still due to some #undef's in svr4.h, but if you hack around that and add some missing entries to syscalls.master, then this file will now compile. The changes involved proc -> thread, using FreeBSD syscall names instead of NetBSD, and axeing syscallarg() and retval arguments. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:26:43.000000Z K 7 svn:log V 107 Remove an unused syscallarg() macro leftover from this code's origins in NetBSD. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:27:29.000000Z K 7 svn:log V 181 Lock Giant in svr4_add_socket() so that the various svr4_*stat() calls can be marked MP safe as this is the only part of them that is not already MP safe. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:28:55.000000Z K 7 svn:log V 192 Conditionally acquire Giant around the ISC and Xenix system calls based on the SYF_MPSAFE flag in the wrapper system calls for the ISC and Xenix system call vectors. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:29:42.000000Z K 7 svn:log V 143 Remove an extra call to read() in ibcs2_read() that can never be reached. (It's already called a few lines earlier.) Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-07T19:30:30.000000Z K 7 svn:log V 91 Lock Giant around a call to userland_sysctl() in ibcs2_sysi86(). Approved by: re (scottl) END K 10 svn:author V 6 scottl K 8 svn:date V 27 2005-07-07T21:40:37.000000Z K 7 svn:log V 242 Patch the freebsd spec file for PowerPC so that PIC code builds correctly. This allows FreeBSD/PPC to build and run out of stock CVS sources. This also takes the file off of the vendor branch. Submitted by: kan, grehan Approved by: re, kan END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-07-07T22:06:54.000000Z K 7 svn:log V 318 Fix bogus fmov* SPARC opcodes. (Note this makes the vendor branch not represent Binutils in the vendor's CVS repository at any point in time. Portmgr did not like the state of Binutils on Sparc that represented the point in time the vendor fixed this issue. I'd rather have fixed this on RELENG_6.) Approved by: re END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-07-07T22:06:54.000000Z K 7 svn:log V 144 This commit was generated by cvs2svn to compensate for changes in r147824, which included commits to RCS files with non-trunk default branches. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-07-07T22:55:40.000000Z K 7 svn:log V 73 MFC: rev. 1.5: later options nullify mutually exclusive earlier options. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2005-07-08T00:00:05.000000Z K 7 svn:log V 107 Add additional sub-systems to the warning users get when they build a kernel that has become GPL infected. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2005-07-08T13:05:59.000000Z K 7 svn:log V 97 ALTQify ste(4). Requested and tested by: Approved by: re (scottl) END K 10 svn:author V 3 den K 8 svn:date V 27 2005-07-08T14:34:10.000000Z K 7 svn:log V 161 Merge the following from the English version: 1.879 -> 1.880 new.sgml Obtained from: The FreeBSD Russian Documentation Project Approved by: re (scottl) END K 10 svn:author V 8 kensmith K 8 svn:date V 27 2005-07-08T14:53:45.000000Z K 7 svn:log V 232 Missed one piece of the cluster's quirk. Need to override WARNS because if _FREEFALL_CONFIG is set gcc bails since pam_sm_setcred() in pam_krb5.c no longer uses any of its parameters. Pointy hat: kensmith Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-08T15:01:13.000000Z K 7 svn:log V 88 Mark second instance of lchown() MP safe just like the first. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-08T15:06:58.000000Z K 7 svn:log V 33 Regen. Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T16:28:24.000000Z K 7 svn:log V 85 update ural ids Reviewed by: damien Approved by: re (scottl) Obtained from: openbsd END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T16:31:19.000000Z K 7 svn:log V 96 reclaim node reference when ieee80211_encap fails Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T16:33:52.000000Z K 7 svn:log V 128 handle RTM_IFINFO events so we terminate when an interface is marked down Reviewed by: brooks, avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T16:36:02.000000Z K 7 svn:log V 168 fix another instance of the MORE_DATA bit handling for frames on the power save queue (missed in previous commit) Submitted by: Bruno Randolf Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-08T18:36:59.000000Z K 7 svn:log V 316 Use implicit type cast for ->k_lock to fix compilation of ndis as a part of the GENERIC kernel with INVARIANT* and WITNESS* turned off. (For non GENERIC kernel KTR and MUTEX_PROFILING should be also off). Submitted by: Eygene A. Ryabinkin Approved by: re (scottl) PR: 81767 END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-08T19:13:49.000000Z K 7 svn:log V 196 ral_init() takes a struct ral_softc as parameter not a struct ifnet. Fixes a panic that occured when setting the interface parameters while the interface was associated. Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-08T19:19:06.000000Z K 7 svn:log V 137 Make sure that all the necessary USB endpoints are found during device attachment. Reviewed by: silby (mentor) Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T19:26:55.000000Z K 7 svn:log V 63 document ENABLE_WPA_SUPPLICANT_EAPOL Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-08T19:30:29.000000Z K 7 svn:log V 89 fix allocation of rx dma buffers. buffers must be contiguous. Approved by: re (scottl) END K 10 svn:author V 6 damien K 8 svn:date V 27 2005-07-08T19:33:42.000000Z K 7 svn:log V 95 oops ... forgot to declare sc in my previous commit. unbreak build. Approved by: re (scottl) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-08T21:08:53.000000Z K 7 svn:log V 180 Add CANCEL command which allows to remove one request from the queue or all requests from the queue if request number is not given. Bump version number. Approved by: re (scottl) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-08T21:28:26.000000Z K 7 svn:log V 1544 Reimplement ggatec/ggated applications. Change communication protocol to be much more resistant on network problems and to allow for much better performance. Better performance is achieved by creating two connections between ggatec and ggated one for sending the data and one for receiving it. Every connection is handled by separeted thread, so there is no more synchronous data flow (send and wait for response), now one threads sends all requests and another receives the data. Use two threads in ggatec(8): - sendtd, which takes I/O requests from the kernel and sends them to the ggated daemon on the other end; - recvtd, which waits for ggated responses and forwards them to the kernel. Use three threads in ggated(8): - recvtd, which waits for I/O requests and puts them onto incoming queue; - disktd, which takes requests from the incoming queue, does disk operations and puts finished requests onto outgoing queue; - sendtd, which takes finished requests from the outgoing queue and sends responses back to ggatec. Because there were major changes in communication protocol, there is no backward compatibility, from now on, both client and server has to run on 5.x or 6.x (or at least ggated should be from the same FreeBSD version on which ggatec is running). For Gbit networks some buffers need to be increased. I use those settings: kern.ipc.maxsockbuf=16777216 net.inet.tcp.sendspace=8388608 net.inet.tcp.recvspace=8388608 and I use '-S 4194304 -R 4194304' options for both, ggatec and ggated. Approved by: re (scottl) END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-08T21:29:17.000000Z K 7 svn:log V 52 Sync which ggate changes. Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-08T22:49:26.000000Z K 7 svn:log V 115 correct check for high priority wme traffic Noticed by: Ralf Assmann Reviewed by: apatti Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-09T01:30:32.000000Z K 7 svn:log V 403 Noticed that NetBSD's sm driver has the PSION GOLDCARD listed, so list that since I can't test it directly. The driver also lists the EM1144 as being supported, but in reality it isn't. The EM1144-T, {XJ,CC}{3288,3336} have the SMC chips in them, but aren't conformant MFC cards, so they need their own driver. Also, it does little harm to list the 8020BT, so remove #if 0. Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-09T01:44:54.000000Z K 7 svn:log V 295 Add Farrallon EtherMac PC Card to the list of supported cards. Fix XJack card description to reflect the actual model that we support (I've never seen a CC-10BT and I've been looking). List the specific chipsets supported. Bump date. Approved by: re (scottl, indirectly due to driver approval) END K 10 svn:author V 7 sobomax K 8 svn:date V 27 2005-07-09T04:00:42.000000Z K 7 svn:log V 200 MFC (sort of): revert k_lock member to be of type void* and use explicit casts to struct mtx* where necessary, like it's done the version that has been committed into the HEAD. Light shed by: scottl END K 10 svn:author V 6 scottl K 8 svn:date V 27 2005-07-09T05:14:32.000000Z K 7 svn:log V 85 Fix the build. The SMC_8020BT define doesn't exist yet. Approved by: re (implicit) END K 10 svn:author V 6 grehan K 8 svn:date V 27 2005-07-09T06:53:52.000000Z K 7 svn:log V 296 The nsegs parameter to bus_dmamap_load_mbuf_sg is not required to be set to 0 on input. This caused a panic in an an MP test version of the GEM driver from Marius, and from inspection of other PCI drivers, the same problem would happen there. Fix by explicitly setting to 0. Approved by: re END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-09T12:24:40.000000Z K 7 svn:log V 82 Document that SOCK_LOCK is used to protect so_emuldata. Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-09T12:26:22.000000Z K 7 svn:log V 257 Add missing locking to linux_connect() so that it can be marked MP safe: - Conditionally grab Giant around the EISCONN hack at the end based on debug.mpsafenet. - Protect access to so_emuldata via SOCK_LOCK. Reviewed by: rwatson Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-09T12:34:49.000000Z K 7 svn:log V 84 Add Giant around linux_getcwd_common() in linux_getcwd(). Approved by: re (scottl) END K 10 svn:author V 3 jhb K 8 svn:date V 27 2005-07-09T12:38:53.000000Z K 7 svn:log V 613 Some cleanups and tweaks to some of the atomic.h files in preparation for further changes and fixes in the future: - Use aliases via macros rather than duplicated inlines wherever possible. - Move all the aliases to the bottom of these files and the inline functions to the top. - Add various comments. - On alpha, drop atomic_{load_acq,store_rel}_{8,char,16,short}(). - On i386 and amd64, don't duplicate the extern declarations for functions in the two non-inline cases (KLD_MODULE and compiler doesn't do inlines), instead, consolidate those two cases. - Some whitespace fixes. Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T13:44:36.000000Z K 7 svn:log V 50 Space & alignment nits. Approved by: re (scottl) END K 10 svn:author V 8 tanimura K 8 svn:date V 27 2005-07-09T13:52:49.000000Z K 7 svn:log V 57 Regrab dvp only when ISDOTDOT. Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T14:03:02.000000Z K 7 svn:log V 71 Protect from partially initialized channels. Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T14:23:42.000000Z K 7 svn:log V 59 Lost CX_UNLOCK(). Pointy hat: me Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T14:27:35.000000Z K 7 svn:log V 121 Lost t_oproc() callback assignment. Pointyhats: phk (who lost it), me (who didn't notice that) Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T14:31:48.000000Z K 7 svn:log V 66 Lost cx_mpsafenet check. Pointy hat: me Approved by: re (scottl) END K 10 svn:author V 3 rik K 8 svn:date V 27 2005-07-09T16:14:05.000000Z K 7 svn:log V 122 Use m_length (m, NULL) instead of m->m_pkthdr.len. Problems reported by: strijar at urai dot ru Approved by: re (scottl) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-07-09T17:08:46.000000Z K 7 svn:log V 87 Fix a bug that affected on-the-fly gmon.out file generation. Approved by: re (scottl) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-07-09T17:12:30.000000Z K 7 svn:log V 152 Fix a bug in pmclog_read() that causes it to return with a false error when a log record crosses an internal buffer boundary. Approved by: re (scottl) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-07-09T17:19:46.000000Z K 7 svn:log V 294 Have the NMI handler call the C language trap() routine and directly exit via 'doreti_exit'. Since the NMI interrupt may be taken at any time, including when the processor has masked external interrupts, it is not safe to call ast() as is done for normal interrupts. Approved by: re (scottl) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-09T17:26:10.000000Z K 7 svn:log V 565 New release notes: amd64/i386 ELF kernel crash dump, snd_csa(4) suspend/resume support, ste(4) ALTQ support, address family check of routing table added, env(1) -v, -S, and -P options added, libkvm crash dump support improvement: ELF format, >4GB on 32-bit arch, and PAE, $jail__flags for rc.d/jail added, and new manual pages: central(4), clkbrd(4), creator(4), ebus(4), eeprom(4), fhc(4), machfb(4), ofw.console(4), openfirm(4), openprom(4), rtc(4), and sbus(4). Update release notes: Use &man.ofw.console.4;. Approved by: re (implicitly) END K 10 svn:author V 6 jkoshy K 8 svn:date V 27 2005-07-09T17:29:36.000000Z K 7 svn:log V 576 sys/dev/hwpmc/hwpmc_{amd,piv,ppro}.c: - Update driver interrupt statistics correctly. sys/sys/pmc.h, sys/dev/hwpmc/hwpmc_mod.c: - Fix a bug affecting debug printfs. - Move the 'stalled' flag from being in a bit in the 'pm_flags' field of a 'struct pmc' to a field of its own in the same structure. This flag is updated from the NMI handler and keeping it separate makes it easier to avoid races with other parts of the code. sys/dev/hwpmc/hwpmc_logging.c: - Do arithmetic with 'uintptr_t' types rather that casting to and from 'char *'. Approved by: re (scottl) END K 10 svn:author V 8 cracauer K 8 svn:date V 27 2005-07-09T18:30:31.000000Z K 7 svn:log V 232 Repair this: ext2fs fails to set the device in the stat(2) system call. Subsequently, that makes fts(3) fail, which goes as far as make ls(1) fail (which uses fts) on ext2fs. Approved by: re (Robert Watson ) END K 10 svn:author V 6 markus K 8 svn:date V 27 2005-07-09T19:04:43.000000Z K 7 svn:log V 103 - Grammar fixes - s/spdcontrol/sdpcontrol/ Approved by: re (hrs, rwatson), brueffer MFC after: 3 days END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-09T23:15:30.000000Z K 7 svn:log V 285 Change default key allocation method to do the right thing for legacy parts (i.e. those that have 4 global key slots). We blindly assign unicast keys to key slot 0. Devices that need alternate allocation logic must override this method. Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 sam K 8 svn:date V 27 2005-07-10T00:17:05.000000Z K 7 svn:log V 146 remove driver-private key allocators; use the default one instead so wpa keys are handled properly Reviewed by: avatar Approved by: re (scottl) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-10T02:00:35.000000Z K 7 svn:log V 179 Add a boatload of new device ids, gleaned from the pcmcia-cs-3.2.8 distribution. Add the appropriate devices to the man pages. Obtained from: pcmcia-cs Approved by: re (scottl) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-10T03:33:00.000000Z K 7 svn:log V 120 Update release notes: pc98 also supports ELF kernel crash dump now. Pointed out by: nyan Approved by: re (implicitly) END K 10 svn:author V 3 imp K 8 svn:date V 27 2005-07-10T03:37:15.000000Z K 7 svn:log V 116 Add the ability to match the on a media type of the device in question. Submitted by: sam Approved by: re (scottl) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-10T03:47:00.000000Z K 7 svn:log V 99 MFC: $jail__flags for rc.d/jail, and pkg_version(1) -I flag. Approved by: re (implicitly) END K 10 svn:author V 3 hrs K 8 svn:date V 27 2005-07-10T03:47:21.000000Z K 7 svn:log V 69 MFC: $jail__flags for rc.d/jail, and pkg_version(1) -I flag. END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T10:33:00.000000Z K 7 svn:log V 363 Switch from trying to allocate up to 8 register banks for the EBus variant to allocating a fixed set of 5 banks that the EBus variant is documented to have (and also has in reality). Trying to allocate up to 8 banks is a remnant from experiments during the development of this driver. Discussed with: joerg, yongari Reviewed by: yongari Approved by: re (scottl) END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T10:36:45.000000Z K 7 svn:log V 96 Add a missing mtx_destroy() in hme_pci_detach(). Reviewed by: yongari Approved by: re (scottl) END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T10:43:59.000000Z K 7 svn:log V 468 - Add missing opt_isa.h. This fixes the standalone build of sound.ko after sys/dev/sound/pcm/channel.c rev. 1.99, i.e. when there's no existing KERNBUILDDIR with an opt_isa.h defined. - Sync with sys/dev/sound/pcm/channel.c rev. 1.99 (sort of), i.e. never compile in isadma support on sparc64 as we just never need it there. This allows to use the "generic" module with a custom kernel that is built without isa(4). Reviewed by: ru Approved by: re (scottl) END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T11:16:34.000000Z K 7 svn:log V 1243 - Declare lookup tables etc. const. - Let creator_bitblt() return ENODEV as it's not implemented (missed in sys/dev/fb/creator.c rev. 1.6). - As a speed optimization inline the creator_ras_wait() etc. helper functions and also cache setting the font increment, font width and plane mask. [1] - I got the meaning of V_DISPLAY_BLANK wrong, it's blank like turn off and not blank like turn on and clear the screen. So move clearing the screen to creator_clear() were it hopefully belongs. - Properly implement V_DISPLAY_BLANK, V_DISPLAY_STAND_BY and V_DISPLAY_SUSPEND. This makes blank_saver.ko and green_saver.ko work. [1] - Change the order of operations in creator_fill_rect(), i.e. write y before x and cy before cx. This fixes drawing the top part of the border with Elite3D cards when switching from Xorg to a VTY. - Move setting the chip configuration we use and invalidating the cache variables to creator_set_mode() and set the V_ADP_MODECHANGE flag. This causes creator_set_mode() to be called when the X server shuts down which fixes the screen corruption caused most of the time by Xorg not restoring the original configuration present at startup. Inspired by/based on: Xorg [1] Approved by: re (scottl) END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T11:43:20.000000Z K 7 svn:log V 1586 - Declare lookup tables etc. const. [1] - Add a missing "ATI" in one of the device descriptions. - In machfb_init_engine() adjust a wait_for_fifo() call to the actual number of operations. - As a speed optimization cache setting the foreground and back- ground colors. - I got the meaning of V_DISPLAY_BLANK wrong, it's blank like turn off and not blank like turn on and clear the screen. So move clearing the screen to machfb_clear() were it hopefully belongs. - Properly implement V_DISPLAY_BLANK, V_DISPLAY_STAND_BY and V_DISPLAY_SUSPEND. This makes blank_saver.ko and green_saver.ko work. [1] - Implement machfb_load_palette() and machfb_save_palette() and set the V_ADP_PALETTE flag. This makes fade_saver.ko work. [2] - Install our 16-color color map only once and with an offset of 16 as the OBP driver expects white to be at index 0 and black at 255. This fixes the inversion of the colors back at the boot prompt after shutting down FreeBSD. This will also be handy if we ever want to implement breaking into OFW. Unfortunately there doesn't seem to be a better way to achieve this as e.g. bypassing the color map isn't supported by all Mach64 chips. - Move invalidating the cache variables to machfb_set_mode() and set the V_ADP_MODECHANGE flag. This causes machfb_set_mode() to be called when the X server shuts down. This hopefully will fix the screen corruption happening occasionally when shutting down the X server and which is present until switching to another VTY. Inspired by: NetBSD [1] Based on: Xorg [2] Approved by: re (scottl) END K 10 svn:author V 6 marius K 8 svn:date V 27 2005-07-10T11:47:04.000000Z K 7 svn:log V 166 Build blank_saver.ko, fade_saver.ko and green_saver.ko on sparc64 now that they work with creator(4) and machfb(4). Reviewed by: ru (style) Approved by: re (scottl) END K 10 svn:author V 6 scottl K 8 svn:date V 27 2005-07-10T15:05:39.000000Z K 7 svn:log V 9225 Massive overhaul of MPT Fusion driver: o Add timeout error recovery (from a thread context to avoid the deferral of other critical interrupts). o Properly recover commands across controller reset events. o Update the driver to handle events and status codes that have been added to the MPI spec since the driver was originally written. o Make the driver more modular to improve maintainability and support dynamic "personality" registration (e.g. SCSI Initiator, RAID, SAS, FC, etc). o Shorten and simplify the common I/O path to improve driver performance. o Add RAID volume and RAID member state/settings reporting. o Add periodic volume resynchronization status reporting. o Add support for sysctl tunable resync rate, member write cache enable, and volume transaction queue depth. Sponsored by ---------------- Avid Technologies Inc: SCSI error recovery, driver re-organization, update of MPI library headers, portions of dynamic personality registration, and misc bug fixes. Wheel Open Technologies: RAID event notification, RAID member pass-thru support, firmware upload/download support, enhanced RAID resync speed, portions of dynamic personality registration, and misc bug fixes. Detailed Changes ================ mpt.c mpt_cam.c mpt_raid.c mpt_pci.c: o Add support for personality modules. Each module exports load, and unload module scope methods as well as probe, attach, event, reset, shutdown, and detach per-device instance methods mpt.c mpt.h mpt_pci.c: o The driver now associates a callback function (via an index) with every transaction submitted to the controller. This allows the main interrupt handler to absolve itself of any knowledge of individual transaction/response types by simply calling the callback function "registered" for the transaction. We use a callback index instead of a callback function pointer in each requests so we can properly handle responses (e.g. event notifications) that are not associated with a transaction. Personality modules dynamically register their callbacks with the driver core to receive the callback index to use for their handlers. o Move the interrupt handler into mpt.c. The ISR algorithm is bus transport and OS independent and thus had no reason to be in mpt_pci.c. o Simplify configuration message reply handling by copying reply frame data for the requester and storing completion status in the original request structure. o Add the mpt_complete_request_chain() helper method and use it to implement reset handlers that must abort transactions. o Keep track of all pending requests on the new requests_pending_list in the softc. o Add default handlers to mpt.c to handle generic event notifications and controller reset activities. The event handler code is largely the same as in the original driver. The reset handler is new and terminates any pending transactions with a status code indicating the controller needs to be re-initialized. o Add some endian support to the driver. A complete audit is still required for this driver to have any hope of operating in a big-endian environment. o Use inttypes.h and __inline. Come closer to being style(9) compliant. o Remove extraneous use of typedefs. o Convert request state from a strict enumeration to a series of flags. This allows us to, for example, tag transactions that have timed-out while retaining the state that the transaction is still in-flight on the controller. o Add mpt_wait_req() which allows a caller to poll or sleep for the completion of a request. Use this to simplify and factor code out from many initialization routines. We also use this to sleep for task management request completions in our CAM timeout handler. mpt.c: o Correct a bug in the event handler where request structures were freed even if the request reply was marked as a continuation reply. Continuation replies indicate that the controller still owns the request and freeing these replies prematurely corrupted controller state. o Implement firmware upload and download. On controllers that do not have dedicated NVRAM (as in the Sun v20/v40z), the firmware image is downloaded to the controller by the system BIOS. This image occupies precious controller RAM space until the host driver fetches the image, reducing the number of concurrent I/Os the controller can processes. The uploaded image is used to re-program the controller during hard reset events since the controller cannot fetch the firmware on its own. Implementing this feature allows much higher queue depths when RAID volumes are configured. o Changed configuration page accessors to allow threads to sleep rather than busy wait for completion. o Removed hard coded data transfer sizes from configuration page routines so that RAID configuration page processing is possible. mpt_reg.h: o Move controller register definitions into a separate file. mpt.h: o Re-arrange includes to allow inlined functions to be defined in mpt.h. o Add reply, event, and reset handler definitions. o Add softc fields for handling timeout and controller reset recovery. mpt_cam.c: o Move mpt_freebsd.c to mpt_cam.c. Move all core functionality, such as event handling, into mpt.c leaving only CAM SCSI support here. o Revamp completion handler to provide correct CAM status for all currently defined SCSI MPI message result codes. o Register event and reset handlers with the MPT core. Modify the event handler to notify CAM of bus reset events. The controller reset handler will abort any transactions that have timed out. All other pending CAM transactions are correctly aborted by the core driver's reset handler. o Allocate a single request up front to perform task management operations. This guarantees that we can always perform a TMF operation even when the controller is saturated with other operations. The single request also serves as a perfect mechanism of guaranteeing that only a single TMF is in flight at a time - something that is required according to the MPT Fusion documentation. o Add a helper function for issuing task management requests to the controller. This is used to abort individual requests or perform a bus reset. o Modify the CAM XPT_BUS_RESET ccb handler to wait for and properly handle the status of the bus reset task management frame used to reset the bus. The previous code assumed that the reset request would always succeed. o Add timeout recovery support. When a timeout occurs, the timed-out request is added to a queue to be processed by our recovery thread and the thread is woken up. The recovery thread processes timed-out command serially, attempting first to abort them and then falling back to a bus reset if an abort fails. o Add calls to mpt_reset() to reset the controller if any handshake command, bus reset attempt or abort attempt fails due to a timeout. o Export a secondary "bus" to CAM that exposes all volume drive members as pass-thru devices, allowing CAM to perform proper speed negotiation to hidden devices. o Add a CAM async event handler tracking the AC_FOUND_DEVICE event. Use this to trigger calls to set the per-volume queue depth once the volume is fully registered with CAM. This is required to avoid hitting firmware limits on volume queue depth. Exceeding the limit causes the firmware to hang. mpt_cam.h: o Add several helper functions for interfacing to CAM and performing timeout recovery. mpt_pci.c: o Disable interrupts on the controller before registering and enabling interrupt delivery to the OS. Otherwise we risk receiving interrupts before the driver is ready to receive them. o Make use of compatibility macros that allow the driver to be compiled under 4.x and 5.x. mpt_raid.c: o Add a per-controller instance RAID thread to perform settings changes and query status (minimizes CPU busy wait loops). o Use a shutdown handler to disable "Member Write Cache Enable" (MWCE) setting for RAID arrays set to enable MWCE During Rebuild. o Change reply handler function signature to allow handlers to defer the deletion of reply frames. Use this to allow the event reply handler to queue up events that need to be acked if no resources are available to immediately ack an event. Queued events are processed in mpt_free_request() where resources are freed. This avoids a panic on resource shortage. o Parse and print out RAID controller capabilities during driver probe. o Define, allocate, and maintain RAID data structures for volumes, hidden member physical disks and spare disks. o Add dynamic sysctls for per-instance setting of the log level, array resync rate, array member cache enable, and volume queue depth. mpt_debug.c: o Add mpt_lprt and mpt_lprtc for printing diagnostics conditioned on a particular log level to aid in tracking down driver issues. o Add mpt_decode_value() which parses the bits in an integer value based on a parsing table (mask, value, name string, tuples). mpilib/*: o Update mpi library header files to latest distribution from LSI. Submitted by: gibbs Approved by: re END K 10 svn:author V 6 scottl K 8 svn:date V 27 2005-07-10T15:07:57.000000Z K 7 svn:log V 86 Update for the new and removed MPT driver files. Submitted by: gibbs Approved by: re END K 10 svn:author V 3 pjd K 8 svn:date V 27 2005-07-10T15:16:49.000000Z K 7 svn:log V 138 Don't compile ggatec/ggated in NO_LIBPTHREAD case. Reported by: Andrea Campi Approved by: re (scottl) END