WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] mini-guest io emulation

To: Jacob Gorm Hansen <jacobg@xxxxxxx>
Subject: Re: [Xen-devel] mini-guest io emulation
From: Grzegorz Milos <gm281@xxxxxxxxx>
Date: Mon, 13 Mar 2006 12:41:11 +0000
Cc: Ian Pratt <m+Ian.Pratt@xxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, "Nakajima, Jun" <jun.nakajima@xxxxxxxxx>
Delivery-date: Mon, 13 Mar 2006 12:42:19 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <e08041f30603130402l7c539a69mb979842d4df2c002@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <7F740D512C7C1046AB53446D3720017307306474@xxxxxxxxxxxxxxxxxxxxxxxxxxxx> <e08041f30603130402l7c539a69mb979842d4df2c002@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 1.5 (X11/20051025)
As Ian mentioned some work needs to be done to make mini-os work on 64 bit platform but the current 32 bit version of mini-os already has:
- simple scheduler (RR like)
- memory allocator (buddy allocator, and ported xmalloc build on top of buddy)
- xenbus implementation
I've implemented all of it last year. Obviously if we start using it for I/O emulation it will have to be tested more extensively, but it seemed to work just when I used it for my trusted domain builder.

As Aravindh mentioned it his email, we've recently added 64-bit page table builder, which means that the memory allocator should now work on 64bit platform as well.

There are still a few things on TODO list we've created with Aravindh but I think it should be much easier to resolve those then strip Linux down. And I do agree with Jacob, mini-os could be useful for many other things then just I/O emulation.

Cheers
Gregor

For the "mini guest", I think it could be much easier if we
substantially strip down xenlinux rather than adding (eventually) a lot
of stuff to the current mini-os, mainly because we need probably a
multi-threaded run-time environment, scheduler, memory allocator, event
handling, drivers such as xenbus/netfront/blkfront, etc. At least, I
think we can use xenlinux as the development platform. For example,
implement the qemu-dm as a driver adding the infrastructure required
(e.g. small in-kernel glibc).

It seems to me the main reason we needs threads and scheduling is to
interact with Xenstore. A page allocator can't be that hard to
implement. I wonder if the Xenstore API could be simplified in a way
that does not require threading, thus making the job of implementing
drivers in a min-os a bit simpler?

My feeling is that even a stripped down Linux would take some work to
maintain, at least if we wish to remove the need for hotplug scripts
for driver backends and the like from the miniLinux.

I have little interest in hvm guests, but having a functional mini-os
with an extensible, perhaps oskit- or TinyOS-like, structure would be
a huge win in a number of other situations as well. If I can I would
like to help. If the mini-os ever gets functional, I suppose it would
help to include it in the regression tests, to prevent the bit-rot it
is currently suffering from.

Jacob

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel