summaryrefslogtreecommitdiffstats
path: root/share/man
Commit message (Collapse)AuthorAgeFilesLines
* MFC 303522,303647,303860,303880,304168,304169,304170,304479,304485,305549:jhb2016-10-033-2/+296
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Chelsio T4/T5 VF driver. 303522: Various fixes to the t4/5nex character device. - Remove null open/close methods. - Don't set d_flags to 0 explicitly. - Remove t5_cdevsw as the .d_name member isn't really used and doesn't warrant a separate cdevsw just for the name. - Use ENOTTY as the error value for an unknown ioctl request. - Use make_dev_s() to close race with setting si_drv1. 303647: Store the offset of the KDOORBELL and GTS registers in the softc. VF devices use a different register layout than PF devices. Storing the offset in a value in the softc allows code to be shared between the PF and VF drivers. 303860: Reserve an adapter flag IS_VF to mark VF devices vs PF devices. 303880: Track the base absolute ID of ingress and egress queues. Use this to map an absolute queue ID to a logical queue ID in interrupt handlers. For the regular cxgbe/cxl drivers this should be a no-op as the base absolute ID should be zero. VF devices have a non-zero base absolute ID and require this change. While here, export the absolute ID of egress queues via a sysctl. 304168: Make SGE parameter handling more VF-friendly. Add fields to hold the SGE control register and free list buffer sizes to the sge_params structure. Populate these new fields in t4_init_sge_params() for PF devices and change t4_read_chip_settings() to pull these values out of the params structure instead of reading registers directly. This will permit t4_read_chip_settings() to be reused for VF devices which cannot read SGE registers directly. While here, move the call to t4_init_sge_params() to get_params__post_init(). The VF driver will populate the SGE parameters structure via a different method before calling t4_read_chip_settings(). 304169: Update mailbox writes to work with VF devices. - Use alternate register locations for the data and control registers for VFs. - Do a dummy read to force the writes to the mailbox data registers to post before the write to the control register on VFs. - Do not check the PCI-e firmware register for errors on VFs. 304170: Add support for register dumps on VF devices. - Add handling of VF register sets to t4_get_regs_len() and t4_get_regs(). - While here, use t4_get_regs_len() in the ioctl handler for regdump instead of inlining it. 304479: Add structures for VF-specific adapter parameters. While here, mark which parameters are PF-specific and which are VF-specific. 304485: Reorder sysctls so that nodes shared with the VF driver are added first. This permits a single early return for VF devices in the routines that add sysctl nodes. 305549: Chelsio T4/T5 VF driver. The cxgbev/cxlv driver supports Virtual Function devices for Chelsio T4 and T4 adapters. The VF devices share most of their code with the existing PF4 driver (cxgbe/cxl) and as such the VF device driver currently depends on the PF4 driver. Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf PCI device driver that attaches to the VF device. It then creates child cxgbev/cxlv devices representing ports assigned to the VF. By default, the PF driver assigns a single port to each VF. t4vf_hw.c contains VF-specific routines from the shared code used to fetch VF-specific parameters from the firmware. t4_vf.c contains the VF-specific PCI device driver and includes its own attach routine. VF devices are required to use a different firmware request when transmitting packets (which in turn requires a different CPL message to encapsulate messages). This alternate firmware request does not permit chaining multiple packets in a single message, so each packet results in a firmware request. In addition, the different CPL message requires more detailed information when enabling hardware checksums, so parse_pkt() on VF devices must examine L2 and L3 headers for all packets (not just TSO packets) for VF devices. Finally, L2 checksums on non-UDP/non-TCP packets do not work reliably (the firmware trashes the IPv4 fragment field), so IPv4 checksums for such packets are calculated in software. Most of the other changes in the non-VF-specific code are to expose various variables and functions private to the PF driver so that they can be used by the VF driver. Note that a limited subset of cxgbetool functions are supported on VF devices including register dumps, scheduler classes, and clearing of statistics. In addition, TOE is not supported on VF devices, only for the PF interfaces. Sponsored by: Chelsio Communications
* MFC 305751: Make device_quiet() an attachment property.jhb2016-09-301-6/+8
| | | | | | | | In particular, reset the DF_QUIET flag when detaching from a device so that a driver that marks a device quiet doesn't dictate policy for a different driver that may claim the device in the future. Sponsored by: Chelsio Communications
* MFC 305502: Reset PCI pass through devices via PCI-e FLR during VM start/end.jhb2016-09-302-0/+102
| | | | | | | | | | | | Add routines to trigger a function level reset (FLR) of a PCI-express device via the PCI-express device control register. This also includes support routines to wait for pending transactions to complete as well as calculating the maximum completion timeout permitted by a device. Change the ppt(4) driver to reset pass through devices before attaching to a VM during startup and before detaching from a VM during shutdown. Sponsored by: Chelsio Communications
* MFC 304858,305485,305497: Fix various issues with PCI pass through and VT-d.jhb2016-09-301-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 304858: Enable I/O MMU when PCI pass through is first used. Rather than enabling the I/O MMU when the vmm module is loaded, defer initialization until the first attempt to pass a PCI device through to a guest. If the I/O MMU fails to initialize or is not present, than fail the attempt to pass a PCI device through to a guest. The hw.vmm.force_iommu tunable has been removed since the I/O MMU is no longer enabled during boot. However, the I/O MMU support can be disabled by setting the hw.vmm.iommu.enable tunable to 0 to prevent use of the I/O MMU on any systems where it is buggy. 305485: Leave ppt devices in the host domain when they are not attached to a VM. This allows a pass through device to be reset to a normal device driver on the host and reused on the host. ppt devices are now always active in some I/O MMU domain when the I/O MMU is active, either the host domain or the domain of a VM they are attached to. 305497: Update the I/O MMU in bhyve when PCI devices are added and removed. When the I/O MMU is active in bhyve, all PCI devices need valid entries in the DMAR context tables. The I/O MMU code does a single enumeration of the available PCI devices during initialization to add all existing devices to a domain representing the host. The ppt(4) driver then moves pass through devices in and out of domains for virtual machines as needed. However, when new PCI devices were added at runtime either via SR-IOV or HotPlug, the I/O MMU tables were not updated. This change adds a new set of EVENTHANDLERS that are invoked when PCI devices are added and deleted. The I/O MMU driver in bhyve installs handlers for these events which it uses to add and remove devices to the "host" domain. Sponsored by: Chelsio Communications
* MFC 305248: Remove warning about pci_addr_t being different sizes.jhb2016-09-301-6/+1
| | | | pci_addr_t has always been 64-bits since r163805.
* MFC 303881: Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF.jhb2016-09-301-4/+3
| | | | | | | | | | | | | | | | | | Previously the loop in PCIIOCGETCONF would terminate as soon as it found enough matches. Now it will continue iterating through the PCI device list and only terminate if it finds another matching device for which it has no room to store a conf structure. This means that PCI_GETCONF_LAST_DEVICE is reliably returned when the number of matching devices is equal to the number of slots in the matches buffer. For example, if a program requests the conf structure for a single PCI function with a specified domain/bus/slot/function it will now get PCI_GETCONF_LAST_DEVICE instead of PCI_GETCONF_MORE_DEVS. While here, simplify the loop conditional a bit more by explicitly breaking out of the loop if copyout() fails and removing a redundant i < pci_numdevs check. Sponsored by: Chelsio Communications
* MFC 303721: Permit the name of the /dev/iov entry to be set by the driver.jhb2016-09-292-1/+25
| | | | | | | | | | | | | | | | | | | The PCI_IOV option creates character devices in /dev/iov for each PF device driver that registers support for creating VFs. By default the character device is named after the PF device (e.g. /dev/iov/foo0). This change adds a variant of pci_iov_attach() called pci_iov_attach_name() that allows the name of the /dev/iov entry to be specified by the driver. To preserve the ABI, this version does not modify the existing PCI_IOV_ATTACH kobj method as was done in HEAD. Instead, a new PCI_IOV_ATTACH_NAME method has been added that accepts the name as an additional parameter. The PCI bus driver now provides an implementation of PCI_IOV_ATTACH_NAME. A default implementation of PCI_IOV_ATTACH is provided that calls PCI_IOV_ATTACH_NAME passing 'device_get_nameunit(dev)' as the name. Sponsored by: Chelsio Communications
* MFC r305692:kib2016-09-251-0/+10
| | | | Add FPU_KERN_NOCTX flag to the fpu_kern_enter() function on amd64.
* MFC r306102:kevlo2016-09-251-1/+3
| | | | | | | | | Add support for the TP-Link TG-3468 v2. This is an RTL8168 chip, which we already support so all we have to do is add the vendor ID. PR: 212876 Submitted by: Tobias Kortkamp <t@tobik.me>
* MFC r305600: amdsbwd.4: update supported hardware listavg2016-09-211-2/+17
|
* MFC r305596: intpm.4 update supported hardware listavg2016-09-211-1/+5
|
* MFC r303113: Cross-link some SMBus controller drivers man pages.avg2016-09-215-0/+10
|
* MFC r303111: Document list of supported chipsets.avg2016-09-211-9/+23
|
* MFC 305624:jhb2016-09-131-10/+193
| | | | | | | | Document PCI_HP and PCI_IOV kernel options and various tunables in pci(4). Describe PCI-related kernel options for HotPlug and SR-IOV support in the pci(4) manual page. While here, add a section describing the various tunables supported by the PCI bus driver as well.
* MFC r304315 (by jilles):kib2016-08-311-1/+2
| | | | rights(4): CAP_FSYNC also permits fdatasync(2).
* MFC r304209:kib2016-08-291-1/+2
| | | | The fdatasync(2) call must be cancellation point.
* MFC r303425:kib2016-08-272-17/+121
| | | | | | | Add callout_when(9). MFC r303919: Fix indentation.
* MFC r303494: Once more refactor KPI between ntb_transport(4) and if_ntb(4).mav2016-08-182-7/+15
| | | | | | New design allows to attach multiple consumers to ntb_transport(4) instance. Previous design obtained from Linux theoretically allowed that, but was not practically usable (Linux also has only one consumer driver now).
* MFC r303429, r303437:mav2016-08-181-2/+16
| | | | | | | | | | | | | Once more refactor KPI between NTB hardware and consumers. New design allows hardware resources to be split between several consumers. For example, one BAR can be dedicated for remote memory access, while other resources can be used for packet transport for virtual Ethernet interface. And even without resource split, this code allows to specify which consumer driver should attach the hardware. From some points this makes the code even closer to Linux one, even though Linux does not provide the described flexibility.
* MFC r302520: Replace NTB man page with more detailed and up to date.mav2016-08-185-117/+268
| | | | Sponsored by: iXsystems, Inc.
* MFC r303328:bdrewery2016-08-021-0/+2
| | | | | | Add links for bit_ffc_at(3) and bit_ffs_at(3). Approved by: re (kib)
* MFC r303322,303326,303327,303345,303413,303416,303418,303557sbruno2016-08-012-3/+9
| | | | | | | Update iwm(4) and iwmfw(4) to current in order to stabilize and improve functionality. Approved by: re (gjb)
* MFC r303519vangyzen2016-08-012-6/+6
| | | | | | | | | Fix two return types in the cpuset(9) and bitset(9) man pages The *_FFS() and *_COUNT() functions return int, not size_t. Approved by: re (gjb) Sponsored by: Dell Inc.
* MFC r303211:kib2016-07-302-11/+37
| | | | | | Implement mtx_trylock_spin(9). Approved by: re (gjb)
* MFC 303202: Update to note that operations on local files are safe.jhb2016-07-281-1/+3
| | | | Approved by: re (gjb)
* MFC 303164: Add more documentation regarding unsafe AIO requests.jhb2016-07-281-7/+15
| | | | | | | | | | | | | | | | | | | | | The asynchronous I/O changes made previously result in different behavior out of the box. Previously all AIO requests failed with ENOSYS / SIGSYS unless aio.ko was explicitly loaded. Now, some AIO requests complete and others ("unsafe" requests) fail with EOPNOTSUPP. Reword the introductory paragraph in aio(4) to add a general description of AIO before describing the vfs.aio.enable_unsafe sysctl. Remove the ENOSYS error description from aio_fsync(2), aio_read(2), and aio_write(2) and replace it with a description of EOPNOTSUPP. Remove the ENOSYS error description from aio_mlock(2). Log a message to the system log the first time a process requests an "unsafe" AIO request that fails with EOPNOTSUPP. This is modeled on the log message used for processes using the legacy pty devices. Approved by: re (gjb)
* MFC 302899: Add documentation for the sigevent structure.jhb2016-07-253-1/+178
| | | | | | | | | | | | - Add a sigevent(3) manpage to give a general overview of the sigevent structure and the available notification mechanisms. - Document that AIO requests contain a nested sigevent structure that can be used to request completion notification. - Expand the sigevent details in other manuals to note details such as the extra values stored in a queued signal's information or in a posted kevent. Approved by: re (gjb)
* MFC 302861: Fix rendering issues.jhb2016-07-251-6/+6
| | | | | | | - Use Ta to separate column headers. - Correct width of the 'Code' column in the last table. Approved by: re (gjb)
* MFC r303043:bdrewery2016-07-251-3/+3
| | | | | | | Increase vt(4) framebuffer maximum size PR: 210382 Approved by: re (gjb)
* MFC r302673slm2016-07-192-77/+172
| | | | | | | | Use real values to calculate Max I/O size instead of guessing. Reviewed by: ken, scottl Approved by: re(gjb), ken, scottl, ambrisko (mentors) Differential Revision: https://reviews.freebsd.org/D7043
* Correct a manual page reference.gjb2016-07-051-2/+2
| | | | | Approved by: re (kib) Sponsored by: The FreeBSD Foundation
* The paradigm of a callout is that it has three consequent states:glebius2016-07-051-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not scheduled -> scheduled -> running -> not scheduled. The API and the manual page assume that, some comments in the code assume that, and looks like some contributors to the code also did. The problem is that this paradigm isn't true. A callout can be scheduled and running at the same time, which makes API description ambigouous. In such case callout_stop() family of functions/macros should return 1 and 0 at the same time, since it successfully unscheduled future callout but the current one is running. Before this change we returned 1 in such a case, with an exception that if running callout was migrating we returned 0, unless CS_MIGRBLOCK was specified. With this change, we now return 0 in case if future callout was unscheduled, but another one is still in action, indicating to API users that resources are not yet safe to be freed. However, the sleepqueue code relies on getting 1 return code in that case, and there already was CS_MIGRBLOCK flag, that covered one of the edge cases. In the new return path we will also use this flag, to keep sleepqueue safe. Since the flag CS_MIGRBLOCK doesn't block migration and now isn't limited to migration edge case, rename it to CS_EXECUTING. This change fixes panics on a high loaded TCP server. Reviewed by: jch, hselasky, rrs, kib Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D7042
* Regenerate for WITH_EXTRA_TCP_STACKS updates.jtl2016-06-281-1/+4
| | | | | Approved by: re (gjb) Sponsored by: Juniper Networks
* Document support for alternate TCP stacks.jtl2016-06-283-2/+312
| | | | | | | Differential Revision: https://reviews.freebsd.org/D6940 Reviewed by: hiren Approved by: re (gjb) Sponsored by: Juniper Networks
* Regeneratebdrewery2016-06-241-6/+18
| | | | Approved by: re (implicit, r302177)
* Add pci_get_max_payload() to fetch the PCI-express maximum payload size.jhb2016-06-241-1/+14
| | | | | | | Approved by: re (gjb) MFC after: 2 weeks Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D6951
* syscons.4,vt.4: update kern.vty description reflecting vt as defaultemaste2016-06-212-11/+11
| | | | | | | | | rS274085 made vt(4) the default system console. Catch up to this in the man page description for the kern.vty tunable. Reviewed by: bz Approved by: re (hrs) Differential Revision: https://reviews.freebsd.org/D6901
* pf: Filter on and set vlan PCP valueskp2016-06-171-2/+25
| | | | | | | | | | | Adopt the OpenBSD syntax for setting and filtering on VLAN PCP values. This introduces two new keywords: 'set prio' to set the PCP value, and 'prio' to filter on it. Reviewed by: allanjude, araujo Approved by: re (gjb) Obtained from: OpenBSD (mostly) Differential Revision: https://reviews.freebsd.org/D6786
* Renegerate for WITH_META_MODE updates.bdrewery2016-06-141-4/+11
| | | | | Approved by: re (implicit) Sponsored by: EMC / Isilon Storage Division
* urtwn(4): refresh manpage.avos2016-06-091-18/+46
| | | | | | | Mention URTWN_WITHOUT_UCODE option (r295871), hardware encryption support (r292175), IBSS (r290651) and HOSTAP (r290631) mode support; cleanup CAVEATS section (some 11n support was added in r297175 + add a note about current rate control issues).
* rum(4): refresh manpage.avos2016-06-091-5/+5
| | | | | Add a note about hardware encryption support (r288633), adhoc-demo mode (r288622) and remove BUGS section (fixed in r288632).
* Fix a bunch of "xref refers to *this* page" igor(1) warnings.trasz2016-06-0915-22/+20
| | | | MFC after: 1 month
* Implement an NSS backend for netgroups and add getnetgrent_r(3).markj2016-06-091-1/+3
| | | | | | | | | | | | | | | | | | This support appears to have been documented in nsswitch.conf(5) for some time. The implementation adds two NSS netgroup providers to libc. The default, compat, provides the behaviour documented in netgroup(5), so this change does not make any user-visible behaviour changes. A files provider is also implemented. innetgr(3) is implemented as an optional NSS method so that providers such as NIS which are able to implement efficient reverse lookup can do so. A fallback implementation is used otherwise. getnetgrent_r(3) is added for convenience and to provide compatibility with glibc and Solaris. With a small patch to net/nss_ldap, it's possible to specify an ldap netgroup provider, allowing one to query nisNetgroupTriple entries. Sponsored by: EMC / Isilon Storage Division
* Regeneratebdrewery2016-06-081-2/+20
|
* Fix typos.trasz2016-06-085-8/+8
| | | | MFC after: 1 month
* Fix some trailing whitespaces.trasz2016-06-0815-59/+59
| | | | MFC after: 1 month
* Last few instances of "sentence not on new line".trasz2016-06-088-17/+31
| | | | MFC after: 1 month
* Fix a bunch of "sentence not on new line" warnings in section 9.trasz2016-06-089-43/+66
| | | | MFC after: 1 month
* Fix a bunch of "sentence not on new line" warnings from igor(1).trasz2016-06-0846-140/+208
| | | | MFC after: 1 month
* Improve documentation for usfs(4) and usb_template(4).trasz2016-06-082-13/+32
| | | | | | Reviewed by: hselasky (earlier version) MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D6740
OpenPOWER on IntegriCloud