Lines Matching refs:sid
86 sid_devfn(int sid) in sid_devfn() argument
88 return sid & 0xff; in sid_devfn()
92 sid_bus(int sid) in sid_bus() argument
94 return (sid >> 8) & 0xff; in sid_bus()
98 sid_dev(int sid) in sid_dev() argument
100 return (sid >> 3) & 0x1f; in sid_dev()
104 sid_fun(int sid) in sid_fun() argument
106 return (sid >> 0) & 0x7; in sid_fun()
114 int sid; member
334 dmar_bdf(int sid) in dmar_bdf() argument
339 sid_bus(sid), sid_dev(sid), sid_fun(sid)); in dmar_bdf()
394 acpidmar_pci_attach(acpidmar_sc, iommu->segment, dd->sid, 1); in domain_map_check()
400 ctx = &iommu->ctx[sid_bus(dd->sid)][sid_devfn(dd->sid)]; in domain_map_check()
405 sid_bus(dd->sid), in domain_map_check()
406 sid_dev(dd->sid), in domain_map_check()
407 sid_fun(dd->sid), in domain_map_check()
665 dmar_bdf(dd->sid), dom->iommu->id, dom->did, in dom_bdf()
974 int sid, int fm) in iommu_flush_ctx_qi() argument
989 QI_CTX_SID(sid) | QI_CTX_FM(fm); in iommu_flush_ctx_qi()
1078 iommu_flush_ctx(struct iommu_softc *iommu, int mode, int did, int sid, int fm) in iommu_flush_ctx() argument
1095 CCMD_SID(sid) | CCMD_FM(fm); in iommu_flush_ctx()
1365 int sid) in acpidmar_match_devscope() argument
1373 sbus = sid_bus(sid); in acpidmar_match_devscope()
1388 if (sid == mksid(bus, dev, fun)) { in acpidmar_match_devscope()
1458 domain_add_device(struct domain *dom, int sid) in domain_add_device() argument
1462 DPRINTF(0, "add %s to iommu%d.%.4x\n", dmar_bdf(sid), dom->iommu->id, dom->did); in domain_add_device()
1464 ddev->sid = sid; in domain_add_device()
1471 domain_remove_device(struct domain *dom, int sid) in domain_remove_device() argument
1476 if (ddev->sid == sid) { in domain_remove_device()
1485 domain_lookup(struct acpidmar_softc *sc, int segment, int sid) in domain_lookup() argument
1501 rc = acpidmar_match_devscope(&iommu->devices, sc->sc_pc, sid); in domain_lookup()
1507 printf("%s: no iommu found\n", dmar_bdf(sid)); in domain_lookup()
1515 if (ddev->sid == sid) { in domain_lookup()
1535 domain_add_device(dom, sid); in domain_lookup()
1574 domain_map_device(struct domain *dom, int sid);
1577 domain_map_device(struct domain *dom, int sid) in domain_map_device() argument
1587 bus = sid_bus(sid); in domain_map_device()
1588 devfn = sid_devfn(sid); in domain_map_device()
1591 struct ivhd_dte *dte = &iommu->dte[sid]; in domain_map_device()
1594 DPRINTF(1, "@@@ PCI Attach: %.4x[%s] %.4x\n", sid, dmar_bdf(sid), dom->did); in domain_map_device()
1636 iommu_flush_ctx(iommu, CTX_DEVICE, dom->did, sid, 0); in domain_map_device()
1642 iommu->id, dmar_bdf(sid), (uint64_t)dom->ptep, lvl, in domain_map_device()
1648 acpidmar_pci_attach(struct acpidmar_softc *sc, int segment, int sid, int mapctx) in acpidmar_pci_attach() argument
1652 dom = domain_lookup(sc, segment, sid); in acpidmar_pci_attach()
1654 printf("no domain: %s\n", dmar_bdf(sid)); in acpidmar_pci_attach()
1659 domain_map_device(dom, sid); in acpidmar_pci_attach()
1668 int bus, dev, fun, sid; in acpidmar_pci_hook() local
1679 sid = mksid(bus, dev, fun); in acpidmar_pci_hook()
1680 if (sid_flag[sid] & SID_INVALID) in acpidmar_pci_hook()
1686 dom = acpidmar_pci_attach(acpidmar_sc, pa->pa_domain, sid, 0); in acpidmar_pci_hook()
1843 int off, sid, rc; in acpidmar_init() local
1880 sid = mksid(dl->bus, dl->dp[0].device, in acpidmar_init()
1882 dom = acpidmar_pci_attach(sc, iommu->segment, sid, 0); in acpidmar_init()
1893 sid = mksid(dl->bus, dl->dp[0].device, in acpidmar_init()
1895 dom = acpidmar_pci_attach(sc, rmrr->segment, sid, 0); in acpidmar_init()
1973 ivhd_showpage(struct iommu_softc *iommu, int sid, paddr_t paddr) in ivhd_showpage() argument
1981 dom = acpidmar_pci_attach(acpidmar_sc, 0, sid, 0); in ivhd_showpage()
1985 iommu->dte[sid].dw0, in ivhd_showpage()
1986 iommu->dte[sid].dw1, in ivhd_showpage()
1987 iommu->dte[sid].dw2, in ivhd_showpage()
1988 iommu->dte[sid].dw3, in ivhd_showpage()
1989 iommu->dte[sid].dw4, in ivhd_showpage()
1990 iommu->dte[sid].dw5, in ivhd_showpage()
1991 iommu->dte[sid].dw6, in ivhd_showpage()
1992 iommu->dte[sid].dw7); in ivhd_showpage()
2000 int type, sid, did, flag; in ivhd_show_event() local
2004 sid = __EXTRACT(evt->dw0, EVT_SID); in ivhd_show_event()
2014 dmar_bdf(sid), address, in ivhd_show_event()
2023 dmar_bdf(sid), did, address, in ivhd_show_event()
2031 ivhd_showpage(iommu, sid, address); in ivhd_show_event()
2035 dmar_bdf(sid), address, in ivhd_show_event()
2043 dmar_bdf(sid), address, in ivhd_show_event()
2060 dmar_bdf(sid), address); in ivhd_show_event()
2064 dmar_bdf(sid), address, flag); in ivhd_show_event()
2835 iommu_showcfg(struct iommu_softc *iommu, int sid) in iommu_showcfg() argument