summary refs log tree commit diff stats
path: root/results/classifier/zero-shot/105/mistranslation/795866
blob: a390d157e6e793066b4fbbe89cb26692fd1b8667 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
mistranslation: 0.858
assembly: 0.802
semantic: 0.779
vnc: 0.774
instruction: 0.762
graphic: 0.757
other: 0.747
device: 0.729
KVM: 0.721
boot: 0.681
socket: 0.680
network: 0.665

pci passthrough doesn´t work

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?

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




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

Triaging old bug tickets ... can you still reproduce this problem with the latest version of QEMU? Or can we close this ticket nowadays?

[Expired for QEMU because there has been no activity for 60 days.]