Hi Arianna!
First of all, some context for the Xen on ARM people that I'm Cc-ing.
Arianna will be working on porting an embedded --targeted specifically
at automotive-- OS on top of Xen on ARM. The OS is Erika, and Claudio
could give any kind of information about it (and correct me, if I said
something wrong):
This mail is mainly meant at giving her some clues and pointers about
how to get on with it. I'll do my best but, given it's ARM, with which
I'm not super familiar with, feel free to chime in and fill the gaps or
correcting the mistakes I may make.
The goal is (for now) to have the Erika OS running as a DomU, on top of
a Linux Dom0. She'll be using a Cubie* as a platform. There is
definitely some similar/related activity going on (writing/porting
embedded OSes on Xen) these days, but, if I'm not mistaken, this would
be the first example of doing it on ARM (except, perhaps, from Julien's
work on FreeBSD, but that's not embedded!
)... Pretty cool, eh?
Arianna, all the information about running Xen on Allwinner is here:
Also, there is a thread right about this on xen-devel going on in these.
Perhaps you can have a look at it:
(look at the whole thread, e.g., via marc.info).
About Xen in embedded in general, there has been a thread recently,
which may contain some useful info. In case you want to skim through it,
here it is:
About how a small, and an hopefully easy enough to understand, OS that
runs as a Xen DomU looks like, check out Mini-OS in the Xen Source tree:
As I said, it's small, and definitely simpler, for instance, than Linux,
but it's quite feature complete, which is something you probably won't
need.
In fact, there are people working on even smaller and simpler solutions,
for the most diverse purposes. Some links below (again, check the entire
threads):
In case you need something bigger, Julien ported FreeBSD on Xen on ARM
(as a DomU). That lives here (Julien, correct me if I'm wrong):
I expect this to be super-overkill, but perhaps it could help to get an
idea of what an actual port (rather than a 'write from scratch') would
require.
Last but not least, the hypercall interface official documentation is
all in the public header files, in the repository, as well as here:
That is all for now I guess... Ask if there is anything you do not
understand that you think this community could help with.
Best Regards,
Dario
--
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)