On Mon Dec 09 19, Jerry Snitselaar wrote: [snip]
A call to iommu_map is failing. [ 36.686881] pci 0000:01:00.2: iommu_group_add_device: calling iommu_group_create_direct_mappings [ 36.689843] pci 0000:01:00.2: iommu_group_create_direct_mappings: iterating through mappings [ 36.692757] pci 0000:01:00.2: iommu_group_create_direct_mappings: calling apply_resv_region [ 36.695526] pci 0000:01:00.2: e_direct_mappings: entry type is direct [ 37.198053] iommu: iommu_map: ops->map failed iova 0xbddde000 pa 0x00000000bddde000 pgsize 0x1000 [ 37.201357] pci 0000:01:00.2: iommu_group_create_direct_mappings: iommu_map failed [ 37.203973] pci 0000:01:00.2: iommu_group_create_direct_mappings: leaving func [ 37.206385] pci 0000:01:00.2: iommu_group_add_device: calling __iommu_attach_device [ 37.208950] pci 0000:01:00.2: Adding to iommu group 25 [ 37.210660] pci 0000:01:00.2: DMAR: domain->type is dma
It bails at the dmar_domain->flags & DOMAIN_FLAG_LOSE_CHILDREN check at the beginning of intel_iommu_map. I will verify, but it looks like that is getting set when intel_iommu_add_device is called for 01:00.1. request_default_domain_for_dev for 01:00.1 will return -EBUSY because iommu_group_device_count(group) != 1.
Also fails for 01:00.4: [ 37.212448] pci 0000:01:00.4: iommu_group_add_device: calling iommu_group_create_direct_mappings [ 37.215382] pci 0000:01:00.4: iommu_group_create_direct_mappings: iterating through mappings [ 37.218170] pci 0000:01:00.4: iommu_group_create_direct_mappings: calling apply_resv_region [ 37.220933] pci 0000:01:00.4: iommu_group_create_direct_mappings: entry type is direct-relaxable [ 37.223932] iommu: iommu_map: ops->map failed iova 0xbddde000 pa 0x00000000bddde000 pgsize 0x1000 [ 37.226857] pci 0000:01:00.4: iommu_group_create_direct_mappings: iommu_map failed [ 37.229300] pci 0000:01:00.4: iommu_group_create_direct_mappings: leaving func [ 37.231648] pci 0000:01:00.4: iommu_group_add_device: calling __iommu_attach_device [ 37.234194] pci 0000:01:00.4: Adding to iommu group 25 [ 37.236192] pci 0000:01:00.4: DMAR: domain->type is dma [ 37.237958] pci 0000:01:00.4: DMAR: device default domain type is identity. requesting identity domain [ 37.241061] pci 0000:01:00.4: don't change mappings of existing d37.489870] pci 0000:01:00.4: DMAR: Device uses a private identity domain. There is an RMRR for 0xbddde000-0xddddefff: [63Ah 1594 2] Subtable Type : 0001 [Reserved Memory Region] [63Ch 1596 2] Length : 0036 [63Eh 1598 2] Reserved : 0000 [640h 1600 2] PCI Segment Number : 0000 [642h 1602 8] Base Address : 00000000BDDDE000 [64Ah 1610 8] End Address (limit) : 00000000BDDDEFFF [652h 1618 1] Device Scope Type : 01 [PCI Endpoint Device] [653h 1619 1] Entry Length : 0A [654h 1620 2] Reserved : 0000 [656h 1622 1] Enumeration ID : 00 [657h 1623 1] PCI Bus Number : 00 [658h 1624 2] PCI Path : 1C,07 [65Ah 1626 2] PCI Path : 00,00 [65Ch 1628 1] Device Scope Type : 01 [PCI Endpoint Device] [65Dh 1629 1] Entry Length : 0A [65Eh 1630 2] Reserved : 0000 [660h 1632 1] Enumeration ID : 00 [661h 1633 1] PCI Bus Number : 00 [662h 1634 2] PCI Path : 1C,07 [664h 1636 2] PCI Path : 00,02 [666h 1638 1] Device Scope Type : 01 [PCI Endpoint Device] [667h 1639 1] Entry Length : 0A [668h 1640 2] Reserved : 0000 [66Ah 1642 1] Enumeration ID : 00 [66Bh 1643 1] PCI Bus Number : 00 [66Ch 1644 2] PCI Path : 1C,07 [66Eh 1646 2] PCI Path : 00,04
_______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
