From Fedora Project Wiki

< Features

Revision as of 16:20, 30 July 2008 by Markmc (talk | contribs) (Note on Dom0 not being ready)

Feature Name


Dom0 support for pvops-based kernel-xen .


  • Name: EduardoHabkost, MarkMcLoughlin

Others involved: Stephen Tweedie, Chris Wright, Juan Quintela, Markus Armbruster, Glauber Costa, DanielBerrange, ...

Current status

  • Targeted release: Unknown

Work on getting Dom0 support in the upstream kernel has pretty much stalled for the last number of months so this feature is postponed until work upstream restarts.

Fedora 10 will ship with Xen i686 and x86_64 DomU support enabled in the stock kernel - i.e. there is no more kernel-xen.

  • Last updated: 2008-07-30
  • Percentage of completion: 30%

Tracker bug for Fedora 10 Xen kernel work : [1]

i386 Dom0

x86_64 Dom0

  • No active work yet....

Detailed Description

See Features/XenPvops for a rationale. This feature just continues to paravirt_ops Xen effort to bring it back to feature parity with Fedora 8 Xen.


Work items:

  • Clean up and finish Dom0 boot patches (StephenTweedie, JuanQuintela, MarkMcLoughlin)
    • Backend drivers blkback/blktap and netback requiring: (StephenTweedie, JuanQuintela, MarkMcLoughlin)
    • Some ballooning bits
    • Foreign pages (i.e. PAGE_FOREIGN and VM_FOREIGN)
    • zap_pte()
    • Grant table ops
    • Save / restore
    • Memory ballooning
  • x86_64: (DONE)
    • Latest x86.git has useful patches on paravirt_ops pagetable handling
    • ia32 emulation support
    • SMP support
    • Debug other problems that may appear
    • Cleanup of code for inclusion upstream
    • Some code need to be changed to be enabled at runtime if running under xen, instead of being enabled at compile time (pvops infra-structure may need to be extended to make it possible, on some cases)

Merged kernel: (DONE)

  • Merge kernel-xen into 'kernel' RPM (MarkMcLoughlin)
  • Make bzImage bootable so the same kernel can boot on Xen and bare-metal
    • Patches for DomU bzImage boot are in xen-unstable and x86.git
    • Adding Dom0 bzImage boot to the HV is a bit harder
  • Remove images/xen/{initrd,vmlinux} from install trees (JeremyKatz ?)
  • Make 'new-kernel-pkg' aware of HYPERVISOR setting in /etc/sysconfig/xen (DanielBerrange)
  • Make virt-install use images/pxeboot/{initrd,vmlinux} for DomU installs (DanielBerrange)
  • Make 'xen' SRPM build a xen-hypervisor containing the HV (DanielBerrange)

Nice to have:

  • CPU hotplug
  • Migration support
  • 32-on-64 support (both DomU and Dom0)
  • LiveCD with pvops enabled kernel as DomU ?
  • Kexec on pvops dom0

Unlikely to get: (ie feature regressions)

  • PCI device passthrough to DomU

Finished items:

  • x86_64 support upstream (see above)
  • Merged kernel (see above)
  • First-cut of Dom0 boot (StephenTweedie, JuanQuintela, MarkMcLoughlin)
  • ACPI
  • ioremap
  • IRQ routing
  • DMA/contiguous pages
  • MTRR
  • privcmd interface, other /proc/xen bits, /sys/hypervisor, /dev/evtchn (MarkMcLoughlin)

Test Plan

  • Install a Fedora 10 host/Dom0 system
  • Turn on Xen Hypervisor by setting 'HYPERVISOR=/boot/xen-3.2.gz' in /etc/sysconfig/kernel and running some tool (TBD)
  • Turn on Xen Userspace by running 'chkconfig xend on'
  • Reboot
  • Observe presence of Xen via /sys/hypervisor/
  • Run 'xm list' and observe Domain-0
  • Use virt-install to deploy a Fedora 9/10 paravirt guest
  • Use virt-install to deploy a Fedora 8 paravirt guest
  • Use virt-install to deploy a Fedora 8 fullyvirt guest
  • Use 'virsh' to save & restore a PV guest and HVM guest
  • Balloon down memory of a guest with virsh.

User Experience

  • Xen-ified kernel has same version as bare metal kernel
  • All kernel updates support Xen
  • All hardware that works in baremetal works in Xen Dom0
  • No separate kernel RPM required for Xen DomU or Dom0
  • Can enable/disable use of HV via a /etc/sysconfig setting


  • Update to anaconda to not build a 'images/xen/' directory anymore
  • Update to 'new-kernel-pkg' to know how to install HV

Contingency Plan

If Dom0 support is still not ready for Fedora 10 GA, the options are:

  • Continue to ship with only DomU support
  • Drop Xen support altogether


Release Notes