ƒ»^215687 111 556 398 196 188 190 265 489 187 198 956 210 138 353 405 1207 158 1485 134 215 220 325 607 239 141 136 163 424 409 239 160 330 181 239 362 180 427 258 191 138 719 360 1848 1848 280 322 289 114 311 168 168 297 288 348 397 131 140 139 135 305 253 243 289 296 517 225 299 217 139 226 189 158 225 1345 1345 257 302 257 290 291 196 132 183 171 153 237 174 297 773 214 237 319 195 223 695 947 138 427 273 273 432 132 18098 136 271 374 195 213 147 162 241 409 K 10 svn:author V 2 jh K 8 svn:date V 27 2010-11-22T16:47:53.607341Z K 7 svn:log V 464 Use g_eventlock to protect against losing wakeups in the g_event process and replace tsleep(9) with msleep(9) which doesn't use a timeout. The previously used timeout caused the event process to wake up ten times per second on an idle system. one_event() is now called with the topology lock held and it returns with both the topology and event locks held when there are no more events in the queue. Reported by: mav, Marius Nünnerich Reviewed by: freebsd-geom END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T16:58:07.766868Z K 7 svn:log V 297 MFC r213986: Fix an XXX comment by answering 'no'. OS X does not set the day-of-week counter on SMU-based systems, which causes FreeBSD to reject the RTC time when used in a dual-boot environment. Since we don't use the day-of-week counter anyway, solve this by just not checking that it matches. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:01:40.958460Z K 7 svn:log V 96 MFC r214610: Map userland copyin/copyout segment no-execute while it is mapped into the kernel. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:03:09.834005Z K 7 svn:log V 88 MFC r214575: Allow access to the HT I/O port space on the IBM CPC9X5 northbridge chips. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:06:24.659462Z K 7 svn:log V 90 MFC r204127,215101: Provide support for the DEEPNAP power-saving mode found on the 970MP. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:09:42.551346Z K 7 svn:log V 164 MFC r215100: Disabling CPU NAP modes during SMU commands is a hack needed only on U3 systems. Don't use it on non-U3 systems to allow cpu_idle() to work correctly. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:13:04.763530Z K 7 svn:log V 388 MFC r205506: Get nexus(4) out of the RTC business. The interface used by nexus(4) in Open Firmware was Apple-specific, and we have complete coverage of Apple system controllers, so move RTC responsibilities into the system controller drivers. This avoids interesting problems from manipulating these devices through Open Firmware behind the backs of their drivers. Obtained from: NetBSD END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:14:29.470561Z K 7 svn:log V 87 MFC r208841: Add support for the I2C busses hanging off Apple system management chips. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:15:41.305546Z K 7 svn:log V 98 MFC r208842: Add a driver for the CPU temperature sensors attached over I2C on the PowerMac 11,2. END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-22T17:39:18.793157Z K 7 svn:log V 855 MFC r212054: Restructure how reset and poweroff are handled on PowerPC systems, since the existing code was very platform specific, and broken for SMP systems trying to reboot from KDB. - Add a new PLATFORM_RESET() method to the platform KOBJ interface, and migrate existing reset functions into platform modules. - Modify the OF_reboot() routine to submit the request by hand to avoid the IPIs involved in the regular openfirmware() routine. This fixes reboot from KDB on SMP machines. - Move non-KDB reset and poweroff functions on the Powermac platform into the relevant power control drivers (cuda, pmu, smu), instead of using them through the Open Firmware backdoor. - Rename platform_chrp to platform_powermac since it has become increasingly Powermac specific. When we gain support for IBM systems, we will grow a new platform_chrp. END K 10 svn:author V 5 simon K 8 svn:date V 27 2010-11-22T18:23:44.490248Z K 7 svn:log V 115 Merge OpenSSL 0.9.8p into head. Security: CVE-2010-3864 Security: http://www.openssl.org/news/secadv_20101116.txt END K 10 svn:author V 5 simon K 8 svn:date V 27 2010-11-22T18:29:00.729560Z K 7 svn:log V 44 Regenerate manual pages for OpenSSL 0.9.8p. END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-11-22T19:01:47.967521Z K 7 svn:log V 255 The meshid element is memcpy()'ed into se_meshid if included in either beacon or probe-response frames. Fix the condition by checking for the the array's content instead of the always existing array itself. Reviewed by: rpaulo, stefanf MFC after: 3 days END K 10 svn:author V 3 des K 8 svn:date V 27 2010-11-22T19:02:30.890396Z K 7 svn:log V 312 MFC r209052, r210702, r211095, r211182, r212149: Fix a memory leak and some potential deadlocks, increase the target limit from 4 to 64, and numerous other scalability and stability improvements, including. Submitted by: Daniel Braniss Sponsored by: Dansk Scanning A/S, Data Robotics Inc. END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-11-22T19:32:54.109023Z K 7 svn:log V 1113 After some off-list discussion, revert a number of changes to the DPCPU_DEFINE and VNET_DEFINE macros, as these cause problems for various people working on the affected files. A better long-term solution is still being considered. This reversal may give some modules empty set_pcpu or set_vnet sections, but these are harmless. Changes reverted: ------------------------------------------------------------------------ r215318 | dim | 2010-11-14 21:40:55 +0100 (Sun, 14 Nov 2010) | 4 lines Instead of unconditionally emitting .globl's for the __start_set_xxx and __stop_set_xxx symbols, only emit them when the set_vnet or set_pcpu sections are actually defined. ------------------------------------------------------------------------ r215317 | dim | 2010-11-14 21:38:11 +0100 (Sun, 14 Nov 2010) | 3 lines Apply the STATIC_VNET_DEFINE and STATIC_DPCPU_DEFINE macros throughout the tree. ------------------------------------------------------------------------ r215316 | dim | 2010-11-14 21:23:02 +0100 (Sun, 14 Nov 2010) | 2 lines Add macros to define static instances of VNET_DEFINE and DPCPU_DEFINE. END K 10 svn:author V 6 brucec K 8 svn:date V 27 2010-11-22T19:40:27.871617Z K 7 svn:log V 63 Fix use of AND operator: should be bitwise instead of logical. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-11-22T19:52:44.572993Z K 7 svn:log V 1390 - Disable caches and flush caches/TLBs when we update PAT as we do for MTRR. Flushing TLBs is required to ensure cache coherency according to the AMD64 architecture manual. Flushing caches is only required when changing from a cacheable memory type (WB, WP, or WT) to an uncacheable type (WC, UC, or UC-). Since this function is only used once per processor during startup, there is no need to take any shortcuts. - Leave PAT indices 0-3 at the default of WB, WT, UC-, and UC. Program 5 as WP (from default WT) and 6 as WC (from default UC-). Leave 4 and 7 at the default of WB and UC. This is to avoid transition from a cacheable memory type to an uncacheable type to minimize possible cache incoherency. Since we perform flushing caches and TLBs now, this change may not be necessary any more but we do not want to take any chances. - Remove Apple hardware specific quirks. With the above changes, it seems this hack is no longer needed. - Improve pmap_cache_bits() with an array to map PAT memory type to index. This array is initialized early from pmap_init_pat(), so that we do not need to handle special cases in the function any more. Now this function is identical on both amd64 and i386. Reviewed by: jhb Tested by: RM (reuf_m at hotmail dot com) Ryszard Czekaj (rychoo at freeshell dot net) army.of.root (army dot of dot root at googlemail dot com) MFC after: 3 days END K 10 svn:author V 6 brucec K 8 svn:date V 27 2010-11-22T20:10:48.548466Z K 7 svn:log V 39 Fix some more warnings found by clang. END K 10 svn:author V 6 brucec K 8 svn:date V 27 2010-11-22T20:18:46.660957Z K 7 svn:log V 119 hdr.elf.e_ident[EI_OSABI] is not a bitmask so '==' should been used. Reported by: Artem Belevich END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-11-22T20:23:18.177349Z K 7 svn:log V 127 Fix linux kernel module breakage introduced in r215675, by including . Noticed by: many Pointy hat to: netchild END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-11-22T20:39:29.473706Z K 7 svn:log V 227 Prefer pmap_extract() over pmap_kextract() as done in MmIsAddressValid(). According to the comment for MmIsAddressValid() there are issues on PAE kernels using pmap_kextract(). Submitted by: Paul B Mahol END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-11-22T20:46:38.422585Z K 7 svn:log V 509 Resurrect amd64 support. - Many drivers on amd64 are picking system uptime, interrupt time and ticks via global data structure instead of calling functions for performance reasons. For now just patch such address so driver will not trigger page fault when trying to access such data. In future, additional callout may be added to update data in periodic intervals. - On amd64 we need to allocate "shadow space" on stack before calling any function. Submitted by: Paul B Mahol END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2010-11-22T20:50:40.828350Z K 7 svn:log V 143 MFH r215508: Off by one page in vm_reserv_reclaim_contig(): reclaim reservations with only a single free page as well. Reviewed by: alc END K 10 svn:author V 3 dim K 8 svn:date V 27 2010-11-22T20:52:18.328514Z K 7 svn:log V 49 Sync: merge r215464 through r215708 from ^/head. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T20:57:44.790379Z K 7 svn:log V 41 Add missing newlines. MFC after: 3 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-11-22T21:12:20.936117Z K 7 svn:log V 70 Remove a stale file. It seems this file was mis-merged from current. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T21:13:42.072941Z K 7 svn:log V 328 Given that unlike f.e. rgephy(4) this driver doesn't explicitly start an autonegotiation along with manual media selection and ukphy_status() also only reports flow control status when BMCR_AUTOEN is set (at least with gentbi(4) determining the flow control status results in false-positives when not set), use MIIF_NOMANPAUSE. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T21:20:11.625007Z K 7 svn:log V 313 Given that unlike f.e. rgephy(4) these drivers doen't explicitly start an autonegotiation along with manual media selection and also only report flow control status when BMCR_AUTOEN is set (at least with gentbi(4) determining the flow control status results in false-positives when not set), use MIIF_NOMANPAUSE. END K 10 svn:author V 6 mlaier K 8 svn:date V 27 2010-11-22T21:22:08.457019Z K 7 svn:log V 143 MFH r215508: Off by one page in vm_reserv_reclaim_contig(): reclaim reservations with only a single free page as well. Reviewed by: alc END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T21:24:29.431526Z K 7 svn:log V 65 Add support for flow control. Obtained from: NetBSD (partially) END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-11-22T21:39:35.222867Z K 7 svn:log V 237 Remove kernbb(8) from the source tree. It's been broken for several years and with all the binutils/toolchain changes in flight, it might make more sense to put efforts into dtrace and hwpmc instead. Discussed with: phk PR: bin/83558 END K 10 svn:author V 7 n_hibma K 8 svn:date V 27 2010-11-22T21:43:45.981006Z K 7 svn:log V 85 MFC -r212829: Bugfix: Reset the packet counters at the same time as the byte counts. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-11-22T21:58:00.330869Z K 7 svn:log V 145 Resume critical PCI devices (and their children) first, then everything else later. This give us better chance to catch device driver problems. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T22:03:11.763986Z K 7 svn:log V 266 - Also probe BCM5214 and BCM5222. - Add some DSP init code for BCM5221. The values derived from Apple's GMAC driver and the same init code also exists in Linux's sungem_phy driver. - Only read media status bits when they are valid. Obtained from: NetBSD, OpenBSD END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T22:06:30.292356Z K 7 svn:log V 85 - Fix and enable support for flow control. - Fix compilation with CAS_DEBUG defined. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-22T22:13:26.605244Z K 7 svn:log V 331 - Fix and enable support for flow control. - Partially revert r172334; as it turns out the DELAYs in gem_reset_{r,t}x() are actually necessary although bus space barriers and gem_bitwait() are used, otherwise the controller may trigger an IOMMU errors on at least sparc64. This is in line with what Linux and OpenSolaris do. END K 10 svn:author V 7 n_hibma K 8 svn:date V 27 2010-11-22T22:41:43.360291Z K 7 svn:log V 161 MFC r214754: Don't spam the console with 'Loading ' messages. This cannot be hidden behind 'bootverbose' as this file is included from userland. END K 10 svn:author V 3 gnn K 8 svn:date V 27 2010-11-22T22:55:43.052486Z K 7 svn:log V 99 Restore the (state) and \n printout when not using -T. Pointed out by: brucec@ MFC after: 3 weeks END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-22T23:04:25.166327Z K 7 svn:log V 46 Fix small typo. Submitted by: Artem Belevich END K 10 svn:author V 3 zec K 8 svn:date V 27 2010-11-22T23:35:29.494054Z K 7 svn:log V 626 Allow for vlan(4) ifnets to have overlapping unit numbers if they are created in separated vnets. As a side-effect of having a separated if_cloner instance for each vnet, all vlan ifnets created in a vnet will be automatically destroyed when vnet teardown is initiated. Disallow SIOCSETVLAN and SIOCGETVLAN ioctls on vlan ifnets which are associated with physical ifnets residing in parent vnets. This is an interim vlan-specific solution which will be superseded by a more generic if_cloner V_irtualization change from p4. For nooptions VIMAGE builds, this should be a no-op change. Discussed with: bz MFC after: 3 days END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-11-22T23:49:06.246593Z K 7 svn:log V 264 sh: Fix confusing behaviour if chdir succeeded but getcwd failed in cd -P. If getcwd fails, do not treat this as an error, but print a warning and unset PWD. This is similar to the behaviour when starting the shell in a directory whose name cannot be determined. END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2010-11-23T01:24:27.498673Z K 7 svn:log V 1749 MFC of 213119 Reported problem: Large (60GB) filesystems created using "newfs -U -O 1 -b 65536 -f 8192" show incorrect results from "df" for free and used space when mounted immediately after creation. fsck on the new filesystem (before ever mounting it once) gives a "SUMMARY INFORMATION BAD" error in phase 5. This error hasn't occurred in any runs of fsck immediately after "newfs -U -b 65536 -f 8192" (leaving out the "-O 1" option). Solution: The default UFS1 superblock is located at offset 8K in the filesystem partition; the default UFS2 superblock is located at offset 64K in the filesystem partition. For UFS1 filesystems with a blocksize of 64K, the first alternate superblock resides at 64K which is the the location used for the default UFS2 superblock. By default, the system first checks for a valid superblock at the default location for a UFS2 filoesystem. For a UFS1 filesystem with a blocksize of 64K, there is a valid UFS1 superblock at this location. Thus, even though it is expected to be a backup superblock, the system will use it as its default superblock. So, we have to ensure that all the statistcs on usage are correct in this first alternate superblock as it is the superblock that will actually be used. While tracking down this problem, another limitation of UFS1 became evident. For UFS1, the number of inodes per cylinder group is stored in an int16_t. Thus the maximum number of inodes per cylinder group is limited to 2^15 - 1. This limit can easily be exceeded for block sizes of 32K and above. Thus when building UFS1 filesystems, newfs must limit the number of inodes per cylinder group to 2^15 - 1. Reported by: Guy Helmer Followup by: Bruce Cran PR: 107692 END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2010-11-23T01:32:44.634527Z K 7 svn:log V 1749 MFC of 213119 Reported problem: Large (60GB) filesystems created using "newfs -U -O 1 -b 65536 -f 8192" show incorrect results from "df" for free and used space when mounted immediately after creation. fsck on the new filesystem (before ever mounting it once) gives a "SUMMARY INFORMATION BAD" error in phase 5. This error hasn't occurred in any runs of fsck immediately after "newfs -U -b 65536 -f 8192" (leaving out the "-O 1" option). Solution: The default UFS1 superblock is located at offset 8K in the filesystem partition; the default UFS2 superblock is located at offset 64K in the filesystem partition. For UFS1 filesystems with a blocksize of 64K, the first alternate superblock resides at 64K which is the the location used for the default UFS2 superblock. By default, the system first checks for a valid superblock at the default location for a UFS2 filoesystem. For a UFS1 filesystem with a blocksize of 64K, there is a valid UFS1 superblock at this location. Thus, even though it is expected to be a backup superblock, the system will use it as its default superblock. So, we have to ensure that all the statistcs on usage are correct in this first alternate superblock as it is the superblock that will actually be used. While tracking down this problem, another limitation of UFS1 became evident. For UFS1, the number of inodes per cylinder group is stored in an int16_t. Thus the maximum number of inodes per cylinder group is limited to 2^15 - 1. This limit can easily be exceeded for block sizes of 32K and above. Thus when building UFS1 filesystems, newfs must limit the number of inodes per cylinder group to 2^15 - 1. Reported by: Guy Helmer Followup by: Bruce Cran PR: 107692 END K 10 svn:author V 7 delphij K 8 svn:date V 27 2010-11-23T01:39:30.228395Z K 7 svn:log V 183 MFC r204459 (antonie): Add files to remove when MK_PKGTOOLS=no. MFC r215045 [1]: Hide 460.chkportsum in MK_PKGTOOLS != no case. Submitted by: Alex Kozlov [1] END K 10 svn:author V 4 jeff K 8 svn:date V 27 2010-11-23T03:53:53.097206Z K 7 svn:log V 228 - Fix a bug by enclosing the ternary operator in parentheses. This was made more problematic by the definition of VM_MAP_WIRE_KERNEL as 0 rather than a real value. Sponsored by: Isilon Systems, iX Systems, and Panasas. END K 10 svn:author V 8 cperciva K 8 svn:date V 27 2010-11-23T04:50:01.235802Z K 7 svn:log V 191 Add parentheses for clarity. The parentheses around the two terms of the && are unnecessary but I'm leaving them in for the sake of avoiding confusion (I confuse easily). Submitted by: bde END K 10 svn:author V 5 maxim K 8 svn:date V 27 2010-11-23T06:31:09.815657Z K 7 svn:log V 20 o NetBSD 5.1 added. END K 10 svn:author V 7 n_hibma K 8 svn:date V 27 2010-11-23T08:15:14.008746Z K 7 svn:log V 214 Make the Huawei E1820 work (Emile Coetzee). Shorten the descriptive strings for Huawei devices. The vendor or operator name should not be included in the device name. Submitted by: Emile Coetzee MFC after: 3 days END K 10 svn:author V 7 fabient K 8 svn:date V 27 2010-11-23T09:12:43.964791Z K 7 svn:log V 72 MFC 200669: Recognize Intel CPUs with Family 0x6, Models 0x1E and 0x1F. END K 10 svn:author V 7 fabient K 8 svn:date V 27 2010-11-23T09:17:00.562089Z K 7 svn:log V 72 MFC 200669: Recognize Intel CPUs with Family 0x6, Models 0x1E and 0x1F. END K 10 svn:author V 2 mm K 8 svn:date V 27 2010-11-23T10:37:00.571810Z K 7 svn:log V 205 MFC r213700, r215187, r215515: MFC r213700: Upgrade xz to git snapshot as of 20101010 MFC r215187: Update xz to release 5.0.0 MFC r215515 Remove obsoleted private symbol. Approved by: delphij (mentor) END K 10 svn:author V 2 mm K 8 svn:date V 27 2010-11-23T11:31:12.994295Z K 7 svn:log V 196 MFC r213718: - Add support for xz compression to pkg_create, bzip2 remains the default compression algorithm. - Bump PKG_INSTALL_VERSION to 20101012. Submitted by: mm Approved by: portmgr (flz) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-11-23T11:39:11.276636Z K 7 svn:log V 251 MFC r215176: Stop documenting vgonel() after its converting to the static function: svn r147332 (by jeff): "Don't make vgonel() globally visible". While here, specify the vnode locking scheme for vgone(). Approved by: avg (mentor), kib (mentor) END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-11-23T11:41:40.516811Z K 7 svn:log V 300 MFC r215176: Stop documenting vgonel() after its converting to the static function: svn r147332 (by jeff): "Don't make vgonel() globally visible". While here, specify the vnode locking scheme for vgone(). MFC r176604 (by davidc): Minor grammar fixup. Approved by: avg (mentor), kib (mentor) END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-11-23T12:47:15.352183Z K 7 svn:log V 39 Add include guards. MFC after: 3 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-11-23T12:51:08.997676Z K 7 svn:log V 48 Add PT_GNU_STACK definition. MFC after: 3 days END K 10 svn:author V 3 zec K 8 svn:date V 27 2010-11-23T13:25:27.305376Z K 7 svn:log V 47 MFC 206360: Start copyright notice with /*- END K 10 svn:author V 3 zec K 8 svn:date V 27 2010-11-23T13:26:59.874395Z K 7 svn:log V 43 MFC 207426: Avoid undefined behaviour. END K 10 svn:author V 3 zec K 8 svn:date V 27 2010-11-23T13:28:45.155866Z K 7 svn:log V 212 MFC 209723: Fix a double-free bug which can occur if both bit error rate and packet duplication probability are configured on a ng_pipe node. Submitted by: Jeffrey Ahrenholtz MFC after: 3 days END K 10 svn:author V 3 zec K 8 svn:date V 27 2010-11-23T13:37:42.979091Z K 7 svn:log V 160 MFC 212726: Make the format of "Real Memory" and "Virtual Memory" lines more consistent with the rest of sysctl vm.vmtotal output. MFC after: 3 days END K 10 svn:author V 7 pluknet K 8 svn:date V 27 2010-11-23T13:49:15.489358Z K 7 svn:log V 146 Update MNT_ROOTFS comments after changes in the root mount logic. Reported by: arundel Suggested by: marcel (phrasing) Approved by: kib (mentor) END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-11-23T13:55:30.848369Z K 7 svn:log V 196 specialreg.h: add definitions for some useful bits found in CPUID.6 EAX and ECX CPUID.6 is defined as Thermal and Power Management Leaf by both Intel and AMD. Reviewed by: jhb MFC after: 7 days END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-23T14:13:12.657429Z K 7 svn:log V 195 MFC r208839,214999: Add two new flags (IIC_M_NOSTOP and IIC_M_NOSTART) to struct iic_msg to allow consumers of iicbus_transfer() to send messages with repeated starts. Reviewed by: imp, thompsa END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-11-23T14:30:22.598368Z K 7 svn:log V 424 taskqueue: drop unused tq_name field tq_name was used write-only and besides it was just a pointer, so it could point to some garbage in a temporary buffer that's gone. This change shouldn't change KPI/KBI as struct taskqueue is private to subr_taskqueue.c. If we find a need for tq_name it can be resurrected at any moment. taskqueue_create() interface is preserved for this purpose. Suggested by: jhb MFC after: 10 days END K 10 svn:author V 3 avg K 8 svn:date V 27 2010-11-23T14:36:14.753903Z K 7 svn:log V 132 x86/local_apic: use newly added ARAT bit definition ARAT: APIC-Timer-always-running feature. Suggested by: mav MFC after: 12 days END K 10 svn:author V 10 nwhitehorn K 8 svn:date V 27 2010-11-23T15:08:56.072388Z K 7 svn:log V 198 Properly use SCHAR_MAX instead of CHAR_MAX for 0x7f. This fixes operation of locate(1) on systems on which char is unsigned by default (ARM and PowerPC). Reported by: Paul Mather MFC after: 4 days END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-11-23T16:12:35.054563Z K 7 svn:log V 123 Reinitialize PAT MSR via pmap_init_pat() while resuming. This function does better job since r215703 and it is safer now. END K 10 svn:author V 4 jkim K 8 svn:date V 27 2010-11-23T17:28:23.683265Z K 7 svn:log V 46 Remove a stale tunable introduced in r215703. END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-11-23T18:45:12.108817Z K 7 svn:log V 129 Make this printf output more verbose. Sponsored by: Sandvine Incorporated Submitted by: Sandvine Incorporated MFC after: 3 days END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-11-23T18:47:43.659443Z K 7 svn:log V 93 Revert r215755 as it was supposed to happen on -CURRENT and not STABLE_8. Pointy hat to: me END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-11-23T18:48:57.267818Z K 7 svn:log V 66 MFC r215237: Fix bug in jn(3) and jnf(3) that led to -inf results END K 10 svn:author V 7 attilio K 8 svn:date V 27 2010-11-23T18:52:27.408411Z K 7 svn:log V 128 Make this printfoutput more verbose. Sponsored by: Sandvine Incorporated Submitted by: Sandvine Incorporated MFC after: 3 days END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-11-23T19:11:27.357364Z K 7 svn:log V 1247 MFC r215327,215350: r215327: P5N32-SLI PREMIUM from ASUSTeK is known to have MSI/MSI-X issue such that nfe(4) does not work with MSI-X. When MSI-X support was introduced, I remember MCP55 controller worked without problems so the issue could be either PCI bridge or BIOS issue. But I also noticed snd_hda(4) disabled MSI on all MCP55 chipset so I'm still not sure this is generic issue of MCP55 chipset. If this was PCI bridge issue we would have added it to a system wide black-list table but it's not clear to me at this moment whether it was caused by either broken BIOS or silicon bug of MCP55 chipset. To workaround the issue, maintain a MSI/MSI-X black-list table in driver and lookup base board manufacturer and product name from the table before attempting to use MSI-X. If driver find an matching entry, nfe(4) will not use MSI/MSI-X and fall back on traditional INTx mode. This approach should be the last resort since it relies on smbios and if another instance of MSI/MSI-X breakage is reported with different maker/product, we may have to get the PCI bridge black-listed instead of adding an new entry. PR: kern/152150 r215350: Plug memory leakage introduced in r215327. Submitted by: jkim END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-11-23T19:14:17.700580Z K 7 svn:log V 1247 MFC r215327,215350: r215327: P5N32-SLI PREMIUM from ASUSTeK is known to have MSI/MSI-X issue such that nfe(4) does not work with MSI-X. When MSI-X support was introduced, I remember MCP55 controller worked without problems so the issue could be either PCI bridge or BIOS issue. But I also noticed snd_hda(4) disabled MSI on all MCP55 chipset so I'm still not sure this is generic issue of MCP55 chipset. If this was PCI bridge issue we would have added it to a system wide black-list table but it's not clear to me at this moment whether it was caused by either broken BIOS or silicon bug of MCP55 chipset. To workaround the issue, maintain a MSI/MSI-X black-list table in driver and lookup base board manufacturer and product name from the table before attempting to use MSI-X. If driver find an matching entry, nfe(4) will not use MSI/MSI-X and fall back on traditional INTx mode. This approach should be the last resort since it relies on smbios and if another instance of MSI/MSI-X breakage is reported with different maker/product, we may have to get the PCI bridge black-listed instead of adding an new entry. PR: kern/152150 r215350: Plug memory leakage introduced in r215327. Submitted by: jkim END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-11-23T19:21:44.377068Z K 7 svn:log V 160 MFC r215353,215355: r215353: Plug memory leakage introduced in r204989. Reported by: yongari r215355: Restore the previous behaviour of substring match. END K 10 svn:author V 7 n_hibma K 8 svn:date V 27 2010-11-23T19:22:44.624174Z K 7 svn:log V 205 MFC r213856 - Add more USB devices to usbdevs and rename some previously unknown ones. - Add more USB mass storage quirks. Note: In this MFC the QUALCOMMINC E2000 entry is left intact as it is in use. END K 10 svn:author V 7 yongari K 8 svn:date V 27 2010-11-23T19:23:47.092195Z K 7 svn:log V 160 MFC r215353,215355: r215353: Plug memory leakage introduced in r204989. Reported by: yongari r215355: Restore the previous behaviour of substring match. END K 10 svn:author V 7 weongyo K 8 svn:date V 27 2010-11-23T20:23:25.522847Z K 7 svn:log V 193 Fixes a kernel crash when usb module is reloaded after unload that it didn't destroy the cdev properly. Pointy hat to: me Reported by: Brandon Gooch , jkim END K 10 svn:author V 3 phk K 8 svn:date V 27 2010-11-23T20:28:21.419533Z K 7 svn:log V 198 Improve the ports-dependency resolver by truncating the recursion if we already did the target port, and by leaving behind a /tmp/_.plist.dot which documents which ports pulled in what other ports. END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-11-23T20:46:06.169310Z K 7 svn:log V 100 sh: Pass multiple bytes at a time to lex. This speeds up the expansion/arith6.0 test considerably. END K 10 svn:author V 3 phk K 8 svn:date V 27 2010-11-23T20:47:39.027803Z K 7 svn:log V 40 Optimize the ports recurser a bit more. END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-23T21:09:42.266756Z K 7 svn:log V 88 - Sprinkle const on tables. - Remove an alpha remnant. - Minor comment and style fixes. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:20:27.022661Z K 7 svn:log V 79 MFC r214880: Add support for odd-sized PIO transfers, sometimes used by ATAPI. END K 10 svn:author V 3 phk K 8 svn:date V 27 2010-11-23T21:21:56.233177Z K 7 svn:log V 61 Don't checksum distfiles twice if they match the first time. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:22:18.580823Z K 7 svn:log V 144 MFC r214896: Mark command submission timeouts as timeouts. This should trigger device resets and increase chances of getting device back again. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:29:40.880076Z K 7 svn:log V 82 MFC r215428, r215431, r215462: Add support for VIA VX900 chipset SATA controller. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:35:13.755631Z K 7 svn:log V 204 MFC r214288: Make da driver to handle some probably broken Android devices, returning zero media and sector size instead of "Medium not present" error, until some confirmation button is tapped on device. END K 10 svn:author V 3 uqs K 8 svn:date V 27 2010-11-23T21:36:53.668958Z K 7 svn:log V 680 MFC r214237,214489: Remove mention of non-existant -o flag for debugging options. Fix CPU load reporting independent of scheduler used. - Sample CPU usage data from kern.cp_times, this makes for a far more accurate and scheduler independent algorithm. - Rip out the process list scraping that is no longer required. - Don't update CPU usage sampling on every request, but every 15s instead. This makes it impossible for an attacker to hide the CPU load by triggering 4 samplings in short succession when the system is idle. - After reaching the steady-state, the system will always report the average CPU load of the last 60 sampled seconds. - Untangling of call graph. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:36:56.840587Z K 7 svn:log V 121 MFC r215454: If HBA doesn't report user-enabled SATA capabilies (like ATA_CAM wrapper) - handle all of them as disabled. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:40:21.092070Z K 7 svn:log V 144 MFC r215453: Even if we are skipping SATA hard reset - set power management bits in SControl register. This should make things more consistent. END K 10 svn:author V 3 mav K 8 svn:date V 27 2010-11-23T21:42:26.789441Z K 7 svn:log V 226 MFC r215468: Make ATA_CAM wrapper to report SATA power management capabilities to CAM to make it configure device to initiate transitions if controller configured to accept them. This makes hint.ata.X.pm_level=1 mode working. END K 10 svn:author V 5 brian K 8 svn:date V 27 2010-11-23T21:45:14.796112Z K 7 svn:log V 100 MFC r197763, r198236, r212839 and r212886: Handle extending a filesystem into unzeroed storage. END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-11-23T21:49:32.064258Z K 7 svn:log V 125 Add a few functions used in newer drivers. Fix RtlCompareMemory() while here. Submitted by: Paul B Mahol END K 10 svn:author V 6 marius K 8 svn:date V 27 2010-11-23T22:07:10.377455Z K 7 svn:log V 599 Remove the description of the link0 link option, since r215297 the master media option generally should be used instead. Actually I think the lists of media types should be removed from the manual pages of MAC drivers altogether and users just pointed to the output of `ifconfig -m` instead; even before r215297 there were several outdated descriptions, technically it's wrong most of the time as not the MAC drivers support these media types but actually the PHY drivers do and it generally doesn't make sense to maintain these lists in every manual page of a driver as the media is auto-detected. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2010-11-23T22:12:02.285651Z K 7 svn:log V 854 - New 82580 devices supported - Fixes from John Baldwin: vlan shadow tables made per/interface, make vlan hw setup only happen when capability enabled, and finally, make a tuneable interrupt rate. Thanks John! - Tweaked watchdog handling to avoid any false positives, now detection is in the TX clean path, with only the final check and init happening in the local timer. - limit queues to 8 for all devices, with 82576 or 82580 on larger machines it can get greater than this, and it seems mostly a resource waste to do so. Even 8 might be high but it can be manually reduced. - use 2k, 4k and now 9k clusters based on the MTU size. - rework the igb_refresh_mbuf() code, its important to make sure the descriptor is rewritten even when reusing mbufs since writeback clobbers things. MFC: in a few days, this delta needs to get to 8.2 END K 10 svn:author V 8 bschmidt K 8 svn:date V 27 2010-11-23T22:17:06.490116Z K 7 svn:log V 41 Add prototype for InitializeSListHead(). END K 10 svn:author V 6 jilles K 8 svn:date V 27 2010-11-23T22:17:39.842208Z K 7 svn:log V 331 sh: Code size optimizations to "stack string" memory allocation: * Prefer one CHECKSTRSPACE with multiple USTPUTC to multiple STPUTC. * Add STPUTS macro (based on function) and use it instead of loops that add nul-terminated strings to the stack string. No functional change is intended, but code size is about 1K less on i386. END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2010-11-23T23:13:58.672404Z K 7 svn:log V 175 MFC of 215576 Delete /sys/ufs/ffs/README.snapshot as it is no longer relevant. Drop reference to it in mount(8). Reported by: Bruce Cran PR: docs/128325 END K 10 svn:author V 8 mckusick K 8 svn:date V 27 2010-11-24T00:00:32.092854Z K 7 svn:log V 175 MFC of 215576 Delete /sys/ufs/ffs/README.snapshot as it is no longer relevant. Drop reference to it in mount(8). Reported by: Bruce Cran PR: docs/128325 END K 10 svn:author V 3 yar K 8 svn:date V 27 2010-11-24T00:05:19.139654Z K 7 svn:log V 339 Clarify a few details about iostat(8) behavior: - The default repeat count for iostat(8) is 1 unless there was a -w on the command line. - A -x display doesn't include TTY or CPU stats by default but they can be turned on with a -T or -C, respectively. Submitted by: arundel (initial version) Reviewed by: arundel MFC after: 1 week END K 10 svn:author V 6 sbruno K 8 svn:date V 27 2010-11-24T00:43:05.682773Z K 7 svn:log V 37 Merge from head for further bugfixes END K 10 svn:author V 5 gibbs K 8 svn:date V 27 2010-11-24T01:03:03.962910Z K 7 svn:log V 18001 Synchronize Xen support with current, excluding console API changes in the PV Xen console driver. Merged revisions ================ r199734 | kmacy | 2009-11-24 00:17:51 -0700 (Tue, 24 Nov 2009) | 2 lines fixup kernel core dumps on paravirtual guests r199959 | kmacy | 2009-11-29 21:20:43 -0700 (Sun, 29 Nov 2009) | 3 lines Update license to reflect terms in xen 2.0 as of the time when the driver was ported to FreeBSD r199960 | kmacy | 2009-11-29 21:32:34 -0700 (Sun, 29 Nov 2009) | 2 lines Merge Scott Long's latest blkfront now that the licensing issues are resolved r201234 | gibbs | 2009-12-29 16:28:13 -0700 (Tue, 29 Dec 2009) | 5 lines Correct bug introduced while purging the -ERRNO Linuxism from the grant table API. Valid grant refs are in the range of positive 32bit integers. ENOSPACE, being 29, is also a positive integer. Return GNTTAB_LIST_END (-1) instead when gnttab_claim_grant_reference() fails. r201138 | gibbs | 2009-12-28 11:59:13 -0700 (Mon, 28 Dec 2009) | 8 lines Correct alignment and boundary constraints in blkfront's bus dma tag. The blkif interface in Xen requires all I/O to be 512 byte aligned with each segment bounded by a 4k page. Note: This submission only documents the proper contraints for blkif I/O. The alignment code in busdma does not yet handle alignment constraints correctly in all cases. r201236 | gibbs | 2009-12-29 16:31:21 -0700 (Tue, 29 Dec 2009) | 3 lines In blkif_queue_cb(), test the return value from gnttab_claim_grant_reference() for >= 0 instead of != ENOSPC. r204159 | kmacy | 2010-02-20 18:12:18 -0700 (Sat, 20 Feb 2010) | 2 lines don't hold spin lock across free r214077 | gibbs | 2010-10-19 14:53:30 -0600 (Tue, 19 Oct 2010) | 342 lines Improve the Xen para-virtualized device infrastructure of FreeBSD: o Add support for backend devices (e.g. blkback) o Implement extensions to the Xen para-virtualized block API to allow for larger and more outstanding I/Os. o Import a completely rewritten block back driver with support for fronting I/O to both raw devices and files. o General cleanup and documentation of the XenBus and XenStore support code. o Robustness and performance updates for the block front driver. o Fixes to the netfront driver. Sponsored by: Spectra Logic Corporation sys/xen/xenbus/init.txt: Deleted: This file explains the Linux method for XenBus device enumeration and thus does not apply to FreeBSD's NewBus approach. sys/xen/xenbus/xenbus_probe_backend.c: Deleted: Linux version of backend XenBus service routines. It was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m, xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus support. sys/xen/xenbus/xenbusvar.h: sys/xen/xenbus/xenbus_xs.c: sys/xen/xenbus/xenbus_comms.c: sys/xen/xenbus/xenbus_comms.h: sys/xen/xenstore/xenstorevar.h: sys/xen/xenstore/xenstore.c: Split XenStore into its own tree. XenBus is a software layer built on top of XenStore. The old arrangement and the naming of some structures and functions blurred these lines making it difficult to discern what services are provided by which layer and at what times these services are available (e.g. during system startup and shutdown). sys/xen/xenbus/xenbus_client.c: sys/xen/xenbus/xenbus.c: sys/xen/xenbus/xenbus_probe.c: sys/xen/xenbus/xenbusb.c: sys/xen/xenbus/xenbusb.h: Split up XenBus code into methods available for use by client drivers (xenbus.c) and code used by the XenBus "bus code" to enumerate, attach, detach, and service bus drivers. sys/xen/reboot.c: sys/dev/xen/control/control.c: Add a XenBus front driver for handling shutdown, reboot, suspend, and resume events published in the XenStore. Move all PV suspend/reboot support from reboot.c into this driver. sys/xen/blkif.h: New file from Xen vendor with macros and structures used by a block back driver to service requests from a VM running a different ABI (e.g. amd64 back with i386 front). sys/conf/files: Adjust kernel build spec for new XenBus/XenStore layout and added Xen functionality. sys/dev/xen/balloon/balloon.c: sys/dev/xen/netfront/netfront.c: sys/dev/xen/blkfront/blkfront.c: sys/xen/xenbus/... sys/xen/xenstore/... o Rename XenStore APIs and structures from xenbus_* to xs_*. o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation of objects returned by these APIs. o Adjust for changes in the bus interface for Xen drivers. sys/xen/xenbus/... sys/xen/xenstore/... Add Doxygen comments for these interfaces and the code that implements them. sys/dev/xen/blkback/blkback.c: o Rewrite the Block Back driver to attach properly via newbus, operate correctly in both PV and HVM mode regardless of domain (e.g. can be in a DOM other than 0), and to deal with the latest metadata available in XenStore for block devices. o Allow users to specify a file as a backend to blkback, in addition to character devices. Use the namei lookup of the backend path to automatically configure, based on file type, the appropriate backend method. The current implementation is limited to a single outstanding I/O at a time to file backed storage. sys/dev/xen/blkback/blkback.c: sys/xen/interface/io/blkif.h: sys/xen/blkif.h: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Extend the Xen blkif API: Negotiable request size and number of requests. This change extends the information recorded in the XenStore allowing block front/back devices to negotiate for optimal I/O parameters. This has been achieved without sacrificing backward compatibility with drivers that are unaware of these protocol enhancements. The extensions center around the connection protocol which now includes these additions: o The back-end device publishes its maximum supported values for, request I/O size, the number of page segments that can be associated with a request, the maximum number of requests that can be concurrently active, and the maximum number of pages that can be in the shared request ring. These values are published before the back-end enters the XenbusStateInitWait state. o The front-end waits for the back-end to enter either the InitWait or Initialize state. At this point, the front end limits it's own capabilities to the lesser of the values it finds published by the backend, it's own maximums, or, should any back-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures including allocation of the shared ring, publishes its maximum capabilities to the XenStore and transitions to the Initialized state. o The back-end waits for the front-end to enter the Initalized state. At this point, the back end limits it's own capabilities to the lesser of the values it finds published by the frontend, it's own maximums, or, should any front-end data be missing in the store, the values supported by the original protocol. It then initializes it's internal data structures, attaches to the shared ring and transitions to the Connected state. o The front-end waits for the back-end to enter the Connnected state, transitions itself to the connected state, and can commence I/O. Although an updated front-end driver must be aware of the back-end's InitWait state, the back-end has been coded such that it can tolerate a front-end that skips this step and transitions directly to the Initialized state without waiting for the back-end. sys/xen/interface/io/blkif.h: o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is the maximum number possible without changing the blkif request header structure (nr_segs is a uint8_t). o Add two new constants: BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively indicate the number of segments that can fit in the first ring-buffer entry of a request, and for each subsequent (sg element only) ring-buffer entry associated with the "header" ring-buffer entry of the request. o Add the blkif_request_segment_t typedef for segment elements. o Add the BLKRING_GET_SG_REQUEST() macro which wraps the RING_GET_REQUEST() macro and returns a properly cast pointer to an array of blkif_request_segment_ts. o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the number of ring entries that will be consumed by a blkif request with the given number of segments. sys/xen/blkif.h: o Update for changes in interface/io/blkif.h macros. o Update the BLKIF_MAX_RING_REQUESTS() macro to take the ring size as an argument to allow this calculation on multi-page rings. o Add a companion macro to BLKIF_MAX_RING_REQUESTS(), BLKIF_RING_PAGES(). This macro determines the number of ring pages required in order to support a ring with the supplied number of request blocks. sys/dev/xen/blkback/blkback.c: sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: o Negotiate with the other-end with the following limits: Reqeust Size: MAXPHYS Max Segments: (MAXPHYS/PAGE_SIZE) + 1 Max Requests: 256 Max Ring Pages: Sufficient to support Max Requests with Max Segments. o Dynamically allocate request pools and segemnts-per-request. o Update ring allocation/attachment code to support a multi-page shared ring. o Update routines that access the shared ring to handle multi-block requests. sys/dev/xen/blkfront/blkfront.c: o Track blkfront allocations in a blkfront driver specific malloc pool. o Strip out XenStore transaction retry logic in the connection code. Transactions only need to be used when the update to multiple XenStore nodes must be atomic. That is not the case here. o Fully disable blkif_resume() until it can be fixed properly (it didn't work before this change). o Destroy bus-dma objects during device instance tear-down. o Properly handle backend devices with powef-of-2 sector sizes larger than 512b. sys/dev/xen/blkback/blkback.c: Advertise support for and implement the BLKIF_OP_WRITE_BARRIER and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and the BIO_ORDERED attribute of bios. sys/dev/xen/blkfront/blkfront.c: sys/dev/xen/blkfront/block.h: Fix various bugs in blkfront. o gnttab_alloc_grant_references() returns 0 for success and non-zero for failure. The check for < 0 is a leftover Linuxism. o When we negotiate with blkback and have to reduce some of our capabilities, print out the original and reduced capability before changing the local capability. So the user now gets the correct information. o Fix blkif_restart_queue_callback() formatting. Make sure we hold the mutex in that function before calling xb_startio(). o Fix a couple of KASSERT()s. o Fix a check in the xb_remove_* macro to be a little more specific. sys/xen/gnttab.h: sys/xen/gnttab.c: Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID. sys/dev/xen/netfront/netfront.c: Use GRANT_REF_INVALID instead of driver private definitions of the same constant. sys/xen/gnttab.h: sys/xen/gnttab.c: Add the gnttab_end_foreign_access_references() API. This API allows a client to batch the release of an array of grant references, instead of coding a private for loop. The implementation takes advantage of this batching to reduce lock overhead to one acquisition and release per-batch instead of per-freed grant reference. While here, reduce the duration the gnttab_list_lock is held during gnttab_free_grant_references() operations. The search to find the tail of the incoming free list does not rely on global state and so can be performed without holding the lock. sys/dev/xen/xenpci/evtchn.c: sys/dev/xen/evtchn/evtchn.c: sys/xen/xen_intr.h: o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode. This allows an HVM domain to serve back end devices to other domains. This API is already implemented for PV mode. o Synchronize the API between HVM and PV. sys/dev/xen/xenpci/xenpci.c: o Scan the full region of CPUID space in which the Xen VMM interface may be implemented. On systems using SuSE as a Dom0 where the Viridian API is also exported, the VMM interface is above the region we used to search. o Pass through bus_alloc_resource() calls so that XenBus drivers attaching on an HVM system can allocate unused physical address space from the nexus. The block back driver makes use of this facility. sys/i386/xen/xen_machdep.c: Use the correct type for accessing the statically mapped xenstore metadata. sys/xen/interface/hvm/params.h: sys/xen/xenstore/xenstore.c: Move hvm_get_parameter() to the correct global header file instead of as a private method to the XenStore. sys/xen/interface/io/protocols.h: Sync with vendor. sys/xeninterface/io/ring.h: Add macro for calculating the number of ring pages needed for an N deep ring. To avoid duplication within the macros, create and use the new __RING_HEADER_SIZE() macro. This macro calculates the size of the ring book keeping struct (producer/consumer indexes, etc.) that resides at the head of the ring. Add the __RING_PAGES() macro which calculates the number of shared ring pages required to support a ring with the given number of requests. These APIs are used to support the multi-page ring version of the Xen block API. sys/xeninterface/io/xenbus.h: Add Comments. sys/xen/xenbus/... o Refactor the FreeBSD XenBus support code to allow for both front and backend device attachments. o Make use of new config_intr_hook capabilities to allow front and back devices to be probed/attached in parallel. o Fix bugs in probe/attach state machine that could cause the system to hang when confronted with a failure either in the local domain or in a remote domain to which one of our driver instances is attaching. o Publish all required state to the XenStore on device detach and failure. The majority of the missing functionality was for serving as a back end since the typical "hot-plug" scripts in Dom0 don't handle the case of cleaning up for a "service domain" that is not itself. o Add dynamic sysctl nodes exposing the generic ivars of XenBus devices. o Add doxygen style comments to the majority of the code. o Cleanup types, formatting, etc. sys/xen/xenbus/xenbusb.c: Common code used by both front and back XenBus busses. sys/xen/xenbus/xenbusb_if.m: Method definitions for a XenBus bus. sys/xen/xenbus/xenbusb_front.c: sys/xen/xenbus/xenbusb_back.c: XenBus bus specialization for front and back devices. r214444 | gibbs | 2010-10-27 22:14:28 -0600 (Wed, 27 Oct 2010) | 9 lines sys/dev/xen/blkback/blkback.c: In xbb_detach() only perform cleanup of our taskqueue and device statistics structures if they have been initialized. This avoids a panic when xbb_detach() is called on a partially initialized device instance, due to an early failure in attach. Sponsored by: Spectra Logic Corporation r215681 | jhb | 2010-11-22 08:15:11 -0700 (Mon, 22 Nov 2010) | 2 lines Remove some bogus, self-referential mergeinfo. r215682 | jhb | 2010-11-22 08:26:47 -0700 (Mon, 22 Nov 2010) | 5 lines Purge mergeinfo on sys/dev/xen/xenpci. The only unique mergeinfo compared to head was not useful (it came in with the merge from /user/dfr/xenhvm/7 and that mergeinfo is still present at sys/) and not worth keeping an extra set of mergeinfo around in the kernel. END K 10 svn:author V 3 jfv K 8 svn:date V 27 2010-11-24T01:13:55.029683Z K 7 svn:log V 44 Add shared code glue for new 82580 devices. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2010-11-24T05:24:36.486594Z K 7 svn:log V 174 Redo r166423. It is important not only skip freeing multicast entires when underlying interface is detached, but also purge pointers to them, to avoid double-free in future. END K 10 svn:author V 7 glebius K 8 svn:date V 27 2010-11-24T05:37:12.117580Z K 7 svn:log V 277 MFhead r214508: Revert a small part of the r198301, that is entirely unrelated to the r198301 itself. It also broke the logic of not sending more than one ARP request per second, that consequently lead to a potential problem of flooding network with broadcast packets. END K 10 svn:author V 5 maxim K 8 svn:date V 27 2010-11-24T05:50:19.784659Z K 7 svn:log V 100 o Swap descriptions for net.bpf.bufsize and net.bpf.maxbufsize. PR: misc/152531 MFC after: 1 week END K 10 svn:author V 5 dougb K 8 svn:date V 27 2010-11-24T06:22:09.446403Z K 7 svn:log V 118 Handle the multiport() case when a port that is a dependency of an earlier port is up to date, and listed by PKGNAME. END K 10 svn:author V 6 obrien K 8 svn:date V 27 2010-11-24T08:09:33.161902Z K 7 svn:log V 52 MFC: r204329: Fixed dependencies (make checkdpadd). END K 10 svn:author V 7 n_hibma K 8 svn:date V 27 2010-11-24T09:36:36.981835Z K 7 svn:log V 66 MFC 213876: Add more USB device IDs to supported list of devices. END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-11-24T12:25:17.617447Z K 7 svn:log V 148 After the sleep caused by encountering a busy page, relookup the page. Submitted and reviewed by: alc Reprted and tested by: pho MFC after: 5 days END K 10 svn:author V 3 kib K 8 svn:date V 27 2010-11-24T12:30:41.387701Z K 7 svn:log V 316 Allow shared-locked vnode to be passed to vunref(9). When shared-locked vnode is supplied as an argument to vunref(9) and resulting usecount is 0, set VI_OWEINACT and do not try to upgrade vnode lock. The later could cause vnode unlock, allowing the vnode to be reclaimed meantime. Tested by: pho MFC after: 1 week END