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

Re: [XenARM] initial bootstrap code



Hello Damien,

On Wed, Oct 17, 2007 at 04:53:39PM -0400, Damien Barthélémy wrote:
> Hello
> 
> This is my first message on the list. I am the student working with Daniel
> Rossier.
> 
> We finally got a minimal xen code (without virt mechanisms, bootstrap only)
> building, linking and starting.
> 
> The first step was to get a minimal version of linux 2.6.18 (isolate the
> linux arm bootstrap). We built only some files in /arch/arm and got a 3 ko
> linux image. We suppressed the directories containing unused code /fs /crypt
> /kernel /drivers /mm /ipc /net...
> 
> The initial idea was to introduce this bootstrap in the xen 3.1 tree. But I
> got many problems with this job. It is difficult to adapt the xen Makefiles
> to get the linux bootstrap build. I had problems with CFLAGS, linker script,
> the whole build process, ... We decided not to spend to much (more) time on
> this problem and to include the xen tree into our modified linux bootstrap
> tree. The linux bootstrap code call the xen first C function (start_xen).

FWIW, I'ld recommend using a .config and config.h generated for the
Xen ARM target machine using Linux.  Have xen/arch/arm/Rules.mk
include the .config and include config.h in source files to properly
select ARM processor and machine build time options.  I'ld also recommend
using (a sub set of ) the linux/arch/arm/Makefile as the basis for the
xen/arch/arm/Rules.mk file.  In this way you should have most of the
compiler machine dependent options properly specified and then sources
leveraged from Linux for Xen ARM will select all of the proper ARM
processor and machine specific code.  Unfortunately Xen arch and machine
selection is much more primitive (non-existent even : ) than Linux kbuild
but using the preceding helps to alleviate this issue (especially for
ARM which does not have a common machine architecture as do x86 and other
architectures).  It would be nice to augment Xen ARM processor and
machine selection via some type of `make *config` option similar to
Linux but, as I mention, the preceding should be good enough to get
started...

> 
> This code is now avaible on sourceforge
> http://sourceforge.net/projects/embeddedxen/

I notice that the embeddedxen CVS repo is not setup yet.  Hrm, maybe
that's for the better.  I'ld personally prefer to see a GIT or HG
repo instead...

> The final image is 4.4 ko big with a source code tree of 40 Mo.
> 
> The plan is now to introduce virt functionalities in our code. One
> possibility is to use some of the linux low level functionalities to avoid
> reimplementing them in the xen code. Memory mapping is also a problem we
> will spend time on the next weeks.

It's nice to see you're making some progress getting the Xen ARM community
port moving forward!  Hopefully we can spend some time collaborating on
this...

> 
> 
> Damien

> _______________________________________________
> Xen-arm mailing list
> Xen-arm@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-arm


-- 
Regards,
George

_______________________________________________
Xen-arm mailing list
Xen-arm@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-arm


 


Rackspace

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