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

[XenARM] Yet Another Xen ARM Port


  • To: xen-arm@xxxxxxxxxxxxxxxxxxx
  • From: "George G. Davis" <gdavis@xxxxxxxxxx>
  • Date: Mon, 29 Oct 2007 21:47:58 -0400
  • Delivery-date: Mon, 29 Oct 2007 18:48:30 -0700
  • List-id: Xen ARM development <xen-arm.lists.xensource.com>

Greetings,

MontaVista is pleased to collaborate with the Xen ARM community on the
ongoing Xen ARM porting efforts and presents the following very early
work-in-progress Xen ARM port with preliminary support for the ARM, Ltd.
RealView® Versatile Platform Baseboard for ARM926EJ-S as emulated under
QEMU:

        
ftp://source.mvista.com/pub/xen/xen-unstable-15521-xen_arm_port-20071029.patch.gz


The above patch is based on xen-unstable HG changeset 15521 and provides
very early work-in-progress support for the ARM Versatile/PB926EJ-S as
emulated under QEMU.  Thus far, the following features are tentatively
integrated and working in some fashion:

        Low-level serial console debug
        Initial MMU setup hardwired for Xen Start-of-day
        ARM exception handlers
        ARM Interrupts
        ARM Timer Interrupts
        Xen scheduler
        Xen Idle Domain (using Wait-For-Interrupt low-power idle state)
        Mini-OS builds for ARM
        Common Hypercalls
        Memory Allocation
        Pseudo-Physical Memory


To apply the patch, build and run Xen on the ARM Versatile/PB926EJ-S
under QEMU, do the following:

- Checkout xen-unstable HG repository:

        hg clone http://xenbits.xensource.com/xen-unstable.hg

  Please refer to [1] for help with obtaining and using Mercurial (HG).

- Apply Xen ARM patch:

        cd xen-unstable-arm.hg
        hg checkout 15521
        wget 
ftp://source.mvista.com/pub/xen/xen-unstable-15521-xen_arm_port-20071029.patch.gz
        zcat xen-unstable-15521-xen_arm_port-20071029.patch.gz | patch -p1
  
- Build Xen:

        make XEN_TARGET_ARCH=arm CROSS_COMPILE=${CROSS_COMPILE} xen

- Build Mini-Os:

        cd extras/mini-os
        make XEN_TARGET_ARCH=arm CROSS_COMPILE=${CROSS_COMPILE}

- Boot Xen on the ARM Versatile/PB926EJ-S using QEMU:

        qemu-system-arm -M versatilepb -m 64    \
                -kernel xen_minios.bin -serial stdio

  Please refer to [2] for help with obtaining and using QEMU.


The following is a wish list of Xen ARM features and/or other tasks
to be completed in no particular order:

        Cleanup build FIXME and other warnings
        Convert ARM bootloader initialisation parameters [3] to XEN MBI
        Implement proper Xen ARM dynamic MMU setup at Start-of-day
        Add `make *config` support similar to Linux
        Add Xen ARM AMBA serial driver
        Add Xen ARM AMBA framebuffer driver
        Port to other ARM processors and machines
        Implement Page Table Updates
        Implement guest Exception handling
        Implement guest Interrupts and events
        Determine how to share cycle counter for guest time keeping
        Privileged operations
        Segment Descriptor Tables
        Domain0 (Mini-OS) bring up
        Implement Xen/guest page sharing support
        Implement Event Channels
        Implement Grant Tables support
        Port ARM Linux kernel to Xen
        - Preferably using para virt ops
        - Xenstore
        - Front End/Back End drivers
        Setup Xen ARM HG or GIT community repository
        Merge with HEIG-VD and other Xen ARM community ports


List of contributors:

        Jean Pihet <jpihet@xxxxxxxxxx>
        George G. Davis <gdavis@xxxxxxxxxx>


This code is made available with "no warranty whatsoever".  Use it
at your own risk.

Comments, feedback and/or contributions are welcome but please keep
discussions on the xen-arm mailing list.

References:

[1] http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/hg-cheatsheet.txt
[2] http://fabrice.bellard.free.fr/qemu/
[3] http://www.arm.linux.org.uk/developer/booting.php

-- 
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®.