/freebsd-src/sys/dev/pci/ |
H A D | pci_subr.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 32 * Support APIs for Host to PCI bridge drivers and drivers that 33 * provide PCI domains. 42 #include <dev/pci/pcireg.h> 43 #include <dev/pci/pcivar.h> 44 #include <dev/pci/pcib_privat 303 pci_find_domain(int domain) pci_find_domain() argument 332 pci_domain_alloc_bus(int domain,device_t dev,int * rid,rman_res_t start,rman_res_t end,rman_res_t count,u_int flags) pci_domain_alloc_bus() argument 352 pci_domain_adjust_bus(int domain,device_t dev,struct resource * r,rman_res_t start,rman_res_t end) pci_domain_adjust_bus() argument 369 pci_domain_release_bus(int domain,device_t dev,struct resource * r) pci_domain_release_bus() argument 385 pci_domain_activate_bus(int domain,device_t dev,struct resource * r) pci_domain_activate_bus() argument 401 pci_domain_deactivate_bus(int domain,device_t dev,struct resource * r) pci_domain_deactivate_bus() argument [all...] |
H A D | pcivar.h | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 35 /* some PCI bus constants */ 37 #define PCI_MAXMAPS_1 2 /* max. no. of maps for PCI to PCI bridge */ 42 /* Config registers for PCI-PCI and PCI-Cardbus bridges. */ 51 /* Interesting values for PCI power management */ 53 uint16_t pp_cap; /* PCI power management capabilities */ 89 /* Interesting values for PCI MSI */ 100 /* Interesting values for PCI MSI-X */ 108 u_int mte_vector; /* 1-based index into msix_vectors array. */ [all …]
|
/freebsd-src/sys/dev/iommu/ |
H A D | busdma_iommu.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 51 #include <dev/pci/pcireg.h> 52 #include <dev/pci/pcivar.h> 68 * IOMMU units from Intel VT-d. 72 iommu_bus_dma_is_dev_disabled(int domain, int bus, int slot, int func) in iommu_bus_dma_is_dev_disabled() argument 92 snprintf(str, sizeof(str), "hw.busdma.pci in iommu_bus_dma_is_dev_disabled() 121 device_t l, pci, pcib, pcip, pcibp, requester; iommu_get_requester() local 551 struct iommu_domain *domain; iommu_bus_dmamap_load_something1() local 637 struct iommu_domain *domain; iommu_bus_dmamap_load_something() local 849 struct iommu_domain *domain; iommu_bus_dmamap_unload() local 999 struct iommu_domain *domain; bus_dma_iommu_load_ident() local 1056 struct iommu_domain *domain; iommu_domain_unload_task() local 1074 iommu_domain_init(struct iommu_unit * unit,struct iommu_domain * domain,const struct iommu_domain_map_ops * ops) iommu_domain_init() argument 1088 iommu_domain_fini(struct iommu_domain * domain) iommu_domain_fini() argument [all...] |
/freebsd-src/sys/powerpc/ofw/ |
H A D | ofw_pcibus.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 50 #include <dev/pci/pcireg.h> 51 #include <dev/pci/pcivar.h> 52 #include <dev/pci/pci_private.h> 70 static void ofw_pcibus_enum_devtree(device_t dev, u_int domain, u_int busno); 71 static void ofw_pcibus_enum_bus(device_t dev, u_int domain, u_in 123 u_int busno, domain; ofw_pcibus_attach() local 161 ofw_pcibus_enum_devtree(device_t dev,u_int domain,u_int busno) ofw_pcibus_enum_devtree() argument 234 ofw_pcibus_enum_bus(device_t dev,u_int domain,u_int busno) ofw_pcibus_enum_bus() argument 419 ofw_pcibus_get_domain(device_t dev,device_t child,int * domain) ofw_pcibus_get_domain() argument [all...] |
/freebsd-src/sys/contrib/device-tree/Bindings/pci/ |
H A D | pci.txt | 1 PCI bus bridges have standardized Device Tree bindings: 3 PCI Bus Binding to: IEEE Std 1275-1994 4 https://www.devicetree.org/open-firmware/bindings/pci/pci2_1.pdf 9 https://www.devicetree.org/open-firmware/practice/imap/imap0_9d.pdf 14 - linux,pci-domain: 15 If present this property assigns a fixed PCI domain number to a host bridge, 18 host bridges in the system, otherwise potentially conflicting domain numbers 19 may be assigned to root buses behind different host bridges. The domain 21 - max-link-speed: 22 If present this property specifies PCI gen for link capability. Host [all …]
|
H A D | mediatek-pcie.txt | 4 - compatible: Should contain one of the following strings: 5 "mediatek,mt2701-pcie" 6 "mediatek,mt2712-pcie" 7 "mediatek,mt7622-pcie" 8 "mediatek,mt7623-pcie" 9 "mediatek,mt7629-pcie" 10 "airoha,en7523-pcie" 11 - device_type: Must be "pci" 12 - reg: Base addresses and lengths of the root ports. 13 - reg-names: Names of the above areas to use during resource lookup. [all …]
|
H A D | brcm,iproc-pcie.txt | 4 - compatible: 5 "brcm,iproc-pcie" for the first generation of PAXB based controller, 7 "brcm,iproc-pcie-paxb-v2" for the second generation of PAXB-based 9 "brcm,iproc-pcie-paxc" for the first generation of PAXC based 11 "brcm,iproc-pcie-paxc-v2" for the second generation of PAXC based 13 PAXB-based root complex is used for external endpoint devices. PAXC-based 15 - reg: base address and length of the PCIe controller I/O register space 16 - #interrupt-cells: set to <1> 17 - interrupt-map-mask and interrupt-map, standard PCI properties to define the 19 - linux,pci-domain: PCI domain ID. Should be unique for each host controller [all …]
|
H A D | xilinx-pcie.txt | 4 - #address-cells: Address representation for root ports, set to <3> 5 - #size-cells: Size representation for root ports, set to <2> 6 - #interrupt-cells: specifies the number of cells needed to encode an 8 - compatible: Should contain "xlnx,axi-pcie-host-1.00.a" 9 - reg: Should contain AXI PCIe registers location and length 10 - device_type: must be "pci" 11 - interrupts: Should contain AXI PCIe interrupt 12 - interrupt-map-mask, 13 interrupt-map: standard PCI properties to define the mapping of the 14 PCI interface to interrupt numbers. [all …]
|
H A D | brcm,iproc-pcie.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pci/brc [all...] |
H A D | qcom,pcie.txt | 1 * Qualcomm PCI express root complex 3 - compatible: 7 - "qcom,pcie-ipq8064" for ipq8064 8 - "qcom,pcie-ipq8064-v2" for ipq8064 rev 2 or ipq8065 9 - "qcom,pcie-apq8064" for apq8064 10 - "qcom,pcie-apq8084" for apq8084 11 - "qcom,pcie-msm8996" for msm8996 or apq8096 12 - "qcom,pcie-ipq4019" for ipq4019 13 - "qcom,pcie-ipq8074" for ipq8074 14 - "qcom,pcie-qcs404" for qcs404 [all …]
|
/freebsd-src/sys/amd64/pci/ |
H A D | pci_cfgreg.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 39 #include <dev/pci/pcivar.h> 40 #include <dev/pci/pcireg.h> 47 uint16_t domain; member 52 static uint32_t pci_docfgregread(int domain, int bus, int slot, int func, 54 static struct pcie_mcfg_region *pcie_lookup_region(int domain, in 90 pcie_lookup_region(int domain,int bus) pcie_lookup_region() argument 101 pci_docfgregread(int domain,int bus,int slot,int func,int reg,int bytes) pci_docfgregread() argument 125 pci_cfgregread(int domain,int bus,int slot,int func,int reg,int bytes) pci_cfgregread() argument 151 pci_cfgregwrite(int domain,int bus,int slot,int func,int reg,uint32_t data,int bytes) pci_cfgregwrite() argument 281 pcie_cfgregopen(uint64_t base,uint16_t domain,uint8_t minbus,uint8_t maxbus) pcie_cfgregopen() argument [all...] |
/freebsd-src/sys/contrib/device-tree/Bindings/virtio/ |
H A D | iommu.txt | 1 * virtio IOMMU PCI device 3 When virtio-iommu uses the PCI transport, its programming interface is 4 discovered dynamically by the PCI probing infrastructure. However the 6 masters. Therefore, the PCI root complex that hosts the virtio-iommu 11 - compatible: Should be "virtio,pci-iommu" 12 - reg: PCI address of the IOMMU. As defined in the PCI Bus 13 Binding reference [1], the reg property is a five-cell 18 - #iommu-cells: Each platform DMA master managed by the IOMMU is assigned 20 For virtio-iommu, #iommu-cells must be 1. 24 - DMA from the IOMMU device isn't managed by another IOMMU. Therefore the [all …]
|
H A D | pci-iommu.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/virtio/pci-iommu.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: virtio-iommu device using the virtio-pci transport 10 - Jean-Philippe Brucker <jean-philippe@linaro.org> 13 When virtio-iommu uses the PCI transport, its programming interface is 14 discovered dynamically by the PCI probing infrastructure. However the 16 masters. Therefore, the PCI root complex that hosts the virtio-iommu 20 virtio-iommu node doesn't have an "iommus" property, and is omitted from [all …]
|
/freebsd-src/sys/i386/pci/ |
H A D | pci_cfgreg.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 41 #include <dev/pci/pcivar.h> 42 #include <dev/pci/pcireg.h> 59 uint16_t domain; member 84 "Enable support for PCI-e memory mapped config access"); 86 static uint32_t pci_docfgregread(int domain, int bus, int slot, int func, 88 static struct pcie_mcfg_region *pcie_lookup_region(int domain, int bus); 101 * numbers in the range 128-254 to indicate something strange and 128 PRVERB(("pcibios: BIOS_PRESENT didn't return 'PCI ' in edx\n")); in pcibios_get_version() [all …]
|
/freebsd-src/share/man/man4/ |
H A D | pci.4 | 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 [all …]
|
/freebsd-src/sys/contrib/xen/hvm/ |
H A D | dm_op.h | 38 * A domain supports a single 'legacy' IOREQ Server which is instantiated if 50 * PCI config space ranges which they explicitly register. 59 * The <id> handed back is unique for target domain. The valur of 68 /* IN - should server handle buffered ioreqs */ 71 /* OUT - server id */ 83 * specified in the per-CPU ioreq structures). 99 /* IN - server id */ 101 /* IN - flags */ 107 /* OUT - buffered ioreq port */ 109 /* OUT - sync ioreq gfn (see block comment above) */ [all …]
|
H A D | hvm_op.h | 62 /* Set the logical level of one of a domain's PCI INTx wires. */ 65 /* Domain to be updated. */ 67 /* PCI INTx identification in PCI topology (domain:bus:device:intx). */ 68 uint8_t domain, bus, device, intx; member 75 /* Set the logical level of one of a domain's ISA IRQ wires. */ 78 /* Domain to be updated. */ 80 /* ISA device identification, by ISA IRQ (0-15). */ 90 /* Domain to be updated. */ 92 /* PCI link identifier (0-3). */ 94 /* ISA IRQ (1-15), or 0 (disable link). */ [all …]
|
/freebsd-src/sys/dev/cardbus/ |
H A D | cardbus.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 5 * Copyright (c) 2003-2008 M. Warner Losh <imp@FreeBSD.org> 43 #include <dev/pci/pcivar.h> 44 #include <dev/pci/pcireg.h> 45 #include <dev/pci/pci_private.h> 99 sc->sc_de in cardbus_attach() 187 int bus, domain, slot, func; cardbus_attach_card() local [all...] |
/freebsd-src/sys/x86/iommu/ |
H A D | intel_ctx.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 59 #include <dev/pci/pcireg.h> 60 #include <dev/pci/pcivar.h> 72 static MALLOC_DEFINE(M_DMAR_DOMAIN, "dmar_dom", "Intel DMAR Domain"); 75 struct dmar_domain *domain); 76 static void dmar_domain_destroy(struct dmar_domain *domain); 127 struct dmar_domain *domain; device_tag_init() local 144 ctx_id_entry_init_one(dmar_ctx_entry_t * ctxp,struct dmar_domain * domain,vm_page_t ctx_root) ctx_id_entry_init_one() argument 172 struct dmar_domain *domain; ctx_id_entry_init() local 230 domain_init_rmrr(struct dmar_domain * domain,device_t dev,int bus,int slot,int func,int dev_domain,int dev_busno,const void * dev_path,int dev_path_len) domain_init_rmrr() argument 328 dmar_reserve_pci_regions(struct dmar_domain * domain,device_t dev) dmar_reserve_pci_regions() argument 384 struct dmar_domain *domain; dmar_domain_alloc() local 440 dmar_ctx_alloc(struct dmar_domain * domain,uint16_t rid) dmar_ctx_alloc() argument 456 struct dmar_domain *domain; dmar_ctx_link() local 471 struct dmar_domain *domain; dmar_ctx_unlink() local 486 dmar_domain_destroy(struct dmar_domain * domain) dmar_domain_destroy() argument 522 struct dmar_domain *domain, *domain1; dmar_get_ctx_for_dev1() local 683 dmar_move_ctx_to_domain(struct dmar_domain * domain,struct dmar_ctx * ctx) dmar_move_ctx_to_domain() argument 720 dmar_unref_domain_locked(struct dmar_unit * dmar,struct dmar_domain * domain) dmar_unref_domain_locked() argument 753 struct dmar_domain *domain; dmar_free_ctx_locked() local 838 struct dmar_domain *domain; dmar_find_ctx_locked() local 873 struct dmar_domain *domain; iommu_domain_unload_entry() local 902 dmar_domain_unload_emit_wait(struct dmar_domain * domain,struct iommu_map_entry * entry) dmar_domain_unload_emit_wait() argument 915 struct dmar_domain *domain; iommu_domain_unload() local [all...] |
/freebsd-src/sys/sys/ |
H A D | pciio.h | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 59 u_int32_t pc_domain; /* domain number */ 66 struct pcisel pc_sel; /* domain+bus+slot+function */ 67 u_int8_t pc_hdr; /* PCI header type */ 74 u_int8_t pc_class; /* chip PCI class */ 75 u_int8_t pc_subclass; /* chip PCI subclass */ 76 u_int8_t pc_progif; /* chip PCI programming interface */ 83 struct pcisel pc_sel; /* domain+bus+slot+function */ 86 u_int16_t pc_vendor; /* PCI Vendor ID */ [all …]
|
/freebsd-src/sys/amd64/vmm/io/ |
H A D | iommu.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 35 #include <dev/pci/pcivar.h> 36 #include <dev/pci/pcireg.h> 55 "Enable use of I/O MMU (required for PCI passthrough)."); 65 return ((*ops->init)()); in IOMMU_INIT() 74 (*ops->cleanup)(); in IOMMU_CLEANUP() 82 return ((*ops->create_domain)(maxaddr)); in IOMMU_CREATE_DOMAIN() 92 (*ops->destroy_domain)(dom); in IOMMU_DESTROY_DOMAIN() 96 IOMMU_CREATE_MAPPING(void *domain, vm_paddr_t gpa, vm_paddr_t hpa, uint64_t len) in IOMMU_CREATE_MAPPING() argument [all …]
|
/freebsd-src/sys/contrib/xen/io/ |
H A D | pciif.h | 2 * PCI Backend/Frontend Common Data Structures & Macros 53 #define XEN_PCI_ERR_dev_not_found (-1) 54 #define XEN_PCI_ERR_invalid_offset (-2) 55 #define XEN_PCI_ERR_access_denied (-3) 56 #define XEN_PCI_ERR_not_implemented (-4) 57 /* XEN_PCI_ERR_op_failed - backend failed to complete the operation */ 58 #define XEN_PCI_ERR_op_failed (-5) 61 * it should be PAGE_SIZE-sizeof(struct xen_pci_op))/sizeof(struct msix_entry)) 78 uint32_t domain; /* PCI Domain/Segment */ member 90 /*IN: param for msi-x */ [all …]
|
/freebsd-src/sys/contrib/device-tree/src/arm64/qcom/ |
H A D | sa8540p.dtsi | 1 // SPDX-License-Identifier: BSD-3-Clause 9 /delete-node/ &cpu0_opp_table; 10 /delete-node/ &cpu4_opp_table; 13 cpu0_opp_table: opp-table-cpu0 { 14 compatible = "operating-points-v [all...] |
/freebsd-src/sys/x86/pci/ |
H A D | pci_early_quirks.c | 1 /*- 2 * SPDX-License-Identifier: BSD-2-Clause 40 #include <dev/pci/pcivar.h> 41 #include <dev/pci/pcireg.h> 43 #include <x86/pci/pci_early_quirks.h> 70 intel_stolen_base_gen3(int domain, int bus, int slot, int func) in intel_stolen_base_gen3() argument 75 ctrl = pci_cfgregread(domain, bus, slot, func, INTEL_BSM, 4); in intel_stolen_base_gen3() 81 intel_stolen_base_gen11(int domain, int bus, int slot, int func) in intel_stolen_base_gen11() argument 86 ctrl = pci_cfgregread(domain, bus, slot, func, INTEL_GEN11_BSM_DW0, 4); in intel_stolen_base_gen11() 89 domain, bus, slot, func, INTEL_GEN11_BSM_DW1, 4) << 32; in intel_stolen_base_gen11() [all …]
|
/freebsd-src/sys/dev/acpica/ |
H A D | acpi_pcib_acpi.c | 1 /*- 47 #include <dev/pci/pcireg.h> 48 #include <dev/pci/pcivar.h> 49 #include <dev/pci/pcib_private.h> 65 int ap_segment; /* PCI domain */ 66 int ap_bus; /* bios-assigned bus number */ 67 int ap_addr; /* device/func of PCI-Host bridge */ 161 root = (devinfo->Flag 379 int error, domain; acpi_pcib_acpi_attach() local [all...] |