|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] pvops-2.6.32 - Interrupt routing problem
Hi
I was able to test Xen 3.4.3-rc3 and the current 2.6.32 tree on a
HP DL385 G6. It booted after some time, but was unuable to access
several devices using traditional IO-APIC. The interrupt configuration listed
for these is identical between Xen and native except that in the native case
several of them are marked as "IO-APIC-fasteoi". Devices using MSI are working
fine.
Partial /proc/interrupts output with comparation of Xen and native:
| 5: IO-APIC-fasteoi ehci_hcd:usb1, ohci_hcd:usb3, ohci_hcd:usb4
| 5: xen-pirq-ioapic-edge ehci_hcd:usb1, ohci_hcd:usb2, ohci_hcd:usb4
| 14: IO-APIC-fasteoi sata_svw
| 14: xen-pirq-ioapic-edge sata_svw
Kernel log showing the setup of this devices:
[ 0.000000] xen: registering gsi 5 triggering 1 polarity 0
[ 0.000000] xen: --> irq=5
[ 0.000000] Already setup the GSI :5
[ 0.000000] xen: registering gsi 14 triggering 1 polarity 0
[ 0.000000] xen: --> irq=14
[ 0.000000] Already setup the GSI :14
[ 1.625355] ACPI: PCI Interrupt Link [IUSB] enabled at IRQ 5
[ 1.625594] xen: registering gsi 5 triggering 0 polarity 1
[ 1.625607] xen_allocate_pirq: returning irq 5 for gsi 5
[ 1.625872] xen: --> irq=5
[ 1.625883] Already setup the GSI :5
[ 1.626062] ehci_hcd 0000:00:07.2: PCI INT A -> Link[IUSB] -> GSI 5 (level,
low) -> IRQ 5
[ 1.626506] ehci_hcd 0000:00:07.2: EHCI Host Controller
[ 1.626805] ehci_hcd 0000:00:07.2: new USB bus registered, assigned bus
number 1
[ 1.652169] ehci_hcd 0000:00:07.2: irq 5, io mem 0xf3dc0000
[ 1.717401] sata_svw 0000:01:0e.0: version 2.3
[ 1.718282] ACPI: PCI Interrupt Link [ISF0] enabled at IRQ 14
[ 1.718520] xen: registering gsi 14 triggering 0 polarity 1
[ 1.718533] xen_allocate_pirq: returning irq 14 for gsi 14
[ 1.718747] xen: --> irq=14
[ 1.718754] Already setup the GSI :14
[ 1.718903] sata_svw 0000:01:0e.0: PCI INT A -> Link[ISF0] -> GSI 14 (level,
low) -> IRQ 14
[ 1.719514] scsi0 : sata_svw
[ 1.719922] scsi1 : sata_svw
[ 1.720404] scsi2 : sata_svw
[ 1.720739] scsi3 : sata_svw
[ 1.720996] ata1: SATA max UDMA/133 mmio m8192@0xf3ff0000 port 0xf3ff0000
irq 14
[ 1.721272] ata2: SATA max UDMA/133 mmio m8192@0xf3ff0000 port 0xf3ff0100
irq 14
[ 1.721536] ata3: SATA max UDMA/133 mmio m8192@0xf3ff0000 port 0xf3ff0200
irq 14
[ 1.721809] ata4: SATA max UDMA/133 mmio m8192@0xf3ff0000 port 0xf3ff0300
irq 14
Kernel log showing interrupt problems on GSI 5:
[ 7.452081] ohci_hcd 0000:00:07.1: Unlink after no-IRQ? Controller is
probably using the wrong IRQ.
Kernel log showing interrupt problems on GSI 14:
[ 2.044101] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 2.068427] ata1.00: ATAPI: Optiarc DVD RW AD-7561S, AH52, max UDMA/100
[ 2.100357] ata1.00: configured for UDMA/100
[ 7.100098] ata1.00: qc timeout (cmd 0xa0)
[ 7.100263] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[ 7.420101] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[ 7.476356] ata1.00: configured for UDMA/100
[ 12.476098] ata1.00: qc timeout (cmd 0xa0)
[ 12.476264] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[ 12.476463] ata1: limiting SATA link speed to 1.5 Gbps
[ 12.476647] ata1.00: limiting speed to UDMA/100:PIO3
[ 12.796136] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 12.852354] ata1.00: configured for UDMA/100
[ 17.852103] ata1.00: qc timeout (cmd 0xa0)
[ 17.852267] ata1.00: TEST_UNIT_READY failed (err_mask=0x5)
[ 17.852463] ata1.00: disabled
[ 17.852593] ata1: hard resetting link
[ 18.172109] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
[ 18.172351] ata1: EH complete
[ 18.496032] ata2: SATA link down (SStatus 4 SControl 300)
[ 18.824031] ata3: SATA link down (SStatus 4 SControl 300)
[ 19.152032] ata4: SATA link down (SStatus 4 SControl 300)
IO-APIC info from Xen:
(XEN) number of MP IRQ sources: 15.
(XEN) number of IO-APIC #8 registers: 16.
(XEN) number of IO-APIC #9 registers: 16.
(XEN) number of IO-APIC #10 registers: 16.
(XEN) testing the IO APIC.......................
(XEN) IO APIC #8......
(XEN) .... register #00: 08000000
(XEN) ....... : physical APIC id: 08
(XEN) ....... : Delivery Type: 0
(XEN) ....... : LTS : 0
(XEN) .... register #01: 000F0011
(XEN) ....... : max redirection entries: 000F
(XEN) ....... : PRQ implemented: 0
(XEN) ....... : IO APIC version: 0011
(XEN) .... register #02: 08000000
(XEN) ....... : arbitration: 08
(XEN) .... IRQ redirection table:
(XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
(XEN) 00 000 00 1 0 0 0 0 0 0 00
(XEN) 01 008 08 0 0 0 0 0 0 0 20
(XEN) 02 000 00 0 0 0 0 0 0 0 F0
(XEN) 03 000 00 0 0 0 0 0 0 0 28
(XEN) 04 000 00 0 0 0 0 0 0 0 F1
(XEN) 05 005 05 0 0 0 0 0 0 0 30
(XEN) 06 000 00 0 0 0 0 0 0 0 38
(XEN) 07 000 00 0 0 0 0 0 0 0 40
(XEN) 08 008 08 0 0 0 0 0 0 0 48
(XEN) 09 000 00 0 1 0 1 0 0 0 50
(XEN) 0a 000 00 0 0 0 0 0 0 0 58
(XEN) 0b 000 00 0 0 0 0 0 0 0 60
(XEN) 0c 008 08 0 0 0 0 0 0 0 68
(XEN) 0d 000 00 0 0 0 0 0 0 0 70
(XEN) 0e 00B 0B 0 0 0 0 0 0 0 78
(XEN) 0f 000 00 0 0 0 0 0 0 0 88
(XEN) IO APIC #9......
(XEN) .... register #00: 09000000
(XEN) ....... : physical APIC id: 09
(XEN) ....... : Delivery Type: 0
(XEN) ....... : LTS : 0
(XEN) .... register #01: 000F0011
(XEN) ....... : max redirection entries: 000F
(XEN) ....... : PRQ implemented: 0
(XEN) ....... : IO APIC version: 0011
(XEN) .... register #02: 09000000
(XEN) ....... : arbitration: 09
(XEN) .... IRQ redirection table:
(XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
(XEN) 00 000 00 1 0 0 0 0 0 0 00
(XEN) 01 000 00 1 0 0 0 0 0 0 00
(XEN) 02 000 00 1 0 0 0 0 0 0 00
(XEN) 03 000 00 1 0 0 0 0 0 0 00
(XEN) 04 000 00 1 0 0 0 0 0 0 00
(XEN) 05 000 00 1 0 0 0 0 0 0 00
(XEN) 06 000 00 1 0 0 0 0 0 0 00
(XEN) 07 000 00 1 0 0 0 0 0 0 00
(XEN) 08 000 00 1 0 0 0 0 0 0 00
(XEN) 09 000 00 1 0 0 0 0 0 0 00
(XEN) 0a 000 00 1 0 0 0 0 0 0 00
(XEN) 0b 000 00 1 0 0 0 0 0 0 00
(XEN) 0c 000 00 1 0 0 0 0 0 0 00
(XEN) 0d 000 00 1 0 0 0 0 0 0 00
(XEN) 0e 000 00 1 0 0 0 0 0 0 00
(XEN) 0f 000 00 1 0 0 0 0 0 0 00
(XEN) IO APIC #10......
(XEN) .... register #00: 0A000000
(XEN) ....... : physical APIC id: 0A
(XEN) ....... : Delivery Type: 0
(XEN) ....... : LTS : 0
(XEN) .... register #01: 000F0011
(XEN) ....... : max redirection entries: 000F
(XEN) ....... : PRQ implemented: 0
(XEN) ....... : IO APIC version: 0011
(XEN) .... register #02: 0A000000
(XEN) ....... : arbitration: 0A
(XEN) .... IRQ redirection table:
(XEN) NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect:
(XEN) 00 000 00 1 1 0 1 0 0 0 C0
(XEN) 01 000 00 1 1 0 1 0 0 0 C8
(XEN) 02 000 00 1 1 0 1 0 0 0 D0
(XEN) 03 000 00 1 1 0 1 0 0 0 D8
(XEN) 04 000 00 1 1 0 1 0 0 0 B8
(XEN) 05 000 00 1 0 0 0 0 0 0 00
(XEN) 06 000 00 1 1 0 1 0 0 0 98
(XEN) 07 000 00 1 1 0 1 0 0 0 A0
(XEN) 08 000 00 1 1 0 1 0 0 0 A8
(XEN) 09 000 00 1 1 0 1 0 0 0 B0
(XEN) 0a 000 00 1 1 0 1 0 0 0 90
(XEN) 0b 000 00 1 0 0 0 0 0 0 00
(XEN) 0c 000 00 1 1 0 1 0 0 0 A1
(XEN) 0d 00B 0B 0 1 0 1 0 0 0 91
(XEN) 0e 008 08 0 1 0 1 0 0 0 99
(XEN) 0f 000 00 1 0 0 0 0 0 0 00
(XEN) Using vector-based indexing
(XEN) IRQ to pin mappings:
(XEN) IRQ240 -> 0:2
(XEN) IRQ32 -> 0:1
(XEN) IRQ40 -> 0:3
(XEN) IRQ241 -> 0:4
(XEN) IRQ48 -> 0:5
(XEN) IRQ56 -> 0:6
(XEN) IRQ64 -> 0:7
(XEN) IRQ72 -> 0:8
(XEN) IRQ80 -> 0:9
(XEN) IRQ88 -> 0:10
(XEN) IRQ96 -> 0:11
(XEN) IRQ104 -> 0:12
(XEN) IRQ112 -> 0:13
(XEN) IRQ120 -> 0:14
(XEN) IRQ136 -> 0:15
(XEN) IRQ192 -> 2:0
(XEN) IRQ200 -> 2:1
(XEN) IRQ208 -> 2:2
(XEN) IRQ216 -> 2:3
(XEN) IRQ184 -> 2:4
(XEN) IRQ152 -> 2:6
(XEN) IRQ160 -> 2:7
(XEN) IRQ168 -> 2:8
(XEN) IRQ176 -> 2:9
(XEN) IRQ144 -> 2:10
(XEN) IRQ161 -> 2:12
(XEN) IRQ145 -> 2:13
(XEN) IRQ153 -> 2:14
--
Kirk to Enterprise -- beam down yeoman Rand and a six-pack.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|