#
14b841d4 |
| 11-Aug-2018 |
Kyle Evans <kevans@FreeBSD.org> |
MFH @ r337607, in preparation for boarding
|
#
bbd7a929 |
| 04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r336870 through r337285, and resolve conflicts.
|
#
2e62782d |
| 03-Aug-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Require write access when mmapping BAR.
This actually makes the rights requirements for accessing PCI config space and BARs using /dev/pci same. Since unchanged /dev/pci mode only allows write open
Require write access when mmapping BAR.
This actually makes the rights requirements for accessing PCI config space and BARs using /dev/pci same. Since unchanged /dev/pci mode only allows write open for root, default configuration de-facto limits the BAR read to root only. In particular, state-changing reads of the registers are limited to root.
Discussed with: se Suggested and reviewed by: jhb (kernel part) Sponsored by: The FreeBSD Foundation MFC after: 12 days Differential revision: https://reviews.freebsd.org/D16580
show more ...
|
#
87842989 |
| 01-Aug-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Add ioctl to conveniently mmap a PCI device BAR into userspace.
Add the ioctl PCIOCBARMMAP on /dev/pci to conveniently create userspace mapping of a PCI device BAR. This is enormously superior to r
Add ioctl to conveniently mmap a PCI device BAR into userspace.
Add the ioctl PCIOCBARMMAP on /dev/pci to conveniently create userspace mapping of a PCI device BAR. This is enormously superior to read the BAR value with PCIOCREAD and then try to mmap /dev/mem, and should allow to automatically activate the mapped BARs when needed in future.
Current implementation creates new sg pager for each user mmap request. If the pointer (and reference) to a managed device pager is stored in pci_map, we would be able to revoke all mappings on the BAR deactivation or relocation. This is related to the unimplemented BAR activation on mmap, and is postponed for the future.
Discussed with: imp, jhb Sponsored by: The FreeBSD Foundation, Mellanox Technologies MFC after: 2 weeks Differential revision: https://reviews.freebsd.org/D15583
show more ...
|
Revision tags: release/11.2.0 |
|
#
e9ed3a70 |
| 10-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Refactor PCIOCGETCONF for improved readability.
The code now has a single, consistant flow for all three ioctl variants. ifdefs and for pre-FreeBSD-7 compatability are moved to functions and macros.
Refactor PCIOCGETCONF for improved readability.
The code now has a single, consistant flow for all three ioctl variants. ifdefs and for pre-FreeBSD-7 compatability are moved to functions and macros. So the flow is alwasy the same, we impose the cost of allocating, copying to, updating from, and freeing a copy of struct pci_conf_io on all paths.
This change will allow PCIOCGETCONF32 support currently in sys/compat/freebsd32/freebsd32_ioctl.c to be moved here.
Reviewed by: kib, jhb Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14978
show more ...
|
#
6469bdcd |
| 06-Apr-2018 |
Brooks Davis <brooks@FreeBSD.org> |
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is close
Move most of the contents of opt_compat.h to opt_global.h.
opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options.
Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures.
Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files.
Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941
show more ...
|
#
fb441a88 |
| 27-Mar-2018 |
Konstantin Belousov <kib@FreeBSD.org> |
Fix several leaks of kernel stack data through paddings.
It is random collection of fixes for issues not yet corrected, reported at https://tsyrklevi.ch/clang_analyzer/freebsd_013017/. Many issues f
Fix several leaks of kernel stack data through paddings.
It is random collection of fixes for issues not yet corrected, reported at https://tsyrklevi.ch/clang_analyzer/freebsd_013017/. Many issues from that list were already corrected. Most of them are for compat32, old compat32 or affect both primary host ABI and compat32.
The freebsd32_kldstat(), for instance, was already fixed by using malloc(M_ZERO). Patch includes correction to report the supplied version back, which is just pedantic.
Reviewed by: brooks, emaste (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D14868
show more ...
|
#
fadd3f8a |
| 01-Mar-2018 |
Conrad Meyer <cem@FreeBSD.org> |
pci_ioctl: Avoid returning uninitialized error value if user provided empty buffer
In the weird case where the user-provided buffer was zero bytes, we could break out of PCIOCGETCONF and return with
pci_ioctl: Avoid returning uninitialized error value if user provided empty buffer
In the weird case where the user-provided buffer was zero bytes, we could break out of PCIOCGETCONF and return without initializing error. In this case, initialize error to zero -- we successfully did nothing, as requested.
Reported by: Coverity Sponsored by: Dell EMC Isilon
show more ...
|
#
718cf2cc |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
#
27067774 |
| 16-Aug-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r303250 through r304235.
|
#
10012d53 |
| 09-Aug-2016 |
John Baldwin <jhb@FreeBSD.org> |
Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF.
Previously the loop in PCIIOCGETCONF would terminate as soon as it found enough matches. Now it will continue iterating through the PCI de
Reliably return PCI_GETCONF_LAST_DEVICE from PCIOCGETCONF.
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.
Reviewed by: vangyzen, imp MFC after: 1 month Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D7445
show more ...
|
Revision tags: release/10.3.0 |
|
#
317cec3c |
| 22-Feb-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
#
9893f787 |
| 21-Feb-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r295601 through r295844.
|
#
5a1a8ad9 |
| 19-Feb-2016 |
Stefan Eßer <se@FreeBSD.org> |
Fix syntax error introduced in previous commit where I removed one character to few. I should have waited for the kernel compile to finish, even though the change seemed so trivial.
|
#
755ae20c |
| 19-Feb-2016 |
Stefan Eßer <se@FreeBSD.org> |
Remove redundant check for "(dinfo != NULL)", it has already been performed as the first part of this complex loop conditional.
Found by: PVS Static Analysis
|
Revision tags: release/10.2.0 |
|
#
98e0ffae |
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
e6e746bf |
| 25-Mar-2015 |
Glen Barber <gjb@FreeBSD.org> |
MFH: r278968-r280640
Sponsored by: The FreeBSD Foundation
|
#
fa1e92b6 |
| 04-Mar-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
ca65be80 |
| 04-Mar-2015 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r279313 through r279595.
|
#
072aeeb6 |
| 02-Mar-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Merge r278538 through r279514.
|
#
5060ec97 |
| 01-Mar-2015 |
Ryan Stone <rstone@FreeBSD.org> |
Emulate the Device ID and Vendor ID registers for VFs
The SR-IOV standard requires VFs to read all-ones when the VID and DID registers are read. The VMM (hypervisor) is required to emulate them ins
Emulate the Device ID and Vendor ID registers for VFs
The SR-IOV standard requires VFs to read all-ones when the VID and DID registers are read. The VMM (hypervisor) is required to emulate them instead. Make pci_read_config() do this emulation.
Change pci_user.c to use pci_read_config() to read config space registers instead of going directly to the pcib so that the emulated VID/DID registers work correctly on VFs. This is required both for pciconf and bhyve PCI passthrough.
Differential Revision: https://reviews.freebsd.org/D77 Reviewed by: jhb MFC after: 1 month Sponsored by: Sandvine Inc.
show more ...
|
Revision tags: release/10.1.0, release/9.3.0 |
|
#
6cec9cad |
| 03-Jun-2014 |
Peter Grehan <grehan@FreeBSD.org> |
MFC @ r266724
An SVM update will follow this.
|
#
3b8f0845 |
| 28-Apr-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head
|
#
84e51a1b |
| 23-Apr-2014 |
Alan Somers <asomers@FreeBSD.org> |
IFC @264767
|
#
c98bb15d |
| 21-Feb-2014 |
Glen Barber <gjb@FreeBSD.org> |
MFH: tracking commit
Sponsored by: The FreeBSD Foundation
|