Lines Matching +full:non +full:- +full:pci
29 .Nm pci
30 .Nd generic PCI/PCIe bus driver
32 To compile the PCI bus driver into the kernel,
35 .Bd -ragged -offset indent
36 .Cd device pci
40 .Pq SR-IOV :
41 .Bd -ragged -offset indent
45 To compile in support for native PCI-express HotPlug:
46 .Bd -ragged -offset indent
53 .Tn PCI
57 .Tn PCI
63 .Pa /dev/pci
65 .Tn PCI
68 .Tn PCI
70 .Tn PCI
76 .Tn PCI
84 .Pa /dev/pci
91 or a BAR read access could have function-specific side-effects.
96 .Tn PCI
99 .Tn PCI
101 .Tn PCI
106 .Tn PCI
108 .Tn PCI
113 driver also includes support for PCI-PCI bridges,
114 various platform-specific Host-PCI bridges,
116 .Tn PCI
126 .Bl -tag -width 012345678901234
134 .Tn PCI
136 .Tn PCI
147 .Bl -tag -width match_buf_len
149 The length, in bytes, of the buffer filled with user-supplied patterns.
151 The number of user-supplied patterns.
153 Pointer to a buffer filled with user-supplied patterns.
162 .Bl -tag -width pd_vendor
164 .Tn PCI
167 .Tn PCI
170 .Tn PCI
173 .Tn PCI
176 .Tn PCI
179 .Tn PCI
203 .Bl -tag -width pc_subvendor
205 .Tn PCI
208 .Tn PCI
211 .Tn PCI
214 .Tn PCI
217 .Tn PCI
220 .Tn PCI
223 .Tn PCI
226 .Tn PCI
229 .Tn PCI
232 .Tn PCI
261 .Tn PCI
275 .Bl -ohang
277 This means that there are no more devices in the PCI device list matching
284 .Tn PCI
312 .Tn PCI
313 configuration registers specified by the passed-in
319 .Bl -tag -width pi_width
325 If the specific bus is not found, errno will be set to ENODEV and -1 returned
329 .Tn PCI
335 3-byte reads and reads larger than 4 bytes are
345 .Tn PCI
346 configuration registers specified in the passed-in
354 .Tn PCI
360 .Tn PCI
361 device specified in the passed-in
381 the memory-mapped PCI BAR into its address space.
385 .Bl -tag -width Vt struct pcise pbm_sel
417 Regular memory-like BAR should be mapped with
423 .Bl -tag -width PCIIO_BAR_MMAP_ACTIVATE
436 Without the flag, read-only mapping is established.
437 Note that it is common for the device registers to have side-effects
451 .Bl -tag
466 1-byte, 2-byte, 4-byte and 8-byte perations are supported.
489 tunable to a non-zero value.
490 .Bl -tag -width indent
491 .It Va hw.pci.clear_bars Pq Defaults to 0
492 Ignore any firmware-assigned memory and I/O port resources.
494 .Tn PCI
497 .It Va hw.pci.clear_buses Pq Defaults to 0
498 Ignore any firmware-assigned bus number registers in PCI-PCI bridges.
500 .Tn PCI
501 bus driver and PCI-PCI bridge driver to allocate bus numbers for secondary
502 buses behind PCI-PCI bridges.
503 .It Va hw.pci.clear_pcib Pq Defaults to 0
504 Ignore any firmware-assigned memory and I/O port resource windows in PCI-PCI
506 This forces the PCI-PCI bridge driver to allocate memory and I/O port resources
509 By default the PCI-PCI bridge driver will allocate windows that
510 contain the firmware-assigned resources devices behind the bridge.
511 In addition, the PCI-PCI bridge driver will suballocate from existing window
515 .Va hw.pci.clear_bars
517 .Va hw.pci.clear_pcib
518 must be enabled to fully ignore firmware-supplied resource assignments.
519 .It Va hw.pci.default_vgapci_unit Pq Defaults to -1
522 .Tn PCI
528 .It Va hw.pci.do_power_nodriver Pq Defaults to 0
533 .Bl -tag -width indent
536 .Tn PCI
550 .Tn PCI
553 .It Va hw.pci.do_power_resume Pq Defaults to 1
555 .Tn PCI
559 up non-powered PCI devices after a suspend.
560 .It Va hw.pci.do_power_suspend Pq Defaults to 1
562 .Tn PCI
567 .It Va hw.pci.enable_ari Pq Defaults to 1
568 Enable support for PCI-express Alternative RID Interpretation.
569 This is often used in conjunction with SR-IOV.
570 .It Va hw.pci.enable_io_modes Pq Defaults to 1
571 Enable memory or I/O port decoding in a PCI device's command register if it has
572 firmware-assigned memory or I/O port resources.
578 .It Va hw.pci.enable_msi Pq Defaults to 1
582 .It Va hw.pci.enable_msix Pq Defaults to 1
584 .Pq MSI-X .
585 MSI-X interrupts can be disabled by setting this tunable to 0.
586 .It Va hw.pci.enable_pcie_ei Pq Defaults to 0
587 Enable support for PCI-express Electromechanical Interlock.
588 .It Va hw.pci.enable_pcie_hp Pq Defaults to 1
589 Enable support for native PCI-express HotPlug.
590 .It Va hw.pci.honor_msi_blacklist Pq Defaults to 1
591 MSI and MSI-X interrupts are disabled for certain chipsets known to have
592 broken MSI and MSI-X implementations when this tunable is set.
593 It can be set to zero to permit use of MSI and MSI-X interrupts if the
595 .It Va hw.pci.iov_max_config Pq Defaults to 1MB
597 used when creating Virtual Functions via SR-IOV.
600 .It Va hw.pci.realloc_bars Pq Defaults to 0
602 for any memory or I/O port resources with firmware-assigned ranges that
604 .It Va hw.pci.usb_early_takeover Pq Defaults to 1 on Tn amd64 and Tn i386
609 .It Va hw.pci<D>.<B>.<S>.INT<P>.irq
614 The tunable name includes the address of the PCI device as well as the
616 .Bl -tag -width indent
620 of the PCI device in decimal.
622 The bus address of the PCI device in decimal.
624 The slot of the PCI device in decimal.
626 The interrupt pin of the PCI slot to override.
647 .Va hints.<name>.<unit>.at="pci<B>:<S>:<F>"
649 .Va hints.<name>.<unit>.at="pci<D>:<B>:<S>:<F>"
654 for any PCI device found to match the specification, where:
655 .Bl -tag -width -indent
659 of the PCI device in decimal.
662 The bus address of the PCI device in decimal.
664 The slot of the PCI device in decimal.
666 The function of the PCI device in decimal.
681 .Bd -literal
688 at PCI bus 14 slot 0 function 0,
692 device at PCI bus 6 slot 0 function 0,
714 .Bd -literal
715 hint.nvme.3.at="PciRoot(0x2)/Pci(0x1,0x3)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)"
716 hint.nvme.8.at="PciRoot(0x1)/Pci(0x2,0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)"
728 .Bl -tag -width /dev/pci -compact
729 .It Pa /dev/pci
741 .Tn PCI
745 Support for device listing and matching was re-implemented by