This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-users] Linux Device Drivers modified in Xen ?

To: xen-users@xxxxxxxxxxxxxxxxxxx
Subject: Re: [Xen-users] Linux Device Drivers modified in Xen ?
From: Mark Williamson <mark.williamson@xxxxxxxxxxxx>
Date: Sat, 8 Dec 2007 17:57:11 +0000
Cc: Phani Babu Giddi <phanig@xxxxxxxxx>
Delivery-date: Sat, 08 Dec 2007 09:58:07 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <b61da340712071415n1eaad49dh9e3c491c8b56b6c6@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
References: <b61da340712071415n1eaad49dh9e3c491c8b56b6c6@xxxxxxxxxxxxxx>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.6 (enterprise 0.20070907.709405)
> I have spent enough time trying to find out if the native device drivers in
> Linux need to be modified for it to work on Linux or not. I havent been
> able to find a specific answer, so I thought i will post a query on this
> list. So here are a list of some question that I have.
> 1. Will native Linux device drivers work when running on Zen VMM?

The source code of native Linux drivers does not need to be modified for use 
in dom0 or a driver domain.  Occasionally a driver doesn't work because of 
bugs / assumptions and these have to be fixed but usually well-written 
drivers will Just Work when compiled against the XenLinux kernel and loaded.

You can't load a driver that was compiled against non-Xen Linux, but then you 
can't generally load drivers that were compiled against different Linuxes 
anyhow, due to the lack of a stable ABI.

> 2. Has XenSource or somebody have written the front end and back end driver
> for every device driver in Linux ? Or is it that only for a limited set of
> devices the front end and back end drivers were developed.

The main front / back drivers available are block (should work with any 
physical block device) and net (should work with any physical net device).

There's also a simple, low performance framebuffer front / back driver.  

There's some basic support for passing specific USB devices to HVM guests in 
the tree.  It's also possible to assign whole PCI devices to a PV guest (or 
HVM, in the unstable tree).  There's a pvSCSI driver in the works (you can 
already access SCSI disks, this extends support to other peripherals).  These 
techniques (do / will / should) allow you to pass devices into a guest that 
are not supported by the generic front / back device classes.

> 3. Is there some kind of documentation availabl for writing split device
> drivers?

There's some documentation in the interface manual in the source tree, 
probably some on the wiki.  The code may also be helpful to read.

The papers here 
(http://www.cl.cam.ac.uk/research/srg/netos/xen/architecture.html) are also 
worth reading, especially "Safe Hardware Access with the Xen Virtual Machine 
Monitor" for a description of the IO architecture and "Xen and the Art of 
Virtualization" for general Xen background.

You can also ask technical questions about implementation on the xen-devel 
mailing list.  The mailing list archive is possibly worth a look too.

Hope that helps,


Dave: Just a question. What use is a unicyle with no seat?  And no pedals!
Mark: To answer a question with a question: What use is a skateboard?
Dave: Skateboards have wheels.
Mark: My wheel has a wheel!

Xen-users mailing list

<Prev in Thread] Current Thread [Next in Thread>