qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] virtio documentation or BSD licensed driver?


From: Pantelis Koukousoulas
Subject: Re: [Qemu-devel] virtio documentation or BSD licensed driver?
Date: Mon, 4 May 2009 12:23:45 +0300

>>> Is there any
>>> - interface documentation for virtio?
>>> - BSD licensed drivers?

Virtio was designed as a Linux API AFAIK (nothing prevents it from
being ported of course).
So, the most useful info should be in the (BSD Licensed) headers. The
actual virtio-net driver
code will not be very helpful to someone unfamilliar with the way
Linux does things (e.g.,
skbs, ethernet operations etc etc). If you want to port virtio-net to
another OS though, you
will have to provide the infrastructure too, so you have 2 choices:

1) Implement it like in Linux in 4 layers: virtio_pci, virtio_ring,
virtio (virtqueues etc), virtio_net.

2) Think of virtio-net as just another (sophisticated) PCI driver and
look at its implemenation
in qemu. Although qemu is not BSD licensed, your work is unlikely to
be considered a derivative
of qemu since you are implementing a driver for that virtual
"hardware", not another copy it.

The BSD virtio headers, the paper and the virtio-net qemu
implementation should be enough to
allow you to write a driver for your OS imho (it is already more info
than you typically get for
real hardware)

Pantelis

P.S., in practice I believe several developers for other OSes look at
the sources of linux drivers
as sort of a really good documentation for hardware, even if the
license of their OS is incompatible.
IANAL and all that, but I 'd be really suprised if you got sued for
porting virtio-net to your hobby OS :)

(E.g., there are currently closed-source windows virtio-net drivers
and nobody cared to request an
audit whether they are a derivative of the Linux drivers or not).




reply via email to

[Prev in Thread] Current Thread [Next in Thread]