Patching buggy IOMMU board 3.10.0-123.e17

mijanek

Member
Sep 3, 2013
31
0
6
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



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 ]---
 

mijanek

Member
Sep 3, 2013
31
0
6
Use one of these options on the command line to the kernel:
amd_iommu=off
intel_iommu=off
Thanks but that's not the point. I need it thus I did activate it, and it is unfortunately not working. My last working state is 2.6.32-30, but allready with error messages from the integrated graphics (DMAR:[fault reason 06] PTE Read access is not set) which is not disturbing to pass trough my DVB adapter.
 

mijanek

Member
Sep 3, 2013
31
0
6
Or alternative if someone can me give an mainboard purposal with intels 77th chipset which is working without issues on IOMMU.. As I read GigaByte is not such one, and seems some Intel's boards neither.
 

mijanek

Member
Sep 3, 2013
31
0
6
Hi all,
although nobody could help me, I decided to try instead of Gigabyte GA-H77-DS3H with another Mainboard. After some suggestions I found in the internet , I bought me an AsRock Z77Pro4. The exchange took some time, as it its like to setup new PC.. But afterwards a big disappoitment was waiting on me. The Errors I wrote above, they didn't disappeared. They are Exactly all the same as I didn't changed nothing. The only one change is, that the build in Network Card is supported out of the box, But I'm stuck on 2.6.32-27 as newer one is causing problems with Onboard graphics (DMAR:[fault reason 06] PTE Read access is not set) and 3.10. crashes on IOMMU, so the feature is fr me disabled.
I can't imagine that this board does have the same issue? Do I need maybee newer Kernel than 3.10 or the Intel x77 chipset is so bad?
Does anyone has any suggestion to me?
 

mijanek

Member
Sep 3, 2013
31
0
6
If you read this posting on ASUS forum you will get a link til Intel where they state that VT-d is not supported on Z77 chipsets.
http://vip.asus.com/forum/view.aspx?id=20120513201728153&board_id=1&model=P8Z77-V+DELUXE&page=1&SLanguage=en-us
This doen't make any sense to me.. if you look at site 282 on Intel spec, the are fully speaking about VT-d support.

http://www.intel.de/content/www/de/de/chipsets/7-series-chipset-pch-datasheet.html

Basically it works fine until 2.6.32-27, but nothing newer...
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE and Proxmox Mail Gateway. We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!