* Virtio IRQ problem
@ 2015-07-11 4:34 Pavel Davydov
2015-07-12 23:31 ` Fam Zheng
0 siblings, 1 reply; 4+ messages in thread
From: Pavel Davydov @ 2015-07-11 4:34 UTC (permalink / raw)
To: kvm; +Cc: Marco Vinicio Caamano Castro
Hello,
I've got the following problem with KVM:
I'm running a proprietary OS under KVM, the OS is neither Linux/Unix,
nor Windows, and I don't get any IRQs from Virtio device. The Virtio
device in the system I'm running is a PCI Ethernet device. The device is
detected correctly, the IRQ line is also identified, its matches with
the IRQ line number retrieved by running lspci command when Linux is run
instead of the proprietary system.
When Linux is run on exactly the same virtual machine configuration
(with the Virtio device), the Virtio device is detected and works
correctly, there is traffic between the host and the guest.
When the only change in the configuration is that the type of the
virtual network interface is changed from Virtio to E1000, in both OSes:
the proprietary OS and Linux, the virtual network interface works correctly.
The question is: what steps is Virtio driver to perform to enable the
IRQs? (Obviously, Linux driver for Virtio performs these steps, the IRQs
are generated under Linux VM).
Any hint would be appreciated.
Thank you,
Pavel
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Virtio IRQ problem
2015-07-11 4:34 Virtio IRQ problem Pavel Davydov
@ 2015-07-12 23:31 ` Fam Zheng
2015-07-13 16:41 ` Pavel Davydov
0 siblings, 1 reply; 4+ messages in thread
From: Fam Zheng @ 2015-07-12 23:31 UTC (permalink / raw)
To: Pavel Davydov; +Cc: kvm, Marco Vinicio Caamano Castro
On Fri, 07/10 22:34, Pavel Davydov wrote:
> Hello,
>
> I've got the following problem with KVM:
>
> I'm running a proprietary OS under KVM, the OS is neither Linux/Unix, nor
> Windows, and I don't get any IRQs from Virtio device. The Virtio device in
> the system I'm running is a PCI Ethernet device. The device is detected
> correctly, the IRQ line is also identified, its matches with the IRQ line
> number retrieved by running lspci command when Linux is run instead of the
> proprietary system.
>
> When Linux is run on exactly the same virtual machine configuration (with
> the Virtio device), the Virtio device is detected and works correctly, there
> is traffic between the host and the guest.
Linux does more than detection, you need to have drivers running in the guest
for virtio devices.
Does your proprietary system have virtio device drivers?
Fam
>
> When the only change in the configuration is that the type of the virtual
> network interface is changed from Virtio to E1000, in both OSes: the
> proprietary OS and Linux, the virtual network interface works correctly.
>
> The question is: what steps is Virtio driver to perform to enable the IRQs?
> (Obviously, Linux driver for Virtio performs these steps, the IRQs are
> generated under Linux VM).
>
> Any hint would be appreciated.
>
> Thank you,
> Pavel
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Virtio IRQ problem
2015-07-12 23:31 ` Fam Zheng
@ 2015-07-13 16:41 ` Pavel Davydov
2015-07-14 2:33 ` Fam Zheng
0 siblings, 1 reply; 4+ messages in thread
From: Pavel Davydov @ 2015-07-13 16:41 UTC (permalink / raw)
To: Fam Zheng; +Cc: kvm, Marco Vinicio Caamano Castro
The proprietary system doesn't have a virtio driver, that is the problem.
What are the steps that Linux performs to work correctly with virtio
devices?
Thank you,
Pavel
On 07/12/2015 05:31 PM, Fam Zheng wrote:
> On Fri, 07/10 22:34, Pavel Davydov wrote:
>> Hello,
>>
>> I've got the following problem with KVM:
>>
>> I'm running a proprietary OS under KVM, the OS is neither Linux/Unix, nor
>> Windows, and I don't get any IRQs from Virtio device. The Virtio device in
>> the system I'm running is a PCI Ethernet device. The device is detected
>> correctly, the IRQ line is also identified, its matches with the IRQ line
>> number retrieved by running lspci command when Linux is run instead of the
>> proprietary system.
>>
>> When Linux is run on exactly the same virtual machine configuration (with
>> the Virtio device), the Virtio device is detected and works correctly, there
>> is traffic between the host and the guest.
> Linux does more than detection, you need to have drivers running in the guest
> for virtio devices.
>
> Does your proprietary system have virtio device drivers?
>
> Fam
>
>> When the only change in the configuration is that the type of the virtual
>> network interface is changed from Virtio to E1000, in both OSes: the
>> proprietary OS and Linux, the virtual network interface works correctly.
>>
>> The question is: what steps is Virtio driver to perform to enable the IRQs?
>> (Obviously, Linux driver for Virtio performs these steps, the IRQs are
>> generated under Linux VM).
>>
>> Any hint would be appreciated.
>>
>> Thank you,
>> Pavel
>> --
>> To unsubscribe from this list: send the line "unsubscribe kvm" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Virtio IRQ problem
2015-07-13 16:41 ` Pavel Davydov
@ 2015-07-14 2:33 ` Fam Zheng
0 siblings, 0 replies; 4+ messages in thread
From: Fam Zheng @ 2015-07-14 2:33 UTC (permalink / raw)
To: Pavel Davydov; +Cc: kvm, Marco Vinicio Caamano Castro
On Mon, 07/13 10:41, Pavel Davydov wrote:
> The proprietary system doesn't have a virtio driver, that is the problem.
>
> What are the steps that Linux performs to work correctly with virtio
> devices?
It's done with a specific driver that talks to virtio interface:
http://github.com/torvalds/linux/blob/master/drivers/net/virtio_net.c
It goes through regular PCI device discovery, and sets up ring buffers for rx
and tx, together with irq handlers etc., according to the device specification.
The device operations are documented as:
http://docs.oasis-open.org/virtio/virtio/v1.0/csprd01/virtio-v1.0-csprd01.html#x1-870001
Thanks,
Fam
>
> Thank you,
> Pavel
>
> On 07/12/2015 05:31 PM, Fam Zheng wrote:
> >On Fri, 07/10 22:34, Pavel Davydov wrote:
> >>Hello,
> >>
> >>I've got the following problem with KVM:
> >>
> >>I'm running a proprietary OS under KVM, the OS is neither Linux/Unix, nor
> >>Windows, and I don't get any IRQs from Virtio device. The Virtio device in
> >>the system I'm running is a PCI Ethernet device. The device is detected
> >>correctly, the IRQ line is also identified, its matches with the IRQ line
> >>number retrieved by running lspci command when Linux is run instead of the
> >>proprietary system.
> >>
> >>When Linux is run on exactly the same virtual machine configuration (with
> >>the Virtio device), the Virtio device is detected and works correctly, there
> >>is traffic between the host and the guest.
> >Linux does more than detection, you need to have drivers running in the guest
> >for virtio devices.
> >
> >Does your proprietary system have virtio device drivers?
> >
> >Fam
> >
> >>When the only change in the configuration is that the type of the virtual
> >>network interface is changed from Virtio to E1000, in both OSes: the
> >>proprietary OS and Linux, the virtual network interface works correctly.
> >>
> >>The question is: what steps is Virtio driver to perform to enable the IRQs?
> >>(Obviously, Linux driver for Virtio performs these steps, the IRQs are
> >>generated under Linux VM).
> >>
> >>Any hint would be appreciated.
> >>
> >>Thank you,
> >>Pavel
> >>--
> >>To unsubscribe from this list: send the line "unsubscribe kvm" in
> >>the body of a message to majordomo@vger.kernel.org
> >>More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-07-14 2:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-11 4:34 Virtio IRQ problem Pavel Davydov
2015-07-12 23:31 ` Fam Zheng
2015-07-13 16:41 ` Pavel Davydov
2015-07-14 2:33 ` Fam Zheng
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).