Thanks for reply.
On 03.07.16 17:26, Wan Zongshun wrote:
在 7/3/2016 8:59 AM, sunnydrake 写道:
[description]
working in kernel 3.9
Oops in current 4.4.0-28,4.7.0-040700rc5
kernel options ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1
workaround to fix ivrs table
cause kernel Oops on boot
Do you mean "ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1" are
workable at kernel-3.9 but failed in kernel-4.4?
1)yes kernel 3.9 boots ok with ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1
kernels 4.4 and 4.7 fall to Oops
[bug]
oops:
short oops text
AMD-Vi: Completion_wait loop timed Out
BUG: unable to handle kernel NULL pointer dereference at 000..03e
... irq_pm_install_action+0x1c/0xd0
full oops image text
http://img.ctrlv.in/img/16/07/03/577863055370c.jpg
[additional info]
dmesg|grep AMD-Vi without ivrs_ioapic[8]=00:00.1
This log is from the kernel print without ivrs_ioapic[8]=00:00.1?
Why not provide your kernel log with "ivrs_ioapic[7]=00:14.0
ivrs_ioapic[8]=00:00.1" ?
Full kernel log is better.
2) yes, because with ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1
kernels are not bootable. Screen of Oops
http://img.ctrlv.in/img/16/07/03/577863055370c.jpg (this with params
ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1 ). if you need something
another like kdump, i can provide.
[ 0.108566] AMD-Vi: Using IVHD type 0x10
[ 0.108630] AMD-Vi: device: 00:00.2 cap: 0040 seg: 0 flags: 3e
info 1300
[ 0.108671] AMD-Vi: mmio-addr: 00000000feb20000
[ 0.108750] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:00.0
flags: 00
[ 0.108792] AMD-Vi: DEV_RANGE_END devid: 00:00.2
[ 0.108834] AMD-Vi: DEV_SELECT devid: 00:02.0 flags: 00
[ 0.108875] AMD-Vi: DEV_SELECT_RANGE_START devid: 01:00.0
flags: 00
[ 0.108917] AMD-Vi: DEV_RANGE_END devid: 01:00.1
[ 0.108958] AMD-Vi: DEV_SELECT devid: 00:04.0 flags: 00
[ 0.108999] AMD-Vi: DEV_SELECT devid: 02:00.0 flags: 00
[ 0.109041] AMD-Vi: DEV_SELECT devid: 00:07.0 flags: 00
[ 0.109082] AMD-Vi: DEV_SELECT devid: 03:00.0 flags: 00
[ 0.109124] AMD-Vi: DEV_SELECT devid: 00:11.0 flags: 00
[ 0.109166] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:12.0
flags: 00
[ 0.109207] AMD-Vi: DEV_RANGE_END devid: 00:12.2
[ 0.109249] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:13.0
flags: 00
[ 0.114267] AMD-Vi: DEV_RANGE_END devid: 00:13.2
[ 0.114308] AMD-Vi: DEV_SELECT devid: 00:14.0 flags: d7
[ 0.114348] AMD-Vi: DEV_SELECT devid: 00:14.2 flags: 00
[ 0.114389] AMD-Vi: DEV_SELECT devid: 00:14.3 flags: 00
[ 0.114429] AMD-Vi: DEV_SELECT devid: 00:14.4 flags: 00
[ 0.114471] AMD-Vi: DEV_ALIAS_RANGE devid: 04:00.0
flags: 00 devid_to: 00:14.4
[ 0.114519] AMD-Vi: DEV_RANGE_END devid: 04:1f.7
[ 0.114564] AMD-Vi: DEV_SELECT devid: 00:14.5 flags: 00
[ 0.114605] AMD-Vi: DEV_SELECT devid: 00:15.0 flags: 00
[ 0.114645] AMD-Vi: DEV_SELECT_RANGE_START devid: 05:00.0
flags: 00
[ 0.114687] AMD-Vi: DEV_RANGE_END devid: 05:00.1
[ 0.114728] AMD-Vi: DEV_SELECT_RANGE_START devid: 00:16.0
flags: 00
[ 0.114768] AMD-Vi: DEV_RANGE_END devid: 00:16.2
[ 0.114840] AMD-Vi: DEV_SPECIAL(IOAPIC[0]) devid: 00:14.0
[ 0.114885] AMD-Vi: DEV_SPECIAL(HPET[0]) devid: 00:14.0
[ 0.114927] AMD-Vi: DEV_SPECIAL(IOAPIC[255]) devid: 00:00.1
[ 0.114969] AMD-Vi: IOAPIC[8] not in IVRS table
Here, it is abnormal, you should add ivrs_ioapic[8]=00:00.1 in boot
option, or else if the devices rely on
ivrs_ioapic[8], they will not work.
3) yes this why i used ivrs_ioapic[7]=00:14.0 ivrs_ioapic[8]=00:00.1 in
3.9 kernel to enable interrupt remapping, but on 4.4 and 4.7 this wil
cause Oops.
[ 0.115010] AMD-Vi: Disabling interrupt remapping
[ 2.994584] AMD-Vi: Completion-Wait loop timed out
[ 3.103059] AMD-Vi: Completion-Wait loop timed out
[ 3.103145] AMD-Vi: Found IOMMU at 0000:00:00.2 cap 0x40
[ 3.103279] AMD-Vi: Lazy IO/TLB flushing enabled
[ 3.993134] AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=05:00.0
address=0x000000044c6464a0]
[ 3.993213] AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=05:00.0
address=0x000000044c6464c0]
[ 5.100622] AMD-Vi: Event logged [IOTLB_INV_TIMEOUT device=05:00.0
address=0x000000044c646500]
05:00.0 device should be dead now.
4) this is second graphics card(ATI R9 380) on second PCI-E i use
vfio-pci to bind it early for later use in in virtual machine.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu