You are not logged in.

#1 2012-12-07 13:41:39

crondog
Member
Registered: 2011-04-21
Posts: 125

IOMMU mapping

Hey archers,

Just wondering if someone who uses iommu could help me out.

I just bought a new motherboard and processor which supports vt-d. All good i thought. Now it seems that isnt enough...I have just come across the joys of PCI-E Function Level Reset...which none of the hardware which i am planning to use have this. (or the D3-D0 process for that matter). Anyway to the question i want to ask:

Is this the reason why when i run

dmesg | grep -e DMAR -e IOMMU
[    0.000000] Command line: root=/dev/sda2 ro quiet intel_iommu=on nomodeset initrd=../initramfs-linux-ck.img BOOT_IMAGE=../vmlinuz-linux-ck 
[    0.000000] ACPI: DMAR 00000000bd577070 000B8 (v01 INTEL      SNB  00000001 INTL 00000001)
[    0.000000] Kernel command line: root=/dev/sda2 ro quiet intel_iommu=on nomodeset initrd=../initramfs-linux-ck.img BOOT_IMAGE=../vmlinuz-linux-ck 
[    0.000000] Intel-IOMMU: enabled
[    0.021546] dmar: Host address width 36
[    0.021547] dmar: DRHD base: 0x000000fed90000 flags: 0x0
[    0.021554] dmar: IOMMU 0: reg_base_addr fed90000 ver 1:0 cap c0000020e60262 ecap f0101a
[    0.021554] dmar: DRHD base: 0x000000fed91000 flags: 0x1
[    0.021558] dmar: IOMMU 1: reg_base_addr fed91000 ver 1:0 cap c9008020660262 ecap f0105a
[    0.021558] dmar: RMRR base: 0x000000bd3e2000 end: 0x000000bd3effff
[    0.021559] dmar: RMRR base: 0x000000bf800000 end: 0x000000cf9fffff
[    0.021628] IOAPIC id 2 under DRHD base  0xfed91000 IOMMU 1
[    0.355195] DMAR: No ATSR found
[    0.355216] IOMMU 0 0xfed90000: using Queued invalidation
[    0.355217] IOMMU 1 0xfed91000: using Queued invalidation
[    0.355218] IOMMU: Setting RMRR:
[    0.355226] IOMMU: Setting identity map for device 0000:00:02.0 [0xbf800000 - 0xcf9fffff]
[    0.356282] IOMMU: Setting identity map for device 0000:00:1d.0 [0xbd3e2000 - 0xbd3effff]
[    0.356298] IOMMU: Setting identity map for device 0000:00:1a.0 [0xbd3e2000 - 0xbd3effff]
[    0.356310] IOMMU: Setting identity map for device 0000:00:14.0 [0xbd3e2000 - 0xbd3effff]
[    0.356317] IOMMU: Prepare 0-16MiB unity mapping for LPC
[    0.356322] IOMMU: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]

It doesnt set an identity map for the devices without function level reset? The devices in question are

01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Juniper [Radeon HD 5700 Series]
01:00.1 Audio device: Advanced Micro Devices [AMD] nee ATI Juniper HDMI Audio [Radeon HD 5700 Series]
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

I did a grep for flr flreset reset in the iommu folder of the kernel source but nothing came up. And my google skills are failing me right now. It appears that this is the reason but i dont have any other hardware to test this...

Thanks

Offline

Board footer

Powered by FluxBB