aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* DIRDEPS_BUILD: Build the kernel in the same place as buildkernel would.Bryan Drewery2016-05-261-1/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300798
* DIRDEPS_BUILD: Update dependencies.Bryan Drewery2016-05-261-0/+1
| | | | | | | Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300797
* Fix MAKESYSPATH not being sent to sub-makes after r266566.Bryan Drewery2016-05-261-0/+3
| | | | | | | | | | Because bmake defaults to .../share/mk now, this code was not doing anything to help objdir builds (such as the rescue build). Export the same default. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300796
* WITH_META_MODE: Move the kernel support to kern.pre.mk.Bryan Drewery2016-05-263-8/+6
| | | | | | | | | | This allows using META_MODE directly from the kernel build directory. This also allows removing a hack from the DIRDEPS_BUILD kernel target. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300795
* Remove leftover _crunchide from r283108Bryan Drewery2016-05-261-1/+0
| | | | Notes: svn path=/head/; revision=300794
* exec: Provide execpath in imgp for the process_exec hook.Bryan Drewery2016-05-261-8/+16
| | | | | | | | | | | | | This was previously set after the hook and only if auxargs were present. Now always provide it if possible. MFC after: 2 weeks Reviewed by: kib Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6546 Notes: svn path=/head/; revision=300793
* exec: Add credential change information into imgp for process_exec hook.Bryan Drewery2016-05-262-86/+106
| | | | | | | | | | | | | | | | | | | | | | | This allows an EVENTHANDLER(process_exec) hook to see if the new image will cause credentials to change whether due to setgid/setuid or because of POSIX saved-id semantics. This adds 3 new fields into image_params: struct ucred *newcred Non-null if the credentials will change. bool credential_setid True if the new image is setuid or setgid. This will pre-determine the new credentials before invoking the image activators, where the process_exec hook is called. The new credentials will be installed into the process in the same place as before, after image activators are done handling the image. MFC after: 2 weeks Reviewed by: kib Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D6544 Notes: svn path=/head/; revision=300792
* Use a unique error message if we fail to find the simple network protocol.John Baldwin2016-05-261-1/+8
| | | | | | | | | | | While here, fix the various net driver callbacks to return early instead of crashing if this fails. (The 'init' callback from the netif interface doesn't return an error if the protocol lookup fails.) Sponsored by: Cisco Systems Notes: svn path=/head/; revision=300791
* Apply the printf %S band-aid for efinet.c to fix the arm64 build.John Baldwin2016-05-261-0/+7
| | | | Notes: svn path=/head/; revision=300790
* Remove second copy of the -Wno-format band-aid for printf %S.John Baldwin2016-05-261-4/+0
| | | | Notes: svn path=/head/; revision=300789
* rtwn, urtwn: drop unused structures.Andriy Voskoboinyk2016-05-262-34/+0
| | | | | | | | urtwn(4) uses another implementation of command queue; rtwn(4) don't need it at all. Notes: svn path=/head/; revision=300788
* Add a convenience function to get a gpio pin's capabilties.Ian Lepore2016-05-262-0/+10
| | | | Notes: svn path=/head/; revision=300787
* Add support for triggering interrupts on both rising and falling edges.Ian Lepore2016-05-261-39/+67
| | | | | | | Also, EOI a gpio interrupt in the post_ithread routine before re-enabling. Notes: svn path=/head/; revision=300786
* Use routines from the recently added devpath.c.John Baldwin2016-05-261-19/+4
| | | | | | | | | | These efipart layer did several devpath related operations inline. This just switches it over to using shared code for working with device paths. Sponsored by: Cisco Systems Notes: svn path=/head/; revision=300785
* Include the new AQM files when compiling a kernel with options DUMMYNET.Don Lewis2016-05-261-0/+4
| | | | | | | | Reported by: Nikolay Denev <nike_d AT cytexbg DOT com> MFC after: 2 weeks (with r300779) Notes: svn path=/head/; revision=300784
* Correct a typo in a comment.Don Lewis2016-05-261-1/+1
| | | | | | | MFC after: 2 weeks (with r300779) Notes: svn path=/head/; revision=300783
* Output the device path description for EFI network devices.John Baldwin2016-05-261-3/+8
| | | | | | | | | | | Lookup the DEVICE_PATH for each EFI network device handle and output the string description using printf with '%S'. To honor the pager, the newline at the end of each line is still output with pager_output(). Sponsored by: Cisco Systems Notes: svn path=/head/; revision=300782
* Modify BOUND_VAR() macro to wrap all of its arguments in () and tweakDon Lewis2016-05-261-2/+2
| | | | | | | | | | | its expression to work on powerpc and sparc64 (gcc compatibility). Correct a typo in a nearby comment. MFC after: 2 weeks (with r300779) Notes: svn path=/head/; revision=300781
* Add some routines for working with EFI DEVICE_PATH objects.John Baldwin2016-05-263-2/+177
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - efi_lookup_devpath() uses the DEVICE_PATH_PROTOCOL to obtain the DEVICE_PATH for a given EFI handle. - efi_lookup_image_devpath() uses the LOADED_IMAGE_DEVICE_PATH_PROTOCOL to lookup the device path of the device used to load a loaded image. - efi_devpath_name() uses the DEVICE_PATH_TO_TEXT_PROTOCOL to generate a string description of a device path. The returned string is a CHAR16 string that can be printed via the recently added '%S' format in libstand's printf(). Note that the returned string is returned in allocated storage that should be freed by calling efi_free_devpath_name(). - efi_devpath_last_node() walks a DEVICE_PATH returning a pointer to the final node in the path (not counting the terminating node). That is, it returns a pointer to the last meaninful node in a DEVICE_PATH. - efi_devpath_trim() generates a new DEVICE_PATH from an existing DEVICE_PATH. The new DEVICE_PATH does not include the last non-terminating node in the original path. If the original DEVICE_PATH only contains the terminating node, this function returns NULL. The caller is responsible for freeing the returned DEVICE_PATH via free(). - efi_devpath_handle() attempts to find a handle that corresponds to a given device path. However, if nodes at the end of the device path do not have valid handles associated with them, this function will return a handle that matches a node earlier in the device path. In particular, this function returns a handle for the node closest to the end of the device path which has a valid handle. Sponsored by: Cisco Systems Notes: svn path=/head/; revision=300780
* Import Dummynet AQM version 0.2.1 (CoDel, FQ-CoDel, PIE and FQ-PIE).Don Lewis2016-05-2623-8/+5203
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Centre for Advanced Internet Architectures Implementing AQM in FreeBSD * Overview <http://caia.swin.edu.au/freebsd/aqm/index.html> * Articles, Papers and Presentations <http://caia.swin.edu.au/freebsd/aqm/papers.html> * Patches and Tools <http://caia.swin.edu.au/freebsd/aqm/downloads.html> Overview Recent years have seen a resurgence of interest in better managing the depth of bottleneck queues in routers, switches and other places that get congested. Solutions include transport protocol enhancements at the end-hosts (such as delay-based or hybrid congestion control schemes) and active queue management (AQM) schemes applied within bottleneck queues. The notion of AQM has been around since at least the late 1990s (e.g. RFC 2309). In recent years the proliferation of oversized buffers in all sorts of network devices (aka bufferbloat) has stimulated keen community interest in four new AQM schemes -- CoDel, FQ-CoDel, PIE and FQ-PIE. The IETF AQM working group is looking to document these schemes, and independent implementations are a corner-stone of the IETF's process for confirming the clarity of publicly available protocol descriptions. While significant development work on all three schemes has occured in the Linux kernel, there is very little in FreeBSD. Project Goals This project began in late 2015, and aims to design and implement functionally-correct versions of CoDel, FQ-CoDel, PIE and FQ_PIE in FreeBSD (with code BSD-licensed as much as practical). We have chosen to do this as extensions to FreeBSD's ipfw/dummynet firewall and traffic shaper. Implementation of these AQM schemes in FreeBSD will: * Demonstrate whether the publicly available documentation is sufficient to enable independent, functionally equivalent implementations * Provide a broader suite of AQM options for sections the networking community that rely on FreeBSD platforms Program Members: * Rasool Al Saadi (developer) * Grenville Armitage (project lead) Acknowledgements: This project has been made possible in part by a gift from the Comcast Innovation Fund. Submitted by: Rasool Al-Saadi <ralsaadi@swin.edu.au> X-No objection: core MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D6388 Notes: svn path=/head/; revision=300779
* Add support for interrupts, sensors and GPIO for AXP209 PMIC.Emmanuel Vadot2016-05-269-46/+736
| | | | | | | | | | | | | | | | | | | | Pressing the PEK (power enable key) will shutdown the board. Some events are reported to devd via system "PMU" and subsystem "Battery", "AC" and "USB" such as connected/disconnected. Some sensors values (power source voltage/current) are reported via sysctl (dev.axp209_pmu.X.) It also expose a gpioc node usable in kernel and userland. Only 3 of the 4 GPIO are exposed (The GPIO3 is different and mostly unused on boards). Most popular boards uses GPIO1 as a sense pin for OTG power. Add a dtsi file that adds gpio-controller capability to the device as upstream doesn't defined it and include it in our custom DTS. Reviewed by: jmcneill Approved by: cognet (mentor) Differential Revision: https://reviews.freebsd.org/D6135 Notes: svn path=/head/; revision=300777
* Remove vestigial cloudware-install bits missed in r300767.Glen Barber2016-05-262-7/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300776
* Let l64a() properly null terminate its result.Ed Schouten2016-05-261-22/+14
| | | | | | | | | | | | | | | | | Though the buffer used by l64a() is initialized with null bytes, repetetive calls may end up having trailing garbage of previous invocations because we don't end up terminating the string. Instead of importing NetBSD's fix, use this opportunity to simplify this function dramatically, for example by just storing the Base64 character set in a string. There is also no need to do the bitmasking, as we can just use the proper integer type from <stdint.h>. MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D6511 Notes: svn path=/head/; revision=300775
* Ifndef KERNEL the userspace-only routines in sys/md[45].hConrad Meyer2016-05-262-0/+11
| | | | | | | | | | | | A follow-up to r300773. Nothing in the kernel uses those definitions, but apparently libmd includes the sys/md45 headers. Fix the build. Reported by: gjb Pointy-hat: cem Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300774
* crypto routines: Hint minimum buffer sizes to the compilerConrad Meyer2016-05-2615-56/+43
| | | | | | | | | | | | | | Use the C99 'static' keyword to hint to the compiler IVs and output digest sizes. The keyword informs the compiler of the minimum valid size for a given array. Obviously not every pointer can be validated (i.e., the compiler can produce false negative but not false positive reports). No functional change. No ABI change. Sponsored by: EMC / Isilon Storage Division Notes: svn path=/head/; revision=300773
* Fix style(9).Jung-uk Kim2016-05-261-2/+4
| | | | Notes: svn path=/head/; revision=300772
* Use bit_count(3) instead of four bitcount32() calls.Jung-uk Kim2016-05-261-18/+17
| | | | | | | | Reviewed by: asomers, ngie Differential Revision: https://reviews.freebsd.org/D6543 Notes: svn path=/head/; revision=300771
* Update libc++ to 3.8.0. Excerpted list of fixes (with upstream revisionDimitry Andric2016-05-2689-4793/+6818
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | numbers): r242679 Implement the plugin-based version of std::search. There are no searchers yet; those are coming soon. r242682 Implement the default searcher for std::experimental::search. r243728 Add <experimental/any> v2. r245330 implement more of N4258 - Cleaning up noexcept in the standard library. Specifically add new noexcept stuff to vector and string's move-assignment operations r245334 Fix PR22606 - Leak pthread_key with static storage duration to ensure all of thread-local destructors are called. r245335 Fix PR23589: std::function doesn't recognize null pointer to varargs function. r247036 Implementation of Boyer-Moore and Boyer-Moore-Horspool searchers for the LFTS. r249325 Implement LWG#2063, and update the issues links to point to the github generated pages r249738 Split <ctype.h> out of <cctype>. r249739 Split <errno.h> out of <cerrno>. r249740 Split <float.h> out of <cfloat>. r249741 Split <inttypes.h> out of <cinttypes>. r249742 Split <math.h> out of <cmath>. r249743 Split <setjmp.h> out of <csetjmp>. r249761 Split <stddef.h> out of <cstddef>. r249798 Split <stdio.h> out of <cstdio>. r249800 Split <stdlib.h> out of <cstdlib>. r249889 Split <wchar.h> out of <cwchar>. r249890 Split <wctype.h> out of <cwctype>. r249929 Split <string.h> out of <cstring>. r250254 ABI versioning macros for libc++. r251246 Fix LWG#2244: basic_istream::seekg r251247 Fix LWG#2127: Move-construction with raw_storage_iterator. r251253 Fix LWG#2476: scoped_allocator_adaptor is not assignable r251257 Fix LWG#2489: mem_fn() should be noexcept r251618 Implement P0004R1 'Remove Deprecated iostreams aliases' r251766 Implement the first part of P0006R0: Adopt Type Traits Variable Templates for C++17. r252195 Implement P0092R1 for C++1z r252350 Allow deque to handle incomplete types. r252406 More of P0006R0: type traits variable aliases for C++17. r252407 Implement LWG#2353: std::next is over-constrained r252905 Implement P0074: Making owner_less more flexible r253215 Implement P0013R1: Logical Operator Type Traits. r253274 Implement P0007: Constant View: A proposal for a std::as_const helper function template. r254119 Add static_assert to set/multiset/map/multimap/forward_list/deque that the allocator's value_type match the container's value_type. r254283 Implement more of P0006; Type Traits Variable Templates. r255941 LWG2485: get() should be overloaded for const tuple&&. r256325 Fix LWG Issue #2367 - Fixing std::tuple and std::pair's default constructors. r256652 Fix for ALL undefined behavior in <list>. r256859 First half of LWG#2354: 'Unnecessary copying when inserting into maps with braced-init syntax' Exp-run: antoine Relnotes: yes Notes: svn path=/head/; revision=300770
| * Vendor import of libc++ release_38 branch r261369:vendor/libc++/libc++-release_380-r262564vendor/libc++/libc++-release_38-r261369Dimitry Andric2016-02-213-4/+65
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/branches/release_38@261369 Notes: svn path=/vendor/libc++/dist/; revision=295852 svn path=/vendor/libc++/libc++-release_380-r262564/; revision=296363; tag=vendor/libc++/libc++-release_380-r262564
| * Vendor import of libc++ release_38 branch r260756:vendor/libc++/libc++-release_38-r260756Dimitry Andric2016-02-138-1/+15
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/branches/release_38@260756 Notes: svn path=/vendor/libc++/dist/; revision=295596 svn path=/vendor/libc++/libc++-release_38-r260756/; revision=295597; tag=vendor/libc++/libc++-release_38-r260756
| * Vendor import of libc++ release_38 branch r258968:vendor/libc++/libc++-release_38-r258968Dimitry Andric2016-01-2724-1/+48
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/branches/release_38@258968 Notes: svn path=/vendor/libc++/dist/; revision=294945 svn path=/vendor/libc++/libc++-release_38-r258968/; revision=294946; tag=vendor/libc++/libc++-release_38-r258968
| * Vendor import of libc++ release_38 branch r258549:vendor/libc++/libc++-release_38-r258549Dimitry Andric2016-01-2228-1/+244
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/branches/release_38@258549 Notes: svn path=/vendor/libc++/dist/; revision=294606 svn path=/vendor/libc++/libc++-release_38-r258549/; revision=294607; tag=vendor/libc++/libc++-release_38-r258549
| * Vendor import of libc++ release_38 branch r257836:vendor/libc++/libc++-release_38-r257836Dimitry Andric2016-01-1643-112/+776
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/branches/release_38@257836 Notes: svn path=/vendor/libc++/dist/; revision=294164 svn path=/vendor/libc++/dist/libc++-release_38-r257836/; revision=294165; tag=vendor/libc++/libc++-release_38-r257836
| * Vendor import of libc++ trunk r257626:vendor/libc++/r257626Dimitry Andric2016-01-1369-208/+279
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/trunk@257626 Notes: svn path=/vendor/libc++/dist/; revision=293844 svn path=/vendor/libc++/r257626/; revision=293845; tag=vendor/libc++/r257626
| * Vendor import of libc++ trunk r256945:vendor/libc++/r256945Dimitry Andric2016-01-0615-336/+449
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/trunk@256945 Notes: svn path=/vendor/libc++/dist/; revision=293255 svn path=/vendor/libc++/r256945/; revision=293256; tag=vendor/libc++/r256945
| * Vendor import of libc++ trunk r256633:vendor/libc++/r256633Dimitry Andric2015-12-30809-10085/+24694
| | | | | | | | | | | | | | | | https://llvm.org/svn/llvm-project/libcxx/trunk@256633 Notes: svn path=/vendor/libc++/dist/; revision=292928 svn path=/vendor/libc++/r256633/; revision=292930; tag=vendor/libc++/r256633
* | Only do the touch screen setup when the 'ti,wires' property is present.Luiz Otavio O Souza2016-05-261-2/+2
| | | | | | | | | | | | | | While here fix a typo in a debug message. Notes: svn path=/head/; revision=300769
* | Update a commented line to replace recently-removed images withGlen Barber2016-05-261-1/+1
| | | | | | | | | | | | | | | | | | images that are published. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300768
* | Remove the cw*-install target.Glen Barber2016-05-261-9/+0
| | | | | | | | | | | | | | | | | | | | | | All operations are performed on the original output file, and nothing is ever done with the copied file (as in, no modifications and/or publication from the copied file). Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300767
* | Don't reuse the source mbuf in tcp_respond() if it is not writable.John Baldwin2016-05-261-2/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all mbufs passed up from device drivers are M_WRITABLE(). In particular, the Chelsio T4/T5 driver uses a feature called "buffer packing" to receive multiple frames in a single receive buffer. The mbufs for these frames all share the same external storage so are treated as read-only by the rest of the stack when multiple frames are in flight. Previously tcp_respond() would blindly overwrite read-only mbufs when INVARIANTS was disabled or panic with an assertion failure if INVARIANTS was enabled. Note that the new case is a bit of a mix of the two other cases in tcp_respond(). The TCP and IP headers must be copied explicitly into the new mbuf instead of being inherited (similar to the m == NULL case), but the addresses and ports must be swapped in the reply (similar to the m != NULL case). Reviewed by: glebius Notes: svn path=/head/; revision=300764
* | Update default KMODDIR in comment after r299393.John Baldwin2016-05-261-1/+1
| | | | | | | | | | | | | | Submitted by: hselasky Notes: svn path=/head/; revision=300763
* | Disconnect the OPENSTACK target from the CLOUDWARE list.Glen Barber2016-05-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was reported to not work as expected, and feedback following the report was never received. In addition, we do not publish these anywhere publicly. The configuration file is not (yet) removed, in hopes that the remaining details on the original issues can be resolved, and we can publish the resulting images in the future. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300762
* | Disconnect the AZURE target from the CLOUDWARE list.Glen Barber2016-05-261-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Microsoft has graciously overtaken publication of FreeBSD on Azure since 10.3-RELEASE. Many thanks to Microsoft for their support of FreeBSD on Azure. The configuration file and Makefile.azure are not (yet) planned to be removed, as they may be useful in the future. Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=300761
* | [siba] use the generic bus methods where appropriate.Adrian Chadd2016-05-261-38/+6
| | | | | | | | | | | | | | | | Submitted by: jhibbits Differential Revision: https://reviews.freebsd.org/D802 Notes: svn path=/head/; revision=300760
* | ral: add missing ic_getradiocaps() assignment.Andriy Voskoboinyk2016-05-261-0/+1
| | | | | | | | Notes: svn path=/head/; revision=300759
* | Prevent parallel object collapses. Both vm_object_collapse_scan() andKonstantin Belousov2016-05-261-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | swap_pager_copy() might unlock the object, which allows the parallel collapse to execute. Besides destroying the object, it also might move the reference from parent to the backing object, firing the assertion ref_count == 1. Collapses are prevented by bumping paging_in_progress counters on both the object and its backing object. Reported by: cem Tested by: pho (previous version) Reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week X-Differential revision: https://reviews.freebsd.org/D6085 Notes: svn path=/head/; revision=300758
* | Fix a typo in a comment.Ian Lepore2016-05-261-1/+1
| | | | | | | | Notes: svn path=/head/; revision=300757
* | Style changes to some most outrageous violations in vm_object_collapse().Konstantin Belousov2016-05-261-9/+6
| | | | | | | | | | | | | | | | | | Reviewed by: alc Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=300756
* | bwi: switch to ieee80211_add_channel_list_2ghz().Andriy Voskoboinyk2016-05-261-6/+45
| | | | | | | | | | | | | | | | | | - Use device's channel list instead of default one (from ieee80211_init_channels()); adds 12 - 14 2GHz channels. - Add ic_getradiocaps() method. Notes: svn path=/head/; revision=300755
* | urtwn, rtwn, rsu: switch to ieee80211_add_channel_list_2ghz().Andriy Voskoboinyk2016-05-265-21/+78
| | | | | | | | | | | | | | | | | | - Use device's channel list instead of default one (from ieee80211_init_channels()); adds 12 - 14 2GHz channels. - Add ic_getradiocaps() method. Notes: svn path=/head/; revision=300754