aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add a hook to allow the toedev handling an offloaded connection toNavdeep Parhar2018-04-035-2/+32
| | | | | | | | | | provide accurate TCP_INFO. Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D14816 Notes: svn path=/head/; revision=331901
* Add support for a pmap direct map for 64-bit Book-EJustin Hibbits2018-04-032-7/+15
| | | | | | | | | | | As with AIM64, map the DMAP at the beginning of the fourth "quadrant" of memory, and move the KERNBASE to the the start of KVA. Eventually we may run the kernel out of the DMAP, but for now, continue booting as it has been. Notes: svn path=/head/; revision=331900
* Import CK as of commit b19ed4c6a56ec93215ab567ba18ba61bf1cfbac8Olivier Houchard2018-04-0218-148/+268
|\ | | | | | | | | | | | | | | | | | | | | | | It should fix ck_pr_[load|store]_ptr on mips and riscv, make sure no *fence instructions are used on i386, as older cpus don't support it, and make sure we don't rely on gcc builtins that can lead to calls to libatomic when linked with -O0. MFC after: 1 week Notes: svn path=/head/; revision=331898
| * Import CK as of commit b19ed4c6a56ec93215ab567ba18ba61bf1cfbac8vendor/ck/20180304Olivier Houchard2018-04-0216-140/+205
| | | | | | | | | | | | | | | | | | | | | | It should fix ck_pr_[load|store]_ptr on mips and riscv, make sure no *fence instructions are used on i386, as older cpus don't support it, and make sure we don't rely on gcc builtins that can lead to calls to libatomic when linked with -O0. Notes: svn path=/vendor-sys/ck/dist/; revision=331895 svn path=/vendor-sys/ck/20180304/; revision=331896; tag=vendor/ck/20180304
| * Import CK as of commit 6b141c0bdd21ce8b3e14147af8f87f22b20ecf32vendor/ck/20170407Olivier Houchard2017-04-092-52/+165
| | | | | | | | | | | | | | | | This brings us changes we needed in ck_epoch. Notes: svn path=/vendor-sys/ck/dist/; revision=316662 svn path=/vendor-sys/ck/20170407/; revision=316663; tag=vendor/ck/20170407
* | Fix formatting in snd_hda.4Benjamin Kaduk2018-04-021-3/+3
| | | | | | | | | | | | | | | | | | Submitted by: 0mp Reviewed by: skreuzer Differential Revision: https://reviews.freebsd.org/D14922 Notes: svn path=/head/; revision=331892
* | Bring some order to horizontal and vertical spacing in hier(7).Edward Tomasz Napierala2018-04-021-20/+24
| | | | | | | | | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=331887
* | Ensure the background laundering threshold is positive after a scan.Mark Johnston2018-04-021-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The division added in r331732 meant that we wouldn't attempt a background laundering until at least v_free_target - v_free_min clean pages had been freed by the page daemon since the last laundering. If the inactive queue is depleted but not completely empty (e.g., because it contains busy pages), it can thus take a long time to meet this threshold. Restore the pre-r331732 behaviour of using a non-zero background laundering threshold if at least one inactive queue scan has elapsed since the last attempt at background laundering. Submitted by: tijl (original version) Notes: svn path=/head/; revision=331879
* | unify amd64 and i386 cpu_reset() in x86/cpu_machdep.cAndriy Gapon2018-04-023-272/+143
| | | | | | | | | | | | | | | | | | | | | | Because I didn't see any reason not too. I've been making some changes to the code and couldn't help but notice that the i386 and am64 code was nearly identical. MFC after: 17 days Notes: svn path=/head/; revision=331878
* | Add the missing header for malloc(9). It was pulled in through headerAndrew Turner2018-04-021-0/+1
| | | | | | | | | | | | | | pollution that doesn't seem to exist in some configurations. Notes: svn path=/head/; revision=331877
* | x86 cpu_reset: if failed to switch to BSP proceed to cpu_reset_realAndriy Gapon2018-04-022-12/+14
| | | | | | | | | | | | | | | | | | | | | | If cpu_reset() is called on an AP and if it somehow fails to wake the BSP, then it's better to attempt the reset on the AP than just sit there spinning on an unusable and undebuggable system. MFC after: 16 days Notes: svn path=/head/; revision=331875
* | x86 cpu_reset_proxy: no need to stop_cpus() the original processorAndriy Gapon2018-04-022-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | The processor is "parked" in a spin-loop already and that's sufficient for the reset. There is nothing that stop_cpus() would add here, only extra complexity and fragility. The original processor does not need to enable interrupts now, in fact, it must not do that. MFC after: 2 weeks Notes: svn path=/head/; revision=331874
* | Use UMA_SLAB_SPACE macro. No functional change here.Gleb Smirnoff2018-04-021-1/+1
| | | | | | | | Notes: svn path=/head/; revision=331873
* | In uma_startup_count() handle special case when zone will fit intoGleb Smirnoff2018-04-021-1/+3
| | | | | | | | | | | | | | | | | | | | | | single slab, but with alignment adjustment it won't. Again, when there is only one item in a slab alignment can be ignored. See previous revision of this file for more info. PR: 227116 Notes: svn path=/head/; revision=331872
* | Handle a special case when a slab can fit only one allocation,Gleb Smirnoff2018-04-021-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and zone has a large alignment. With alignment taken into account uk_rsize will be greater than space in a slab. However, since we have only one item per slab, it is always naturally aligned. Code that will panic before this change with 4k page: z = uma_zcreate("test", 3984, NULL, NULL, NULL, NULL, 31, 0); uma_zalloc(z, M_WAITOK); A practical scenario to hit the panic is a machine with 56 CPUs and 2 NUMA domains, which yields in zone size of 3984. PR: 227116 MFC after: 2 weeks Notes: svn path=/head/; revision=331871
* | Fix the build on arches with default unsigned char. Capture the fubyte()Ian Lepore2018-04-011-3/+4
| | | | | | | | | | | | | | | | return value in an int as well as the char, and test the full int value for fubyte() failure. Notes: svn path=/head/; revision=331869
* | Add opt_platform.h for several modules that have #ifdef FDT in the source.Ian Lepore2018-04-015-1/+5
| | | | | | | | | | | | | | Submitted by: Andre Albsmeier <Andre.Albsmeier@siemens.com> Notes: svn path=/head/; revision=331868
* | Add a uma cache of free pages in the DEFAULT freepool. This gives usJeff Roberson2018-04-014-8/+109
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | per-cpu alloc and free of pages. The cache is filled with as few trips to the phys allocator as possible by the use of a new vm_phys_alloc_npages() function which allocates as many as N pages. This code was originally by markj with the import function rewritten by me. Reviewed by: markj, kib Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Differential Revision: https://reviews.freebsd.org/D14905 Notes: svn path=/head/; revision=331863
* | Add the flag ZONE_NOBUCKETCACHE. This flag instructions UMA not to keepJeff Roberson2018-04-012-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | a cache of fully populated buckets. This will be used in a follow-on commit. The flag idea was originally from markj. Reviewed by: markj, kib Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon Notes: svn path=/head/; revision=331862
* | lualoader: Don't try to lookup a nil logoKyle Evans2018-04-011-0/+3
| | | | | | | | Notes: svn path=/head/; revision=331860
* | lualoader: Split logodefs out into logo-* filesKyle Evans2018-04-017-135/+322
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit splits all of the logodefs/graphics out into their own own files and provides a method for these files to register their logodefs with the drawer. Graphics are now loaded on demand if they don't exist in the current set of logodefs. The drawer module becomes a little easier to navigate through without all of the graphics mixed in. It's also easy to do one-off graphics like the 9.2 Die Hard tribute by dteske@ without adding even more to our memory requirements. Notes: svn path=/head/; revision=331859
* | The Uninorth ID was really for Uninorth 2.Warner Losh2018-04-012-3/+3
| | | | | | | | | | | | | | | | Submitted by: Sevan Janiyan Differential Revision: https://reviews.freebsd.org/D14919 Notes: svn path=/head/; revision=331858
* | lualoader: Simplify some expressionsKyle Evans2018-04-011-23/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - No need for a 'goto' when our entire loop body is then wrapped in a conditional. - No need to leave commented out prints laying around - If an expression is clearly going to be either nil or an expression that isn't likely to be a boolean, we might as well use `or` to specify a default value for the expression. e.g. `loader.getenv(...) or "no"` Notes: svn path=/head/; revision=331857
* | lualoader: revert whitespace change that snuck inKyle Evans2018-03-311-1/+0
| | | | | | | | Notes: svn path=/head/; revision=331856
* | lualoader: Don't assume that {module}_load is setKyle Evans2018-03-311-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The previous iteration of this assumed that {module}_load was set. In the old world order of default loader.conf(5), this was probably a safe assumption given that we had almost every module explicitly not-loaded in it. In the new world order, this is no longer the case, so one could delete a _load line inadvertently while leaving a _name, _type, _flags, _before, _after, or _error. This would have caused a confusing Lua error and borked module loading. Notes: svn path=/head/; revision=331855
* | lualoader: Do case-insensitive comparison of "yes"Kyle Evans2018-03-311-1/+1
| | | | | | | | Notes: svn path=/head/; revision=331854
* | Don't verify td_locks accounting after a panic.Mark Johnston2018-03-311-1/+2
| | | | | | | | | | | | | | | | Reported by: pho X-MFC with: r331738 Notes: svn path=/head/; revision=331853
* | fwohcireg.h is 99% the same between the boot loader and theWarner Losh2018-03-315-380/+5
| | | | | | | | | | | | | | | | kernel. Delete it and fix up the 1% difference because there's no need for them to be different. Notes: svn path=/head/; revision=331852
* | Fix memory leaks in route(8).Alexander V. Chernikov2018-03-311-0/+2
| | | | | | | | | | | | | | | | | | Submitted by: Tom Rix (trix_juniper.net) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D9676 Notes: svn path=/head/; revision=331844
* | Synchronise with NetBSD's version of EFI handling for El Torito images.Benno Rice2018-03-314-28/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I implemented my EFI support I failed to check if the upstream version of makefs in NetBSD had done the same. Override my version with theirs to make it easier to stay in sync with them in the future. Reviewed by: imp, mav Obtained from: NetBSD MFC after: 1 week Sponsored by: iXsystems, Inc. Differential Revision: https://reviews.freebsd.org/D14913 Notes: svn path=/head/; revision=331843
* | Remove MK_AUTO_OBJ from env passed to PORTS_MODULESJason A. Harmening2018-03-311-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a failure to resolve object file paths seen when buildkernel (which sets MK_AUTO_OBJ=yes) and installkernel (which sets MK_AUTO_OBJ=no) are run as separate steps. r329232 partially fixed this scenario by removing MAKEOBJDIR, but it seems the AUTO_OBJ setting also needs to be on the same page for the build and install steps. Reviewed by: bdrewery MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D14143 Notes: svn path=/head/; revision=331836
* | Document and enforce assumptions about struct (in6_)ifreq.Brooks Davis2018-03-302-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The two types must be type-punnable for shared members of ifr_ifru. This allows compatibility accessors to be shared. - There must be no padding gap between ifr_name and ifr_ifru. This is assumed in tcpdump's use of SIOCGIFFLAGS output which attempts to be broadly portable. This is true for all current architectures, but very large (256-bit) fat-pointers could violate this invariant. Reviewed by: kib Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14910 Notes: svn path=/head/; revision=331831
* | Add deprecation notices for Arcnet and FDDI drivers.Brooks Davis2018-03-304-2/+16
| | | | | | | | | | | | | | | | | | | | | | | | We intend to remove support before FreeBSD 12 is branched. Reviewed by: imp, emaste MFC after: 3 days Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14890 Notes: svn path=/head/; revision=331830
* | Fall back to ether_ioctl() by default.Brooks Davis2018-03-304-28/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The common pratice in ethernet device drivers is to fall back to ether_ioctl() to implement generic ioctls not implemented by the driver and to fail if no handler exists. Convert these drivers to follow that practice rather than calling ether_ioctl() for specific cases. vxge(4) aready had the default case, but it was only called on failure to match. Reviewed by: imp Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14895 Notes: svn path=/head/; revision=331829
* | Optimise use of Giant in the LinuxKPI.Hans Petter Selasky2018-03-305-37/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Make sure Giant is locked when calling PCI device methods. Newbus currently requires this. - Avoid unlocking Giant right before aquiring the sleepqueue lock. This can save a task switch. MFC after: 1 week Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331828
* | Remove unused structure field in mlx5core.Hans Petter Selasky2018-03-301-1/+0
| | | | | | | | | | | | | | | | MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331827
* | Bump mlx5core driver version.Hans Petter Selasky2018-03-301-2/+4
| | | | | | | | | | | | | | | | MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331826
* | Fix for use after free in mlx5core.Hans Petter Selasky2018-03-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | Make sure the command completion handler is not called when the device is in internal error state. This can easily trigger use after free situations. MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331825
* | Make sure Giant is locked when allocating bus resources in mlx5core.Hans Petter Selasky2018-03-301-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | During health care IRQ resources will be reallocated. Newbus requires that Giant is locked before accessing these resources. MFC after: 3 days Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331824
* | Collect firmware dump when mlx5core is in device error state.Hans Petter Selasky2018-03-301-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Firmware dump collecting should be triggered in case firmware syndrome with request for reset bit is set. MFC after: 3 days Submitted by: slavash@ Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331823
* | Reorganize health recovery in mlx5core.Hans Petter Selasky2018-03-301-39/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | - Move the semaphore locking and unlocking to the same function. - Flags are no longer needed if the reset and crdump will be done in the same function. MFC after: 3 days Submitted by: slavash@ Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331822
* | Prepare for FW dump in error state in mlx5core.Hans Petter Selasky2018-03-302-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | - Move firmware dump prep and cleanup to init_one() and remove_one() so that the init and cleanup will happen only upon driver reload. - Add some prints to indicate firmware dump. MFC after: 3 days Submitted by: slavash@ Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331821
* | Properly check if crspace is supported in mlx5core.Hans Petter Selasky2018-03-301-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | The old code checked for MLX5_CR_SPACE_DOMAIN which is irrelevant here. However, if dev->vsec_addr would be 0, an access to wrong offset would happen. MFC after: 3 days Submitted by: slavash@ Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331820
* | Add missing newline character in print in mlx5core.Hans Petter Selasky2018-03-301-1/+1
| | | | | | | | | | | | | | | | | | MFC after: 3 days Submitted by: slavash@ Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=331819
* | Add logic for "families" for GCE images.Glen Barber2018-03-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows for GCE consumers to easily detect the latest major version of FreeBSD when using the gcloud command line utility. To ensure snapshot builds do not conflict with release-style builds (ALPHA, BETA, RC, RELEASE), the '-snap' suffix is appended to the GCE image family name. MFC after: 3 days Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=331806
* | Use an accessor function to access ifr_data.Brooks Davis2018-03-3028-91/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes 32-bit compat (no ioctl command defintions are required as struct ifreq is the same size). This is believed to be sufficent to fully support ifconfig on 32-bit systems. Reviewed by: kib Obtained from: CheriBSD MFC after: 1 week Relnotes: yes Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14900 Notes: svn path=/head/; revision=331797
* | Remove a comment that suggests checking that a non-pointer is non-NULL.Brooks Davis2018-03-301-4/+0
| | | | | | | | | | | | | | | | | | Reviewed by: melifaro, markj, hrs, ume Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14904 Notes: svn path=/head/; revision=331776
* | ocs_fc(4): Fix GCC build (-Wredundant-decls)Conrad Meyer2018-03-301-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | These objects are defined earlier in the same file; an extern declaration after definition is redundant. Broken in r331766 (introduction of ocs_fc(4)). Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=331768
* | efinet: Do not return only if ReceiveFilter failsEmmanuel Vadot2018-03-301-3/+1
| | | | | | | | | | | | | | | | | | | | If the network interface or the uefi implementation do not support the ReceiveFilter interface do not return only and just print a message. U-Boot doesn't support is and likely never will. Also even if this fails it doesn't mean that network in EFI isn't supported. Notes: svn path=/head/; revision=331767
* | Bring in the Broadcom/Emulex Fibre Channel driver, ocs_fc(4).Kenneth D. Merry2018-03-3055-0/+69390
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ocs_fc(4) driver supports the following hardware: Emulex 16/8G FC GEN 5 HBAS LPe15004 FC Host Bus Adapters LPe160XX FC Host Bus Adapters Emulex 32/16G FC GEN 6 HBAS LPe3100X FC Host Bus Adapters LPe3200X FC Host Bus Adapters The driver supports target and initiator mode, and also supports FC-Tape. Note that the driver only currently works on little endian platforms. It is only included in the module build for amd64 and i386, and in GENERIC on amd64 only. Submitted by: Ram Kishore Vegesna <ram.vegesna@broadcom.com> Reviewed by: mav MFC after: 5 days Relnotes: yes Sponsored by: Broadcom Differential Revision: https://reviews.freebsd.org/D11423 Notes: svn path=/head/; revision=331766