|
|
|
|
|
|
|
|
|
|
xen-arm
[XenARM] Yet Another Xen ARM Port
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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [XenARM] Yet Another Xen ARM Port,
George G. Davis <=
|
|
|
|
|