#
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 ...
|
#
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 ...
|
#
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
|
#
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 ...
|
#
84b755df |
| 20-Jan-2014 |
John Baldwin <jhb@FreeBSD.org> |
Add support for displaying VPD for PCI devices via pciconf. - Store the length of each read-only VPD value since not all values are guaranteed to be ASCII values (though most are). - Add a new pcii
Add support for displaying VPD for PCI devices via pciconf. - Store the length of each read-only VPD value since not all values are guaranteed to be ASCII values (though most are). - Add a new pciio ioctl to fetch VPD for a single PCI device. The values are returned as a list of variable length records, one for the device name and each keyword. - Add a new -V flag to pciconf's list mode which displays VPD data for each device.
MFC after: 1 week
show more ...
|
#
fee3029c |
| 26-Dec-2012 |
David Xu <davidxu@FreeBSD.org> |
Always initialize pattern_buf pointers to NULL, otherwise AMD64 machine panics with: free: address xxx(yyy) has not been allocated. it can be triggered by hald.
|
#
e5280830 |
| 27-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix zillions of style(9) and spacing bugs introduced by r240981.
Pointy hat to: sobomax
|
#
904c3909 |
| 27-Sep-2012 |
Gleb Smirnoff <glebius@FreeBSD.org> |
Fix several build failures for !COMPAT_FREEBSD32 and !COMPAT_FREEBSD* kernels introduced by r240981.
Pointy hat to: sobomax
|
#
b01bf72b |
| 27-Sep-2012 |
Maxim Sobolev <sobomax@FreeBSD.org> |
Add 32-bit ABI compat shims. Those are necessary for i386 binary-only tools like sysutils/hpacucli (HP P4xx RAID controller management suite) working on amd64 systems.
PR: 139271 Submitted by: Kazu
Add 32-bit ABI compat shims. Those are necessary for i386 binary-only tools like sysutils/hpacucli (HP P4xx RAID controller management suite) working on amd64 systems.
PR: 139271 Submitted by: Kazumi MORINAGA, Eugene Grosbein MFC after: 1 week
show more ...
|
#
a90dd577 |
| 31-Mar-2011 |
John Baldwin <jhb@FreeBSD.org> |
Explicitly track the state of all known BARs for each PCI device. The PCI bus driver will now remember the size of a BAR obtained during the initial bus scan and use that size when doing lazy resour
Explicitly track the state of all known BARs for each PCI device. The PCI bus driver will now remember the size of a BAR obtained during the initial bus scan and use that size when doing lazy resource allocation rather than resizing the BAR. The bus driver will now also report unallocated BARs to userland for display by 'pciconf -lb'. Psuedo-resources that are not BARs (such as the implicit I/O port resources for master/slave ATA controllers) will no longer be listed as BARs in 'pciconf -lb'. During resume, BARs are restored from their new saved state instead of having the raw registers saved and restored across resume. This also fixes restoring BARs at unusual loactions if said BAR has been allocated by a driver.
Add a constant for the offset of the ROM BIOS BAR in PCI-PCI bridges and properly handle ROM BIOS BARs in PCI-PCI bridges. The PCI bus now also properly handles the lack of a ROM BIOS BAR in a PCI-Cardbus bridge.
Tested by: jkim
show more ...
|
#
762aad81 |
| 29-Jul-2010 |
Neel Natu <neel@FreeBSD.org> |
Fix 'pciconf -a' by providing an implementation of PCIOCATTACHED.
Reviewed by: imp MFC after: 1 week Pointed out by: Heymian Wong (heymian at mit.alum.edu) Sponsored by: NetApp
|
#
d16d35fd |
| 11-Sep-2009 |
Andriy Gapon <avg@FreeBSD.org> |
pci(4): don't perform maximum register number check
Different sub-kinds of PCI buses may have different rules and thus it is up for the bus backends to do proper input checks. For example, PCIe allo
pci(4): don't perform maximum register number check
Different sub-kinds of PCI buses may have different rules and thus it is up for the bus backends to do proper input checks. For example, PCIe allows configuration register numbers < 0x1000, while for PCI proper the limit is 0x100. And, in fact, the buses already do the checks.
Reviewed by: jhb MFC after: 1 week X-ToDo: add check for negative value to bus backends X-ToDo: use named constant for maximum PCIe register
show more ...
|
#
da1e0915 |
| 02-Feb-2009 |
John Baldwin <jhb@FreeBSD.org> |
- Add a new ioctl to /dev/pci to fetch details on an individual BAR of a device. The details include the current value of the BAR (including all the flag bits and the current base address), its
- Add a new ioctl to /dev/pci to fetch details on an individual BAR of a device. The details include the current value of the BAR (including all the flag bits and the current base address), its length, and whether or not it is enabled. Since this operation is not invasive, non-root users are allowed to use it (unlike manual config register access which requires root). The intention is that userland apps (such as Xorg) will use this interface rather than dangerously frobbing the BARs from userland to obtain this information. - Add a new sub-mode to the 'list' mode of pciconf. The -b flag when used with -l will now list all the active BARs for each device.
MFC after: 1 month
show more ...
|
#
0678f786 |
| 15-Jan-2008 |
John Baldwin <jhb@FreeBSD.org> |
Don't cache the new-bus name of a PCI device in the PCI conf structure, but reread it from the device_t every time the device list is fetched. Previously the device name in pciconf -l would not be up
Don't cache the new-bus name of a PCI device in the PCI conf structure, but reread it from the device_t every time the device list is fetched. Previously the device name in pciconf -l would not be updated when a driver was unloaded or if a device was detached and attached to a different driver.
MFC after: 1 week PR: kern/104777 Submitted by: "Iasen Kostoff" tbyte | otel net
show more ...
|
#
c5860546 |
| 26-Dec-2007 |
Marius Strobl <marius@FreeBSD.org> |
Fix some bugs in the FreeBSD 4/5/6 pci(4) IOCTLs compatibility code: - Use the correct offsets when copying out the results of PCIOCGETCONF_OLD. This happened to not affect the 64-bit architectures
Fix some bugs in the FreeBSD 4/5/6 pci(4) IOCTLs compatibility code: - Use the correct offsets when copying out the results of PCIOCGETCONF_OLD. This happened to not affect the 64-bit architectures because there the addition of pc_domain to struct pcisel didn't change the overall size of struct pci_conf. [1] - Always copy the name and unit information to conf_old so it's also part of the output once this information is cached in dinfo. - Use the correct type for flags in struct pci_match_conf_old. This change is more or less cosmetic though.
Reported and tested by: bde [1] Reviewed by: imp MFC after: 3 days Committed from: 24C3
show more ...
|
#
b2068c0c |
| 26-Oct-2007 |
Warner Losh <imp@FreeBSD.org> |
Simplify the old compat #ifdefs.
|
#
33d3fffa |
| 24-Oct-2007 |
Marius Strobl <marius@FreeBSD.org> |
Add ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was broken with the introduction of PCI domain support. As the size of struct
Add ABI backwards compatibility to the FreeBSD 4/5/6 versions of the PCIOCGETCONF, PCIOCREAD and PCIOCWRITE IOCTLs, which was broken with the introduction of PCI domain support. As the size of struct pci_conf_io wasn't changed with that commit, this unfortunately requires the ABI of PCIOCGETCONF to be broken again in order to be able to provide backwards compatibility to the old version of that IOCTL.
Requested by: imp Discussed with: re (kensmith) Reviewed by: PCI maintainers (imp, jhb) MFC after: 5 days
show more ...
|
#
55aaf894 |
| 30-Sep-2007 |
Marius Strobl <marius@FreeBSD.org> |
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the d
Make the PCI code aware of PCI domains (aka PCI segments) so we can support machines having multiple independently numbered PCI domains and don't support reenumeration without ambiguity amongst the devices as seen by the OS and represented by PCI location strings. This includes introducing a function pci_find_dbsf(9) which works like pci_find_bsf(9) but additionally takes a domain number argument and limiting pci_find_bsf(9) to only search devices in domain 0 (the only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order to no longer report false positives when searching for siblings and dupe devices in the same domain respectively. Along with this change the sole host-PCI bridge driver converted to actually make use of PCI domain support is uninorth(4), the others continue to use domain 0 only for now and need to be converted as appropriate later on. Note that this means that the format of the location strings as used by pciconf(8) has been changed and that consumers of <sys/pciio.h> potentially need to be recompiled.
Suggested by: jhb Reviewed by: grehan, jhb, marcel Approved by: re (kensmith), jhb (PCI maintainer hat)
show more ...
|
#
40ed3f47 |
| 06-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Actually make bounds checking for PCIOCREAD and PCIOCWRITE work.
|
#
8910aa92 |
| 26-Aug-2005 |
Paul Saab <ps@FreeBSD.org> |
For FreeBSD 4 binaries, when trying to read from a device that does not exsist, do not have ioctl return an error, but instead set -1 in the data returned to the user. This allows the HP bios flash
For FreeBSD 4 binaries, when trying to read from a device that does not exsist, do not have ioctl return an error, but instead set -1 in the data returned to the user. This allows the HP bios flash utilities to work without requiring changes to their code.
Reviewed by: jhb
show more ...
|
#
37ce43b7 |
| 13-Apr-2005 |
Bruce M Simpson <bms@FreeBSD.org> |
Use pci_find_bsf() to retrieve the PCI device associated with a bus/device/function tuple. This change enables pciconf(8) to work with CardBus devices.
Reviewed by: imp
|
#
78b7c8d6 |
| 27-Feb-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use dynamic major number allocation.
|
#
89c9c53d |
| 16-Jun-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
#
dc08ffec |
| 21-Feb-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT fl
Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
show more ...
|