Hi,
I was trying to upgrade to 3.10 with IOMMU, but it looks like, mine mainboard is bad one with bugs (I thought I bought something special to me.. ha ha). There is one patch which actually disables iommu for such device tree, which I was hoping could work for me, but I can't apply it as it is for different kernel version.
https://bugzilla.kernel.org/show_bug.cgi?id=44881 (Handle unadvertised PCIe bridges)
I was trying to adjust it manually, but in the pci.h is in the struct pci_dev the member attribute unsigned int is_pcie:1; missing and thus I can't just extend it that way.. or maybe there is one another way?
Thaks a lot for any help.
Miro
I was trying to upgrade to 3.10 with IOMMU, but it looks like, mine mainboard is bad one with bugs (I thought I bought something special to me.. ha ha). There is one patch which actually disables iommu for such device tree, which I was hoping could work for me, but I can't apply it as it is for different kernel version.
https://bugzilla.kernel.org/show_bug.cgi?id=44881 (Handle unadvertised PCIe bridges)
I was trying to adjust it manually, but in the pci.h is in the struct pci_dev the member attribute unsigned int is_pcie:1; missing and thus I can't just extend it that way.. or maybe there is one another way?
Thaks a lot for any help.
Miro
Code:
[ 0.471771] DMAR: No ATSR found
[ 0.471795] IOMMU 0 0xfed90000: using Queued invalidation
[ 0.471797] IOMMU 1 0xfed91000: using Queued invalidation
[ 0.471798] IOMMU: Setting RMRR:
[ 0.471808] IOMMU: Setting identity map for device 0000:00:02.0 [0xdb800000 - 0xdf9fffff]
[ 0.472193] IOMMU: Setting identity map for device 0000:00:1d.0 [0xd98e9000 - 0xd98f5fff]
[ 0.472211] IOMMU: Setting identity map for device 0000:00:1a.0 [0xd98e9000 - 0xd98f5fff]
[ 0.472226] IOMMU: Setting identity map for device 0000:00:14.0 [0xd98e9000 - 0xd98f5fff]
[ 0.472235] IOMMU: Prepare 0-16MiB unity mapping for LPC
[ 0.472243] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 0.472676] PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
[ 0.472754] ------------[ cut here ]------------
[ 0.472760] WARNING: at drivers/pci/search.c:46 pci_find_upstream_pcie_bridge+0x7e/0x90()
[ 0.472761] Modules linked in:
[ 0.472764] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 3.10.0-3-pve #1
[ 0.472765] Hardware name: Gigabyte Technology Co., Ltd. To be filled by O.E.M./H77-DS3H, BIOS F10 11/14/2013
[ 0.472766] 0000000000000009 ffff880408d49cd8 ffffffff816119de ffff880408d49d18
[ 0.472769] ffffffff8105c6c0 ffff880408d49cf8 ffff8804084c2000 ffff8804084cc000
[ 0.472772] ffff8804084cc098 0000000000000000 0000000000000000 ffff880408d49d28
[ 0.472775] Call Trace:
[ 0.472780] [<ffffffff816119de>] dump_stack+0x19/0x1b
[ 0.472785] [<ffffffff8105c6c0>] warn_slowpath_common+0x70/0xa0
[ 0.472787] [<ffffffff8105c70a>] warn_slowpath_null+0x1a/0x20
[ 0.472790] [<ffffffff812f536e>] pci_find_upstream_pcie_bridge+0x7e/0x90
[ 0.472794] [<ffffffff814ca211>] intel_iommu_add_device+0x51/0x240
[ 0.472797] [<ffffffff814c15e0>] ? bus_set_iommu+0x60/0x60
[ 0.472800] [<ffffffff814c1613>] add_iommu_group+0x33/0x60
[ 0.472802] [<ffffffff813b8f2d>] bus_for_each_dev+0x5d/0xa0
[ 0.472805] [<ffffffff814c15d1>] bus_set_iommu+0x51/0x60
[ 0.472808] [<ffffffff81a9f545>] intel_iommu_init+0x37b/0x449
[ 0.472812] [<ffffffff81a59a61>] ? memblock_find_dma_reserve+0x13d/0x13d
[ 0.472815] [<ffffffff81a59a74>] pci_iommu_init+0x13/0x3e
[ 0.472818] [<ffffffff81002122>] do_one_initcall+0xf2/0x1a0
[ 0.472820] [<ffffffff81a510d1>] kernel_init_freeable+0x15d/0x1f4
[ 0.472822] [<ffffffff81a508ee>] ? do_early_param+0x8c/0x8c
[ 0.472826] [<ffffffff810b29dc>] ? ktime_get_ts+0x4c/0xf0
[ 0.472829] [<ffffffff815f3770>] ? rest_init+0x80/0x80
[ 0.472831] [<ffffffff815f377e>] kernel_init+0xe/0xf0
[ 0.472834] [<ffffffff81621aac>] ret_from_fork+0x7c/0xb0
[ 0.472835] [<ffffffff815f3770>] ? rest_init+0x80/0x80
[ 0.472840] ---[ end trace a71dac7b55a01912 ]---