* [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work
@ 2011-06-11 9:05 steo
2011-06-11 9:21 ` Jan Kiszka
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: steo @ 2011-06-11 9:05 UTC (permalink / raw)
To: qemu-devel
Public bug reported:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on host-
system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
** Affects: qemu
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/795866
Title:
pci passthrough doesn´t work
Status in QEMU:
New
Bug description:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on
host-system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
@ 2011-06-11 9:21 ` Jan Kiszka
2011-06-11 9:41 ` [Qemu-devel] [Bug 795866] " steo
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: Jan Kiszka @ 2011-06-11 9:21 UTC (permalink / raw)
To: Bug 795866; +Cc: qemu-devel, kvm
[-- Attachment #1: Type: text/plain, Size: 5411 bytes --]
On 2011-06-11 11:05, steo wrote:
> Public bug reported:
>
> Hi all,
>
> I have some problems passing through a pci device to kvm guest.
> First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
>
> I want´t to passthrough this device to guest:
>
> lspci-output:
>
> 02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
> Device 0720 (rev 01)
>
> So at first I have bind the driver to psi-stub:
>
> modprobe -r kvm-intel
> modprobe -r kvm
> echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
> echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
> echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
> modprobe kvm
> modprobe kvm-intel
>
> Then I have assigned device to guest:
> -device pci-assign,host=02:00.0
>
> When I start the guest. The device succesfully get´s an msi-IRQ on host-
> system:
>
> cat /proc/interrupt output:
>
> 32: 0 0 0 0 PCI-MSI-edge
> kvm_assigned_msi_device
>
>
> On guest device is visibel:
>
> lspci output:
> 00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
>
>
> Sometimes the device (on guest) get´s an IRQ between 10-16:
>
> 00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
> Subsystem: Micronas Semiconductor Holding AG Device dd00
> Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
> Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
> Interrupt: pin A routed to IRQ 11
> Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
> Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
> Capabilities: [58] Express (v1) Endpoint, MSI 00
> DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
> DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
> RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
> MaxPayload 128 bytes, MaxReadReq 128 bytes
> DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
> LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
> ClockPM- Suprise- LLActRep- BwNot-
> LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
> ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
> Capabilities: [40] Power Management version 2
> Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
> Address: 00000000 Data: 0000
> Kernel modules: ngene
>
>
> In this case the kernel-modul (ngene) can not access the device:
>
> dmesg | grep ngene
>
> [ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
> [ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
> [ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
> [ 69.979118] ngene: Device version 1
> [ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
> [ 69.980884] ngene: Loading firmware file ngene_18.fw.
> [ 71.981052] ngene: Command timeout cmd=01 prev=00
> [ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
> [ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
> [ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
> [ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
> [ 73.985111] ngene: Command timeout cmd=02 prev=00
> [ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
> [ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
> [ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
> [ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
> [ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
> [ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
>
>
> Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
> Then kernel-modul (ngene) can succesfully load the driver and all works fine.
>
>
> Short to say:
>
> HOST GUEST STATUS
> MSI-IRQ MSI-IRQ ALL FINE
> MSI-IRQ IOAPIC-IRQ DOESN´t WORK
>
> with modinfo I had a look at the kernel-modul if there is way to force
> msi, but without success.
>
> But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
> it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
>
> Do anyone know where can be the problem?
Does '-device pci-assign,host=02:00.0,prefer_msi=off' help?
>
> ** Affects: qemu
> Importance: Undecided
> Status: New
>
You filed against the wrong component, device assignment is a qemu-kvm
feature, not yet one of qemu.
Jan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 259 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 795866] Re: pci passthrough doesn´t work
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
2011-06-11 9:21 ` Jan Kiszka
@ 2011-06-11 9:41 ` steo
2011-06-11 9:42 ` steo
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: steo @ 2011-06-11 9:41 UTC (permalink / raw)
To: qemu-devel
Here is the dmesg - output of second device which is currently working
on guest with MSI-IRQ 29:
[ 2.137175] ngene 0000:00:04.0: PCI INT A -> Link[LNKD] -> GSI 11 (level, high) -> IRQ 11
[ 2.137183] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 2.140506] ngene 0000:00:04.0: setting latency timer to 64
[ 2.140679] ngene: Device version 1
[ 2.140693] ngene 0000:00:04.0: firmware: requesting ngene_18.fw
[ 2.214848] ngene: Loading firmware file ngene_18.fw.
[ 2.249797] ngene 0000:00:04.0: irq 29 for MSI/MSI-X
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/795866
Title:
pci passthrough doesn´t work
Status in QEMU:
New
Bug description:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on
host-system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 795866] Re: pci passthrough doesn´t work
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
2011-06-11 9:21 ` Jan Kiszka
2011-06-11 9:41 ` [Qemu-devel] [Bug 795866] " steo
@ 2011-06-11 9:42 ` steo
2017-03-07 22:19 ` Thomas Huth
2017-05-07 4:17 ` Launchpad Bug Tracker
4 siblings, 0 replies; 6+ messages in thread
From: steo @ 2011-06-11 9:42 UTC (permalink / raw)
To: qemu-devel
lspci - output on guest:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Latency: 0, Cache Line Size: 64 bytes
Interrupt: pin A routed to IRQ 29
Region 0: Memory at f2030000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2040000 (32-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel driver in use: ngene
Kernel modules: ngene
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: <access denied>
Kernel modules: ngene
IRQ 11 not working.
IRQ 29 working
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/795866
Title:
pci passthrough doesn´t work
Status in QEMU:
New
Bug description:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on
host-system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 795866] Re: pci passthrough doesn´t work
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
` (2 preceding siblings ...)
2011-06-11 9:42 ` steo
@ 2017-03-07 22:19 ` Thomas Huth
2017-05-07 4:17 ` Launchpad Bug Tracker
4 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2017-03-07 22:19 UTC (permalink / raw)
To: qemu-devel
Triaging old bug tickets ... can you still reproduce this problem with
the latest version of QEMU? Or can we close this ticket nowadays?
** Changed in: qemu
Status: New => Incomplete
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/795866
Title:
pci passthrough doesn´t work
Status in QEMU:
Incomplete
Bug description:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on
host-system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [Bug 795866] Re: pci passthrough doesn´t work
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
` (3 preceding siblings ...)
2017-03-07 22:19 ` Thomas Huth
@ 2017-05-07 4:17 ` Launchpad Bug Tracker
4 siblings, 0 replies; 6+ messages in thread
From: Launchpad Bug Tracker @ 2017-05-07 4:17 UTC (permalink / raw)
To: qemu-devel
[Expired for QEMU because there has been no activity for 60 days.]
** Changed in: qemu
Status: Incomplete => Expired
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/795866
Title:
pci passthrough doesn´t work
Status in QEMU:
Expired
Bug description:
Hi all,
I have some problems passing through a pci device to kvm guest.
First I have to say that I´m using the latest kvm-kernel und qemu-kvm from git-tree (Date 11.06.2011).
I want´t to passthrough this device to guest:
lspci-output:
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG
Device 0720 (rev 01)
So at first I have bind the driver to psi-stub:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe kvm
modprobe kvm-intel
Then I have assigned device to guest:
-device pci-assign,host=02:00.0
When I start the guest. The device succesfully get´s an msi-IRQ on
host-system:
cat /proc/interrupt output:
32: 0 0 0 0 PCI-MSI-edge
kvm_assigned_msi_device
On guest device is visibel:
lspci output:
00:04.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Sometimes the device (on guest) get´s an IRQ between 10-16:
00:05.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Subsystem: Micronas Semiconductor Holding AG Device dd00
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx+
Interrupt: pin A routed to IRQ 11
Region 0: Memory at f2050000 (32-bit, non-prefetchable) [size=64K]
Region 1: Memory at f2060000 (32-bit, non-prefetchable) [size=64K]
Capabilities: [58] Express (v1) Endpoint, MSI 00
DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset-
DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
MaxPayload 128 bytes, MaxReadReq 128 bytes
DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s, Latency L0 unlimited, L1 unlimited
ClockPM- Suprise- LLActRep- BwNot-
LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain- CommClk+
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [48] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable-
Address: 00000000 Data: 0000
Kernel modules: ngene
In this case the kernel-modul (ngene) can not access the device:
dmesg | grep ngene
[ 69.977900] ngene 0000:00:05.0: PCI INT A -> Link[LNKA] -> GSI 11 (level, high) -> IRQ 11
[ 69.977909] ngene: Found Linux4Media cineS2 DVB-S2 Twin Tuner (v5)
[ 69.978962] ngene 0000:00:05.0: setting latency timer to 64
[ 69.979118] ngene: Device version 1
[ 69.979129] ngene 0000:00:05.0: firmware: requesting ngene_18.fw
[ 69.980884] ngene: Loading firmware file ngene_18.fw.
[ 71.981052] ngene: Command timeout cmd=01 prev=00
[ 71.981205] host_to_ngene (c000): 01 00 00 00 00 00 00 00
[ 71.981457] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 71.981704] dev->hosttongene (ec902000): 01 00 00 00 00 00 00 00
[ 71.981963] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.985111] ngene: Command timeout cmd=02 prev=00
[ 73.985415] host_to_ngene (c000): 02 04 00 d0 00 04 00 00
[ 73.985684] ngene_to_host (c100): 00 00 00 00 00 00 00 00
[ 73.985931] dev->hosttongene (ec902000): 02 04 00 d0 00 04 00 00
[ 73.986191] dev->ngenetohost (ec902100): 00 00 00 00 00 00 00 00
[ 73.986568] ngene 0000:00:05.0: PCI INT A disabled
[ 73.986584] ngene: probe of 0000:00:05.0 failed with error -1
Sometimes the device (on guest) gets an msi-irq f. e. IRQ 29.
Then kernel-modul (ngene) can succesfully load the driver and all works fine.
Short to say:
HOST GUEST STATUS
MSI-IRQ MSI-IRQ ALL FINE
MSI-IRQ IOAPIC-IRQ DOESN´t WORK
with modinfo I had a look at the kernel-modul if there is way to force
msi, but without success.
But I think IRQ between (10-16) should also work because when I load the kernel-modul on host with IRQ (10-16)
it works. (Device only get´s an MSI-IRQ If I start the vm to passthrough)
Do anyone know where can be the problem?
To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/795866/+subscriptions
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-05-07 4:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-11 9:05 [Qemu-devel] [Bug 795866] [NEW] pci passthrough doesn´t work steo
2011-06-11 9:21 ` Jan Kiszka
2011-06-11 9:41 ` [Qemu-devel] [Bug 795866] " steo
2011-06-11 9:42 ` steo
2017-03-07 22:19 ` Thomas Huth
2017-05-07 4:17 ` Launchpad Bug Tracker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).