Contents
Contributing
The mailing list xen-ppc-devel@lists.xensource.com does not exist anymore. Please see the archives: http://lists.xensource.com/archives/html/xen-ppc-devel/
Status update 2010
Xen PPC development has been stopped and sourcecode has been removed from Xen 3.3 and newer versions. Xen 3.2 is the latest version to include Xen PPC support. New developers are welcome to continue the development of Xen on PPC!
Some links about Xen PPC discussion from 2009: http://lists.xensource.com/archives/html/xen-devel/2009-12/msg00769.html , http://lists.xensource.com/archives/html/xen-devel/2009-12/msg00774.html , http://lists.xensource.com/archives/html/xen-devel/2009-03/msg01797.html , http://lists.xensource.com/archives/html/xen-devel/2007-02/msg00815.html .
Xen PPC port removed from Xen source repository on May 2008: http://lists.xensource.com/archives/html/xen-ppc-devel/2008-05/msg00000.html .
See Xen ARM project for another actively developed Xen project on RISC CPU.
Current Status
Xen PPC supports the 970 class of processor, specific platforms we test/run on are:
- Maple PPC970 evaluation board
- IBM JS20 and JS21 blades with custom firmware.
We are exclusively using the standard Xen Domain Managment Tools for DomU creation and console. There is a xm checklist page that tracks which xm commands work. The /domctrl tool is useful for debugging still and we hope to integrate those debugging features into the stadard Xen XM tools.
Major feature list:
dom0 boot with console |
yes |
domU boot with console |
yes |
standard management tools |
yes |
virtual disk |
yes |
virtual network |
yes |
SMP Hypervisor |
yes |
SMP guest |
yes |
guest save/restore |
close |
memory ballooning |
no |
live migration |
no |
Operating System Support
Xen requires paravirtualization (operating system modifications) for performance. Other operating systems could certainly be ported to the Xen hypervisor interface, but currently we are only supporting Linux for PowerPC Xen.
Bug Tracking
We are using the main Xen bugzilla bugtracking system: all PowerPC bugs. Please create an account so that bugs may be assigned to you.
How To Get, Build and Run XenPPC
Our code has been merged upstream into xen-unstable.hg and linux-2.6.18-xen.hg. However, there will always be work in the PowerPC-specific tree that hasn't been merged, so most users should stick with the Mercurial trees listed here:
Xen tree: http://xenbits.xensource.com/ext/ppc/xen-unstable.hg
Linux tree: http://xenbits.xensource.com/ext/ppc/linux-2.6.18-xen.hg
More details on how to obtain the source, build and run are found:
PowerPC To-Do List
priority |
completion |
description |
hacker |
high |
75% |
PowerPC GRUB: multiboot (module loading) |
|
high |
50% |
validate libvirt, virt-install, virt-manager |
|
med |
80% ? |
Determine which xm-tests represent real failures of the XenPPC port |
|
med |
|
stop sharing MPIC between Xen and dom0 |
|
med |
|
support RTAS in dom0: needed for RTC, NVRAM, firmware upgrade |
|
low |
|
dynamic grant tables |
|
low |
|
report proper node/socket/core topology |
|
low |
|
domU debugging with tools/debugger/gdb. Everything except breakpoints should be doable. |
|
low |
|
pass Flattened Device Tree to dom0 (obviating xen/arch/powerpc/of_handler) |
|
low |
|
PowerPC GRUB: PIBS support |
|
low |
70% |
validate and document using 970 Full System Simulator |
|
low |
50% |
support non-hypervisor mode 970 (Apple G5) |
|
low |
|
sniff-test open source CIM provider |
|
low |
50% |
hcall tracing with dom0_tbufcontrol_t (debugging) |
|
low |
|
get Linux Maple/LPAR patch upstream -- requires Xen acceptance in upstream Linux |
|
low |
|
stepping in GDB is unreasonably slow (debugging) |
|
nice-to-have |
|
PAPR emulation layer — console, IRQ delivery, more? |
|
nice-to-have |
|
implement xm mem and xm reg (like the tools/domctrl commands of the same name) |
|
nice-to-have |
|
driver domains (utilizing IOMMU). need to wait for x86/Calgary support first. not supported on 970 DART. |
|
optimization |
|
don't context switch to idle unless all other domains are blocked |
|
optimization |
|
don't save non-volatiles unless necessary |
Completed
high |
Jan 2007 |
PowerPC GRUB: SLOF support |
|
med |
Fed 2007 |
make Linux modules work with xencomm |
|
med |
Jan 2007 |
upstream integration: build device tree in xc_linux_build instead of Python |
|
high |
Jan 2007 |
support guest SMP |
|
high |
done |
Linux: xen console driver in domU |
|
high |
done |
Linux/Xen: Xen hcalls |
|
high |
done |
Linux: Xen console driver |
|
high |
done |
Xen: external interrupt queuing, using the Xen Event Channels |
|
high |
done |
xencomm: pass userspace pointers to Xen (necessary for domU creation) |
|
high |
done |
Xen: Debug HDEC and context switching code |
|
high |
done |
add xen guest console support to udbg and OF code |
|
high |
Dec 2006 |
virtual block IO |
|
high |
Dec 2006 |
virtual network IO |
|
high |
Sep 2006 |
support more than RealModeArea memory |
|
high |
Aug 2006 |
use the Flattened Device Tree in xend for domU loading (replacing the domU Open Firmware client interface) |
|
high |
Jul 2006 |
send arch-generic patch to xen-devel |
|
high |
Jun 2006 |
JS21: Support for SLOF |
|
high |
Jun 2006 |
support domU with Xen event channel delivery -- blocking VIO support |
|
high |
Mar 2006 |
custom domU creation app -- VIO setup not done pending future VIO direction |
|
med |
Feb 2007 |
upstream integration: split start_info into device tree properties. see mail |
|
med |
Mar 2007 |
replace physical-to-machine translation linked list with an appropriate data structure |
|
med |
Dec 2006 |
support hypervisor SMP |
|
med |
Oct 2006 |
integrate with xm-test; run regression tests, starting with "does dom0 boot?" |
|
med |
Aug 2006 |
allocate machine-contiguous "real mode areas" for each domain, Xen heap just handles it. |
|
med |
Aug 2006 |
Deal with holes in memory |
|
med |
Jul 2006 |
integrate with libxc-based management stack -- requires some build changes at least, and solving 32/64-bit tools mismatch |
|
med |
Jul 2006 |
get code merged into xen-unstable |
|
med |
Jun 2006 |
JS20: validate Xen on top of SLOF firmware |
|
med |
May 2006 |
JS20: architect H_TAKEOVER hcall (We expect Firmware to use this no Xen) |
|
med |
Jun 2006 |
solve 32/64-bit tools mismatch: GUEST_HANDLE; hcall API needs typedefs |
|
med |
done |
drive Xen-supporting systemsim release |
|
med |
Feb 2006 |
reimplement xencomm (using scatter/gather lists) |
|
med |
Mar 2006 |
build Open Firmware client interface standalone |
|
low |
Sep 2006 |
make more xm commands work (top, max-mem, etc) |
|
low |
Jun 2006 |
various build and Makefile fixes (e.g. grant_table.c) |
|
low |
Mar 2006 |
port and submit GDB architecture -- Isaku Yamahata < yamahata@valinux.co.jp > did this; HollisBlanchard fixed it up and ported PPC to the new interface |
|
low |
Feb 2006 |
fail loudly when passed a non-xencomm pointer (debugging) |
|
nice-to-have |
Sep 2006 |
when GDB is attached, make printks go through GDB console packets (debugging) |
Links
