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

[Xen-devel] OS porting on Xen on ARM



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):
http://wiki.automotive.linuxfoundation.org/index.php/Erika_Enterprise_Open-Source_RTOS
http://erika.tuxfamily.org/

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! :-P)... Pretty cool, eh?

Arianna, all the information about running Xen on Allwinner is here:
http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Allwinner
Also, there is a thread right about this on xen-devel going on in these.
Perhaps you can have a look at it:
http://bugs.xenproject.org/xen/mid/%3CWC20131216075445.88000B@xxxxxxxxxx%3E
(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:
http://bugs.xenproject.org/xen/mid/%3C1384802050.16918.219.camel@Solace%3E

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:
http://xenbits.xen.org/gitweb/?p=xen.git;a=tree;f=extras/mini-os;hb=HEAD
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):
http://bugs.xenproject.org/xen/mid/%3Cem4158cadd-9eab-4a26-80ba-b3a3b311bee2@smartin-alien%3E
http://bugs.xenproject.org/xen/mid/%3Cem40e5807b-ac20-4c2a-ad66-d1056397e07b@smartin-alien%3E
http://bugs.xenproject.org/xen/mid/%3Cembc004940-1dbb-4924-bbab-76901c75e44e@smartin-alien%3E
http://osdir.com/ml/general/2013-12/msg26912.html
http://bugs.xenproject.org/xen/mid/%3C723A93B1-0345-42C6-949B-F6070CE40043@xxxxxxxxxx%3E

Simon also sent the code out already, here: 
https://github.com/FurryFuttock/micro-pv
For anything about MirageOS: http://openmirage.org/ , https://github.com/mirage/

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):
http://xenbits.xen.org/gitweb/?p=people/julieng/freebsd.git;a=shortlog;h=refs/heads/xen-arm
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:
http://xenbits.xen.org/docs/unstable-staging/hypercall/index.html
http://xenbits.xen.org/docs/unstable-staging/hypercall/arm/index.html

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)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.