Home
last modified time | relevance | path

Searched refs:sbdf (Results 1 – 25 of 49) sorted by relevance

12

/xen/xen/arch/x86/x86_64/
A Dpci.c11 #define PCI_CONF_ADDRESS(sbdf, reg) \ argument
18 if ( sbdf.seg || reg > 255 ) in pci_conf_read8()
20 pci_mmcfg_read(sbdf.seg, sbdf.bus, sbdf.devfn, reg, 1, &value); in pci_conf_read8()
29 if ( sbdf.seg || reg > 255 ) in pci_conf_read16()
33 pci_mmcfg_read(sbdf.seg, sbdf.bus, sbdf.devfn, reg, 2, &value); in pci_conf_read16()
42 if ( sbdf.seg || reg > 255 ) in pci_conf_read32()
46 pci_mmcfg_read(sbdf.seg, sbdf.bus, sbdf.devfn, reg, 4, &value); in pci_conf_read32()
55 if ( sbdf.seg || reg > 255 ) in pci_conf_write8()
56 pci_mmcfg_write(sbdf.seg, sbdf.bus, sbdf.devfn, reg, 1, data); in pci_conf_write8()
64 pci_mmcfg_write(sbdf.seg, sbdf.bus, sbdf.devfn, reg, 2, data); in pci_conf_write16()
[all …]
/xen/xen/arch/arm/pci/
A Dpci-access.c24 void __iomem *addr = bridge->ops->map_bus(bridge, sbdf, reg); in pci_generic_config_read()
53 void __iomem *addr = bridge->ops->map_bus(bridge, sbdf, reg); in pci_generic_config_write()
80 struct pci_host_bridge *bridge = pci_find_host_bridge(sbdf.seg, sbdf.bus); in pci_config_read()
88 bridge->ops->read(bridge, sbdf, reg, len, &val); in pci_config_read()
93 static void pci_config_write(pci_sbdf_t sbdf, unsigned int reg, in pci_config_write() argument
96 struct pci_host_bridge *bridge = pci_find_host_bridge(sbdf.seg, sbdf.bus); in pci_config_write()
104 bridge->ops->write(bridge, sbdf, reg, len, val); in pci_config_write()
112 void pci_conf_write##size(pci_sbdf_t sbdf, \
115 pci_config_write(sbdf, reg, size / 8, val); \
119 type pci_conf_read##size(pci_sbdf_t sbdf, \
[all …]
A Decam.c24 pci_sbdf_t sbdf, uint32_t where) in pci_ecam_map_bus() argument
31 unsigned int busn = sbdf.bus; in pci_ecam_map_bus()
39 return base + (sbdf.devfn << devfn_shift) + where; in pci_ecam_map_bus()
/xen/xen/drivers/passthrough/vtd/
A Dquirks.c110 pci_sbdf_t sbdf; in is_azalia_tlb_enabled() local
118 sbdf = PCI_SBDF(drhd->segment, drhd->scope.devices[0]); in is_azalia_tlb_enabled()
120 pci_conf_read16(sbdf, PCI_DEVICE_ID) != 0x3a3e ) in is_azalia_tlb_enabled()
124 sbdf = PCI_SBDF(drhd->segment, 0, 0x14, 0); in is_azalia_tlb_enabled()
126 pci_conf_read16(sbdf, PCI_DEVICE_ID) != 0x342e ) in is_azalia_tlb_enabled()
129 vtisochctrl = pci_conf_read32(sbdf, 0x188); in is_azalia_tlb_enabled()
519 val = pci_conf_read32(pdev->sbdf, 0x1AC); in pci_vtd_quirk()
574 val = pci_conf_read32(pdev->sbdf, 0x20c); in pci_vtd_quirk()
590 bar = pci_conf_read32(pdev->sbdf, 0x6c); in pci_vtd_quirk()
606 pa, &pdev->sbdf); in pci_vtd_quirk()
[all …]
A Ddmar.c934 u32 sbdf[MAX_USER_RMRR_DEV]; member
948 uint32_t *sbdf) in add_one_user_rmrr() argument
958 dev_count, sbdf[0], ERMRRU_ARG); in add_one_user_rmrr()
1017 rmrr->scope.devices[idx] = sbdf[idx]; in add_one_user_rmrr()
1018 seg |= PCI_SEG(sbdf[idx]); in add_one_user_rmrr()
1020 if ( seg != PCI_SEG(sbdf[0]) ) in add_one_user_rmrr()
1058 user_rmrrs[i].sbdf); in add_user_rmrr()
1170 PCI_SBDF(rmrr->segment, bdf).sbdf, ctxt); in intel_iommu_get_reserved_device_memory()
1243 seg = PCI_SEG(user_rmrrs[nr_rmrr].sbdf[0]); in parse_rmrr_param()
1247 user_rmrrs[nr_rmrr].sbdf[dev_count] = in parse_rmrr_param()
[all …]
/xen/xen/drivers/pci/
A Dpci.c11 unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap) in pci_find_cap_offset() argument
18 status = pci_conf_read16(sbdf, PCI_STATUS); in pci_find_cap_offset()
24 pos = pci_conf_read8(sbdf, pos); in pci_find_cap_offset()
29 id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID); in pci_find_cap_offset()
50 pos = pci_conf_read8(sbdf, pos); in pci_find_next_cap_ttl()
54 id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID); in pci_find_next_cap_ttl()
89 return pci_find_next_ext_capability(sbdf, 0, cap); in pci_find_ext_capability()
109 header = pci_conf_read32(sbdf, pos); in pci_find_next_ext_capability()
125 header = pci_conf_read32(sbdf, pos); in pci_find_next_ext_capability()
132 uint16_t cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND); in pci_intx()
[all …]
/xen/xen/drivers/vpci/
A Dvpci.c58 if ( pdev->sbdf.fn ) in assign_virtual_sbdf()
61 &pdev->sbdf); in assign_virtual_sbdf()
96 if ( pdev->vpci->guest_sbdf.sbdf != ~0 ) in vpci_deassign_device()
214 return pci_conf_read8(pdev->sbdf, reg); in vpci_hw_read8()
339 data = pci_conf_read32(sbdf, reg); in vpci_read_hw()
360 data = pci_conf_read16(sbdf, reg); in vpci_read_hw()
364 data = pci_conf_read8(sbdf, reg); in vpci_read_hw()
386 pci_conf_write32(sbdf, reg, data); in vpci_write_hw()
411 pci_conf_write8(sbdf, reg, data); in vpci_write_hw()
456 pdev = pci_get_pdev(d, sbdf); in vpci_read()
[all …]
A Dheader.c156 pci_conf_write32(pdev->sbdf, rom_pos, val); in modify_decoding()
169 pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd); in modify_decoding()
353 &pdev->sbdf, start, end); in modify_bars()
418 &pdev->sbdf, start, end, rc); in modify_bars()
552 pci_conf_write16(pdev->sbdf, reg, cmd); in cmd_write()
612 pci_conf_write32(pdev->sbdf, reg, val); in bar_write()
694 &pdev->sbdf); in rom_write()
712 pci_conf_write32(pdev->sbdf, reg, val); in rom_write()
873 cmd = pci_conf_read16(pdev->sbdf, PCI_COMMAND); in init_header()
911 val = pci_conf_read32(pdev->sbdf, reg); in init_header()
[all …]
A Dmsix.c55 &pdev->sbdf, nr, rc); in update_entry()
65 &pdev->sbdf, nr, rc); in update_entry()
132 &pdev->sbdf, i, rc); in control_write()
150 pci_conf_write16(pdev->sbdf, reg, val); in control_write()
310 &msix->pdev->sbdf); in adjacent_read()
343 &msix->pdev->sbdf); in adjacent_read()
471 &msix->pdev->sbdf); in adjacent_write()
491 &msix->pdev->sbdf); in adjacent_write()
674 &pdev->sbdf, mfn_x(mfn), t, start); in vpci_make_msix_hole()
712 msix_offset = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX); in init_msix()
[all …]
A Dmsi.c89 pci_conf_write16(pdev->sbdf, reg, control_read(pdev, reg, data)); in control_write()
198 unsigned int pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI); in init_msi()
220 control = pci_conf_read16(pdev->sbdf, msi_control_reg(pos)); in init_msi()
303 printk("%pp MSI\n", &pdev->sbdf); in vpci_dump_msi()
320 printk("%pp MSI-X\n", &pdev->sbdf); in vpci_dump_msi()
/xen/xen/arch/arm/
A Dvpci.c13 pci_sbdf_t sbdf; in vpci_sbdf_from_gpa() local
17 sbdf.sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr); in vpci_sbdf_from_gpa()
18 sbdf.seg = bridge->segment; in vpci_sbdf_from_gpa()
19 sbdf.bus += bridge->cfg->busn_start; in vpci_sbdf_from_gpa()
22 sbdf.sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE); in vpci_sbdf_from_gpa()
24 return sbdf; in vpci_sbdf_from_gpa()
31 pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa); in vpci_mmio_read() local
37 if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa), in vpci_mmio_read()
53 pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa); in vpci_mmio_write() local
55 return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa), in vpci_mmio_write()
/xen/xen/include/xen/
A Dpci.h28 #define PCI_SEG(sbdf) (((sbdf) >> 16) & 0xffff) argument
36 ((pci_sbdf_t){ .sbdf = (((s) & 0xffff) << 16) | PCI_BDF(b, d, ##f) })
39 ((pci_sbdf_t){ .sbdf = (((s) & 0xffff) << 16) | ((bdf) & 0xffff) })
51 uint32_t sbdf; member
113 pci_sbdf_t sbdf; member
210 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
213 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);
214 uint16_t pci_conf_read16(pci_sbdf_t sbdf, unsigned int reg);
215 uint32_t pci_conf_read32(pci_sbdf_t sbdf, unsigned int reg);
229 unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
[all …]
A Dvpci.h64 uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
65 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
188 #define INVALID_GUEST_SBDF ((pci_sbdf_t){ .sbdf = ~0U })
267 bool vpci_ecam_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int len,
270 bool vpci_ecam_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int len,
287 static inline uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, in vpci_read() argument
294 static inline void vpci_write(pci_sbdf_t sbdf, unsigned int reg, in vpci_write() argument
/xen/xen/drivers/passthrough/
A Dats.c29 pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS); in enable_ats_device()
33 dprintk(XENLOG_INFO, "%pp: ATS capability found\n", &pdev->sbdf); in enable_ats_device()
35 value = pci_conf_read16(pdev->sbdf, pos + ATS_REG_CTL); in enable_ats_device()
51 pci_conf_write16(pdev->sbdf, pos + ATS_REG_CTL, value); in enable_ats_device()
57 value = pci_conf_read16(pdev->sbdf, pos + ATS_REG_CAP); in enable_ats_device()
65 &pdev->sbdf, pos ? "is" : "was"); in enable_ats_device()
76 value = pci_conf_read16(pdev->sbdf, pdev->ats.cap_pos + ATS_REG_CTL); in disable_ats_device()
78 pci_conf_write16(pdev->sbdf, pdev->ats.cap_pos + ATS_REG_CTL, value); in disable_ats_device()
83 dprintk(XENLOG_INFO, "%pp: ATS is disabled\n", &pdev->sbdf); in disable_ats_device()
A Dpci.c385 pci_sbdf_t sbdf = pdev->sbdf; in alloc_pdev() local
399 sbdf = pdev->sbdf; in alloc_pdev()
520 if ( !(sbdf.devfn & stride) ) in pci_get_real_pdev()
522 sbdf.devfn &= ~stride; in pci_get_real_pdev()
523 pdev = pci_get_pdev(NULL, sbdf); in pci_get_real_pdev()
551 if ( pdev->sbdf.bdf == sbdf.bdf && in pci_get_pdev()
557 if ( pdev->sbdf.sbdf == sbdf.sbdf ) in pci_get_pdev()
615 pci_conf_write32(sbdf, pos, ~0); in pci_size_mem_bar()
638 pci_conf_write32(sbdf, pos, bar); in pci_size_mem_bar()
729 &pdev->sbdf, i); in pci_add_device()
[all …]
A Dmsi.c27 pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSI); in pdev_msi_init()
30 uint16_t ctrl = pci_conf_read16(pdev->sbdf, msi_control_reg(pos)); in pdev_msi_init()
35 pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_MSIX); in pdev_msi_init()
46 ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos)); in pdev_msi_init()
57 &pdev->sbdf, in pdev_msi_init()
61 pci_conf_write16(pdev->sbdf, msix_control_reg(pos), ctrl); in pdev_msi_init()
/xen/xen/arch/x86/
A Dmsi.c130 pci_sbdf_t sbdf = dev->sbdf; in memory_decoded() local
134 sbdf.bus = dev->info.physfn.bus; in memory_decoded()
135 sbdf.devfn = dev->info.physfn.devfn; in memory_decoded()
345 pci_conf_write16(pdev->sbdf, in msi_set_mask_bit()
376 pci_conf_write16(pdev->sbdf, in msi_set_mask_bit()
829 vf = dev->sbdf.bdf; in msix_capability_init()
974 &dev->sbdf, d); in msix_capability_init()
1029 msi->irq, &pdev->sbdf); in __pci_enable_msi()
1090 msi->irq, &pdev->sbdf); in __pci_enable_msix()
1156 entry->irq, &dev->sbdf); in __pci_disable_msix()
[all …]
/xen/xen/arch/x86/hvm/
A Dio.c244 sbdf->bdf = CF8_BDF(cf8); in hvm_pci_decode_addr()
245 sbdf->seg = 0; in hvm_pci_decode_addr()
266 pci_sbdf_t sbdf; in vpci_portio_read() local
288 *data = vpci_read(sbdf, reg, size); in vpci_portio_read()
299 pci_sbdf_t sbdf; in vpci_portio_write() local
319 vpci_write(sbdf, reg, size, data); in vpci_portio_write()
386 sbdf->bdf = VPCI_ECAM_BDF(addr); in vpci_mmcfg_decode_addr()
387 sbdf->bus += mmcfg->start_bus; in vpci_mmcfg_decode_addr()
388 sbdf->seg = mmcfg->segment; in vpci_mmcfg_decode_addr()
411 pci_sbdf_t sbdf; in vpci_mmcfg_read() local
[all …]
A Dioreq.c277 pci_sbdf_t sbdf; in arch_ioreq_server_get_type_addr() local
279 reg = hvm_pci_decode_addr(cf8, p->addr, &sbdf); in arch_ioreq_server_get_type_addr()
283 *addr = ((uint64_t)sbdf.sbdf << 32) | reg; in arch_ioreq_server_get_type_addr()
/xen/xen/drivers/char/
A Dxhci-dbc.c253 pci_sbdf_t sbdf; member
299 if ( dbc->sbdf.sbdf == 0 ) in dbc_init_xhc()
317 dbc->sbdf = sbdf; in dbc_init_xhc()
328 dbc->sbdf.sbdf = 0; in dbc_init_xhc()
331 if ( !dbc->sbdf.sbdf ) in dbc_init_xhc()
353 cmd = pci_conf_read16(dbc->sbdf, PCI_COMMAND); in dbc_init_xhc()
1203 if ( pci_ro_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) ) in dbc_uart_init_postirq()
1206 &uart->dbc.sbdf); in dbc_uart_init_postirq()
1209 if ( pci_hide_device(0, uart->dbc.sbdf.bus, uart->dbc.sbdf.devfn) ) in dbc_uart_init_postirq()
1212 &uart->dbc.sbdf); in dbc_uart_init_postirq()
[all …]
/xen/xen/arch/arm/include/asm/
A Dpci.h72 void __iomem *(*map_bus)(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
74 int (*read)(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
76 int (*write)(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
99 int pci_generic_config_read(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
101 int pci_generic_config_write(struct pci_host_bridge *bridge, pci_sbdf_t sbdf,
104 pci_sbdf_t sbdf, uint32_t where);
/xen/tools/flask/utils/
A Dlabel-pci.c40 uint32_t sbdf; in main() local
65 sbdf = (seg << 16) | (bus << 8) | (dev << 3) | fn; in main()
78 ret = xc_flask_add_device(xch, sbdf, argv[2]); in main()
81 argv[1], sbdf, argv[2], ret); in main()
/xen/tools/python/xen/lowlevel/xc/
A Dxc.c544 int32_t sbdf = 0; in pyxc_test_assign_device() local
554 sbdf = seg << 16; in pyxc_test_assign_device()
565 sbdf = 0; in pyxc_test_assign_device()
577 int32_t sbdf = 0; in pyxc_assign_device() local
587 sbdf = seg << 16; in pyxc_assign_device()
598 sbdf = 0; in pyxc_assign_device()
610 int32_t sbdf = 0; in pyxc_deassign_device() local
620 sbdf = seg << 16; in pyxc_deassign_device()
631 sbdf = 0; in pyxc_deassign_device()
640 uint32_t sbdf; in pyxc_get_device_group() local
[all …]
/xen/xen/drivers/passthrough/vtd/x86/
A Dats.c56 pos = pci_find_cap_offset(pdev->sbdf, PCI_CAP_ID_EXP); in ats_device()
58 expfl = pci_conf_read16(pdev->sbdf, pos + PCI_EXP_FLAGS); in ats_device()
65 pos = pci_find_ext_capability(pdev->sbdf, PCI_EXT_CAP_ID_ATS); in ats_device()
/xen/xen/drivers/passthrough/amd/
A Diommu_map.c718 pci_sbdf_t sbdf = PCI_SBDF(seg, bdf); in amd_iommu_get_reserved_device_memory() local
730 pdev = pci_get_pdev(NULL, sbdf); in amd_iommu_get_reserved_device_memory()
739 if ( func(0, 0, sbdf.sbdf, ctxt) ) in amd_iommu_get_reserved_device_memory()
747 func(0, 0, PCI_SBDF(seg, req).sbdf, ctxt) ) in amd_iommu_get_reserved_device_memory()
761 PFN_DOWN(iommu->exclusion_base), sbdf.sbdf, ctxt); in amd_iommu_get_reserved_device_memory()
772 sbdf.sbdf, ctxt); in amd_iommu_get_reserved_device_memory()
841 unsigned int req_id = get_dma_requestor_id(pdev->seg, pdev->sbdf.bdf); in amd_iommu_quarantine_init()
875 AMD_IOMMU_WARN("%pp: quarantine unity mapping failed\n", &pdev->sbdf); in amd_iommu_quarantine_init()

Completed in 88 milliseconds

12