summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | Override the bt enable/disable methods for AR9462 (jupiter) andadrian2015-01-171-0/+5
| | | | | | | | | | | | | | | | | | AR9565 (Aphrodite.) These need to use the MCI routines, not the legacy 2-wire / 3-wire bluetooth coexistence methods. Tested: * AR9462 (WB222); STA mode
* | Need to include opt_mca.h to test for DEV_MCA.imp2015-01-171-0/+1
| |
* | Move DEV_ entries scattered to their common section. Add DEV_PCI.imp2015-01-171-7/+8
| |
* | The sn driver isn't UCODE sourceless. While it is true there's animp2015-01-171-2/+1
| | | | | | | | | | | | | | | | | | binary FPGA image that's in an include file in this directory, that include file isn't actually used. It is only for certain Trump Cards that we don't yet support. When support was anticipated for them, we got permission to include the required FPGA image in our sources under the BSDL, but didn't start actually including the file. This was done to provide a public paper trail for this file.
* | Fix lib/libthr/tests/detach_testngie2015-01-171-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | - Eliminate race with liberal use of sleep(3) [1] - Fix NetBSD-specific implementation way of testing result from pthread_cancel by testing with `td` instead of `NULL` [2] PR: 196738 [1] PR: 191906 [2] MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
* | Until there's a full MCI implementation - just implement a placeholderadrian2015-01-171-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MCI bluetooth coexistence method for WB222. The rest of MCI requires a bunch more work, including adding a DMA buffer for the MCI hardware to bounce messages in/out of and handling MCI interrupts. But the more important part here is telling the HAL the btcoex is enabled and MCI is in use so it configures the correct initial bluetooth parameters in the wireless NIC and configures things like bluetooth traffic weights and such. So, this at least gets the HAL to do some of the right things in configuring the inital bluetooth coexistence stuff, but doesn't actually do full btcoex. That'll take.. some effort. Tested: * AR9462 (WB222), STA mode
* | Tie in the MCI bluetooth coexistence functions into the HAL.adrian2015-01-161-0/+7
| | | | | | | | | | | | Tested: * AR9462 (WB222)
* | Add bluetooth MCI coexistence HAL methods - used for AR9462 and AR9565 NICs.adrian2015-01-161-0/+12
| | | | | | | | | | | | | | | | | | | | | | It's found, amongst other things, in the Acer Chromebook (Intel) devices. Tested: * AR9462 (WB222) Obtained from: Qualcomm Atheros
* | Update buildinf.h to make SSLeay_version(3) little bit more useful.jkim2015-01-161-3/+3
| | | | | | | | MFC after: 1 week
* | Add a ${CP} alias for copying files in the build.will2015-01-1618-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Some users build FreeBSD as non-root in Perforce workspaces. By default, Perforce sets files read-only unless they're explicitly being edited. As a result, the -f argument must be used to cp in order to override the read-only flag when copying source files to object directories. Bare use of 'cp' should be avoided in the future. Update all current users of 'cp' in the src tree. Reviewed by: emaste MFC after: 1 week Sponsored by: Spectra Logic
* | Don't call abort on usage errors; print out the usage message insteadngie2015-01-161-2/+3
| | | | | | | | | | | | PR: 196793 MFC after: 3 days Sponsored by: EMC / Isilon Storage Division
* | Document r277270, OpenSSL update to 1.0.1l.gjb2015-01-161-6/+2
| | | | | | | | Sponsored by: The FreeBSD Foundation
* | Merge OpenSSL 1.0.1l.jkim2015-01-16346-353/+363
| | | | | | | | | | MFC after: 1 week Relnotes: yes
* | Enable the snoop control unit during MP startup, rather than relying onian2015-01-161-3/+20
| | | | | | | | | | | | the bootloader to have done so. Submitted by: Thomas Skibo <thomasskibo@sbcglobal.net>
* | Some RSS issues discovered by Adrian, missing header, variablejfv2015-01-163-7/+19
| | | | | | | | | | | | names fat fingered, incorrect hash config setup. Thanks :) MFC after: 1 week
* | crunchide: Correct 64-bit section header offsetemaste2015-01-161-1/+2
| | | | | | | | | | | | | | | | | | | | For 64-bit binaries the Elf_Ehdr e_shoff is at offset 40, not 44. Instead of using an incorrect hardcoded offset, let the compiler figure it out for us with offsetof(). Differential Revision: https://reviews.freebsd.org/D1543 MFC after: 1 week Sponsored by: The FreeBSD Foundation
* | Plug mutex leak.glebius2015-01-161-1/+3
| | | | | | | | | | MFC after: 1 week Sponsored by: Nginx, Inc.
* | Add two fake properties ("fdtbootcpu" and "fdtmemreserv") to the devicenwhitehorn2015-01-161-0/+20
| | | | | | | | | | | | | | | | tree's /chosen node to provide out-of-band header fields of the FDT. This emulation is not perfect without corresponding changes to ofw_fdt_nextprop(), but is enough to enable lookup by memory-map-parsing code. MFC after: 1 week
* | Instead of iterating through all properties looking for a match, if askednwhitehorn2015-01-161-51/+61
| | | | | | | | | | | | for a specific property, look it up directly. MFC after: 1 week
* | Revamp the default page clustering strategy that is used by the page faultalc2015-01-161-27/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | handler. For roughly twenty years, the page fault handler has used the same basic strategy: Fetch a fixed number of non-resident pages both ahead and behind the virtual page that was faulted on. Over the years, alternative strategies have been implemented for optimizing the handling of random and sequential access patterns, but the only change to the default strategy has been to increase the number of pages read ahead to 7 and behind to 8. The problem with the default page clustering strategy becomes apparent when you look at how it behaves on the code section of an executable or shared library. (To simplify the following explanation, I'm going to ignore the read that is performed to obtain the header and assume that no pages are resident at the start of execution.) Suppose that we have a code section consisting of 32 pages. Further, suppose that we access pages 4, 28, and 16 in that order. Under the default page clustering strategy, we page fault three times and perform three I/O operations, because the first and second page faults only read a truncated cluster of 12 pages. In contrast, if we access pages 8, 24, and 16 in that order, we only fault twice and perform two I/O operations, because the first and second page faults read a full cluster of 16 pages. In general, truncated clusters are more common than full clusters. To address this problem, this revision changes the default page clustering strategy to align the start of the cluster to a page offset within the vm object that is a multiple of the cluster size. This results in many fewer truncated clusters. Returning to our example, if we now access pages 4, 28, and 16 in that order, the cluster that is read to satisfy the page fault on page 28 will now include page 16. So, the access to page 16 will no longer page fault and perform an I/O operation. Since the revised default page clustering strategy is typically reading more pages at a time, we are likely to read a few more pages that are never accessed. However, for the various programs that we looked at, including clang, emacs, firefox, and openjdk, the reduction in the number of page faults and I/O operations far outweighed the increase in the number of pages that are never accessed. Moreover, the extra resident pages allowed for many more superpage mappings. For example, if we look at the execution of clang during a buildworld, the number of (hard) page faults on the code section drops by 26%, the number of superpage mappings increases by about 29,000, but the number of never accessed pages only increases from 30.38% to 33.66%. Finally, this leads to a small but measureable reduction in execution time. In collaboration with: Emily Pettigrew <ejp1@rice.edu> Differential Revision: https://reviews.freebsd.org/D1500 Reviewed by: jhb, kib MFC after: 6 weeks
* | Make netbooting work again by disabling BOOTP_NFSV3. Investigate why thisnwhitehorn2015-01-161-1/+1
| | | | | | | | causes bad RPC errors later.
* | Verify that section header offset is not past EOFemaste2015-01-161-1/+2
| | | | | | | | | | MFC After: 1 week Sponsored by: The FreeBSD Foundation
* | Don't count status as sent until CTIO completes successfully.mav2015-01-161-1/+4
| | | | | | | | | | | | | | | | If we aggregated status sending with data move and got error, allow status to be updated and resent again separately. Without this command may stuck without status sent at all. MFC after: 2 weeks
* | Add more USB device IDs.hselasky2015-01-162-0/+4
| | | | | | | | | | | | Submitted by: max.n.boyarov@gmail.com PR: 196362 MFC after: 1 week
* | Add more USB request definitions. The values are described in sectionhselasky2015-01-162-0/+8
| | | | | | | | | | | | | | 9.4.11 and 9.4.12 of the "Universal Serial Bus 3.0 Specification" Submitted by: Dmitry Luhtionov <dmitryluhtionov@gmail.com> MFC after: 1 week
* | Eliminate incorrect IPv6 mask guessing:melifaro2015-01-161-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RFC 2374 concept of 'IPv6 Aggregatable Global Unicast Address Format' was deprecated by RFC 3587 12 years ago. Before: 15:06 [1] edge# netstat -rn6 | grep 2a02:6b8:: 2a02:6b8::/32 2a02:978:2::1 UGS em0 15:06 [1] edge# route -6n get 2a02:6b8:: route: writing to routing socket: No such process After: 15:07 [1] edge# /usr/obj/usr/src/sbin/route/route -n6 get 2a02:6b8:: route to: 2a02:6b8:: destination: 2a02:6b8:: mask: ffff:ffff:: gateway: 2a02:978:2::1 fib: 0 interface: em0 flags: <UP,GATEWAY,DONE,STATIC> recvpipe sendpipe ssthresh rtt,msec mtu weight expire 0 0 0 0 1500 1 0 MFC after: 2 weeks
* | Use ipfw runtime lock only when real modification is required.melifaro2015-01-161-2/+4
| |
* | Eliminate illumos whole disk special case when searching for a ZFS vdevsmh2015-01-161-0/+6
| | | | | | | | | | | | | | | | | | | | This special case prevented locating vdevs which start with c[0-9] e.g. gptid/c6cde092-504b-11e4-ba52-c45444453598 hence it was impossible to online a vdev via its path. Submitted by: Peter Xu <xzpeter@gmail.com> MFC after: 2 weeks Sponsored by: Multiplay
* | Eliminate SIOCGIFADDR handling in bpf.melifaro2015-01-162-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | Quoting 19 years bpf.4 manual from bpf-1.2a1: " (SIOCGIFADDR is obsolete under BSD systems. SIOCGIFCONF should be used to query link-level addresses.) " * SIOCGIFADDR was not imported in NetBSD (bpf.c 1.36) and OpenBSD. * Last bits (e.g. manpage claiming SIOCGIFADDR exists) was cleaned from NetBSD via kern/21513 5 years ago, from OpenBSD via documentation/6352 5 years ago.
* | If PAM_RHOST is non-NULL, pass it in the Calling-Station-ID attribute ofdes2015-01-161-12/+18
| | | | | | | | | | | | the RADIUS access request. MFC after: 1 week
* | For sigaction(2), ignore possible garbage in sa_flags for sa_handlerkib2015-01-161-3/+4
| | | | | | | | | | | | | | | | | | | | == SIG_DFL or SIG_IGN. Sloppy code does not fully initialize struct sigaction for such cases, and being too demanding in the case of default handler does not catch anything. Reported and tested by: Alex Tutubalin <lexa@lexa.ru> Sponsored by: The FreeBSD Foundation MFC after: 1 week
* | Always enable I/O, memory and dma cycles. Some BIOSes don't enableimp2015-01-161-3/+3
| | | | | | | | | | | | them, sometimes they are reset for power state transitions or during whatever happens while suspended. Also, it is good practice to always do this.
* | Move the suspsned and resume functions to the bus attachment. Theyimp2015-01-164-61/+71
| | | | | | | | | | were accessing PCI config registers, which won't work for the ISA version.
* | Suspend and resume were the only two functions not to follow the brdevimp2015-01-161-8/+8
| | | | | | | | convention here, so fix that.
* | Back out the refactor. It turns out to cause interrupt storms onimp2015-01-164-112/+100
| | | | | | | | | | | | | | resume sometimes (but not others). On powerup, other wierd issues show up (sometimes the card comes up, but with really bogus pci config space stuff. There may be more, but given my experience of historical fussiness, stick to what works and make more minimal changes to that.
* | Add back a couple PC Card devices to amd64. There's only a couple ofimp2015-01-161-4/+4
| | | | | | | | | | them that were popular enough, so this doesn't adversly affect build times.
* | Build cxgbe(4) on powerpc64 too.np2015-01-161-1/+1
| |
* | Use parentheses instead of close proximity to ensure layer + 1 is evaluatednp2015-01-161-1/+1
| | | | | | | | before the rest of the expression.
* | Check the right value correctly.adrian2015-01-161-1/+1
| | | | | | | | Thanks to clang for pointing out this silliness.
* | Plug cxgbe(4) back into !powerpc && !arm builds, instead of building itnp2015-01-165-3/+7
| | | | | | | | on amd64 only.
* | Allow cxgbe(4) to be built on i386. Driver attach will succeed only on a subsetnp2015-01-162-0/+13
| | | | | | | | of i386 systems.
* | Make cxgbe(4) buildable with the gcc in base.np2015-01-162-2/+2
| |
* | Add needed bits to the Makefile, and the Mt to the emails.jfv2015-01-153-4/+8
| | | | | | | | | | | | Thanks to Nathan and Baptiste for the corrections :) MFC after: 1 week
* | First draft man pages for ixl and ixlv drivers.jfv2015-01-152-0/+328
| | | | | | | | MFC after: 1 week
* | Import libc++ trunk r224926. This fixes a number of bugs, completesdim2015-01-1587-2003/+5524
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | C++14 support[1], adds more C++1z features[2], and fixes the following LWG issues[3]: 1450: Contradiction in regex_constants 2003: String exception inconsistency in erase. 2075: Progress guarantees, lock-free property, and scheduling assumptions 2104: unique_lock move-assignment should not be noexcept 2112: User-defined classes that cannot be derived from 2132: std::function ambiguity 2135: Unclear requirement for exceptions thrown in condition_variable::wait() 2142: packaged_task::operator() synchronization too broad? 2182: Container::[const_]reference types are misleadingly specified 2186: Incomplete action on async/launch::deferred 2188: Reverse iterator does not fully support targets that overload operator& 2193: Default constructors for standard library containers are explicit 2205: Problematic postconditions of regex_match and regex_search 2213: Return value of std::regex_replace 2240: Probable misuse of term "function scope" in [thread.condition] 2252: Strong guarantee on vector::push_back() still broken with C++11? 2257: Simplify container requirements with the new algorithms 2258: a.erase(q1, q2) unable to directly return q2 2263: Comparing iterators and allocator pointers with different const-character 2268: Setting a default argument in the declaration of a member function assign of std::basic_string 2271: regex_traits::lookup_classname specification unclear 2272: quoted should use char_traits::eq for character comparison 2278: User-defined literals for Standard Library types 2280: begin / end for arrays should be constexpr and noexcept 2285: make_reverse_iterator 2288: Inconsistent requirements for shared mutexes 2291: std::hash is vulnerable to collision DoS attack 2293: Wrong facet used by num_put::do_put 2299: Effects of inaccessible key_compare::is_transparent type are not clear 2301: Why is std::tie not constexpr? 2304: Complexity of count in unordered associative containers 2306: match_results::reference should be value_type&, not const value_type& 2308: Clarify container destructor requirements w.r.t. std::array 2313: tuple_size should always derive from integral_constant<size_t, N> 2314: apply() should return decltype(auto) and use decay_t before tuple_size 2315: weak_ptr should be movable 2316: weak_ptr::lock() should be atomic 2317: The type property queries should be UnaryTypeTraits returning size_t 2320: select_on_container_copy_construction() takes allocators, not containers 2322: Associative(initializer_list, stuff) constructors are underspecified 2323: vector::resize(n, t)'s specification should be simplified 2324: Insert iterator constructors should use addressof() 2329: regex_match()/regex_search() with match_results should forbid temporary strings 2330: regex("meow", regex::icase) is technically forbidden but should be permitted 2332: regex_iterator/regex_token_iterator should forbid temporary regexes 2339: Wording issue in nth_element 2341: Inconsistency between basic_ostream::seekp(pos) and basic_ostream::seekp(off, dir) 2344: quoted()'s interaction with padding is unclear 2346: integral_constant's member functions should be marked noexcept 2350: min, max, and minmax should be constexpr 2356: Stability of erasure in unordered associative containers 2357: Remaining "Assignable" requirement 2359: How does regex_constants::nosubs affect basic_regex::mark_count()? 2360: reverse_iterator::operator*() is unimplementable [1] http://libcxx.llvm.org/cxx1y_status.html [2] http://libcxx.llvm.org/cxx1z_status.html [3] http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html Exp-run: antoine MFC after: 1 month
| * | Vendor import of libc++ trunk r224926:dim2015-01-0786-2096/+5672
| | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/trunk@224926
* | | Evaluate running userland/kernel version in dailygjb2015-01-154-1/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | periodic(8) run, taken from uname(1) '-U' and '-K' flags. Reviewed by: allanjude, dvl Differential Revision: https://reviews.freebsd.org/D1541 MFC after: 1 week Sponsored by: The FreeBSD Foundation
* | | loader: implement multiboot support for Xen Dom0royger2015-01-1519-99/+1018
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement a subset of the multiboot specification in order to boot Xen and a FreeBSD Dom0 from the FreeBSD bootloader. This multiboot implementation is tailored to boot Xen and FreeBSD Dom0, and it will most surely fail to boot any other multiboot compilant kernel. In order to detect and boot the Xen microkernel, two new file formats are added to the bootloader, multiboot and multiboot_obj. Multiboot support must be tested before regular ELF support, since Xen is a multiboot kernel that also uses ELF. After a multiboot kernel is detected, all the other loaded kernels/modules are parsed by the multiboot_obj format. The layout of the loaded objects in memory is the following; first the Xen kernel is loaded as a 32bit ELF into memory (Xen will switch to long mode by itself), after that the FreeBSD kernel is loaded as a RAW file (Xen will parse and load it using it's internal ELF loader), and finally the metadata and the modules are loaded using the native FreeBSD way. After everything is loaded we jump into Xen's entry point using a small trampoline. The order of the multiboot modules passed to Xen is the following, the first module is the RAW FreeBSD kernel, and the second module is the metadata and the FreeBSD modules. Since Xen will relocate the memory position of the second multiboot module (the one that contains the metadata and native FreeBSD modules), we need to stash the original modulep address inside of the metadata itself in order to recalculate its position once booted. This also means the metadata must come before the loaded modules, so after loading the FreeBSD kernel a portion of memory is reserved in order to place the metadata before booting. In order to tell the loader to boot Xen and then the FreeBSD kernel the following has to be added to the /boot/loader.conf file: xen_cmdline="dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga" xen_kernel="/boot/xen" The first argument contains the command line that will be passed to the Xen kernel, while the second argument is the path to the Xen kernel itself. This can also be done manually from the loader command line, by for example typing the following set of commands: OK unload OK load /boot/xen dom0_mem=1024M dom0_max_vcpus=2 dom0pvh=1 console=com1,vga OK load kernel OK load zfs OK load if_tap OK load ... OK boot Sponsored by: Citrix Systems R&D Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D517 For the Forth bits: Submitted by: Julien Grall <julien.grall AT citrix.com>
* | | Sound: fix typos in user visible messages etc.bapt2015-01-154-4/+4
| | | | | | | | | | | | | | | | | | Submitted by: Sascha Wildner <saw@online.de> Obtained from: DragonFly MFC after: 3 days
* | | Major callout subsystem cleanup and rewrite:hselasky2015-01-1515-1105/+1042
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Close a migration race where callout_reset() failed to set the CALLOUT_ACTIVE flag. - Callout callback functions are now allowed to be protected by spinlocks. - Switching the callout CPU number cannot always be done on a per-callout basis. See the updated timeout(9) manual page for more information. - The timeout(9) manual page has been updated to reflect how all the functions inside the callout API are working. The manual page has been made function oriented to make it easier to deduce how each of the functions making up the callout API are working without having to first read the whole manual page. Group all functions into a handful of sections which should give a quick top-level overview when the different functions should be used. - The CALLOUT_SHAREDLOCK flag and its functionality has been removed to reduce the complexity in the callout code and to avoid problems about atomically stopping callouts via callout_stop(). If someone needs it, it can be re-added. From my quick grep there are no CALLOUT_SHAREDLOCK clients in the kernel. - A new callout API function named "callout_drain_async()" has been added. See the updated timeout(9) manual page for a complete description. - Update the callout clients in the "kern/" folder to use the callout API properly, like cv_timedwait(). Previously there was some custom sleepqueue code in the callout subsystem, which has been removed, because we now allow callouts to be protected by spinlocks. This allows us to tear down the callout like done with regular mutexes, and a "td_slpmutex" has been added to "struct thread" to atomically teardown the "td_slpcallout". Further the "TDF_TIMOFAIL" and "SWT_SLEEPQTIMO" states can now be completely removed. Currently they are marked as available and will be cleaned up in a follow up commit. - Bump the __FreeBSD_version to indicate kernel modules need recompilation. - There has been several reports that this patch "seems to squash a serious bug leading to a callout timeout and panic". Kernel build testing: all architectures were built MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D1438 Sponsored by: Mellanox Technologies Reviewed by: jhb, adrian, sbruno and emaste
OpenPOWER on IntegriCloud