First, in EmbeddedXEN, we do not use modules. Drivers are built into the kernel directly.
There are two ways to go depending on what's available:
- for example, for the UART backend and frontend, we wrote it from scratch (you can see the code in linux-2.6.26-dom0/drivers/serial/xen-uartback.c and linux-2.6.26-domU/drivers/serial/xen-uartfront.c)
- as an other example, for block device driver (I forgot to mention it in my previous email) and network driver, we adapted the existing code from the standard XEN (sources of the XEN backend/frontends are available in the Linux kernel mainline).
So, to answer your question, you should not really start from scratch, I would recommend to start from existing code and get inspiration from it.
To give you an idea of what needs to be done for paravirt, you can have a look at the patches in tools/patches.
De : Krishna Pavan [mailto:email@example.com]
Envoyé : lundi 27 mai 2013 08:42
À : Colloud Laurent
Cc : firstname.lastname@example.org; Ariel Waizel
Objet : Re: [Embeddedxen-devel] asking for directions: starting working with embeddedXen
every new functionality you need in domU needs to be enabled with paravirtualization (backend-frontend drivers).
Coming to that ParaVirtualization, Where to start, I mean
1. Do we have some sample modules, intended for other devices, which can be modified to be used with Embedded-Xen?
2. Or Do we have to start from scratch, which can only be done by Core-Programmers, unlike me!