From Fedora Project Wiki
(add feaure category)
Line 130: Line 130:
== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]]  <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
<!-- A pretty picture of the page category usage is at: -->

Revision as of 22:49, 25 November 2008

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

Fedora 10 shipped with Xen i686 and x86_64 DomU support enabled in the stock kernel - i.e. there is no more kernel-xen. Tracker bug for Fedora 10 Xen kernel work : [1]

i386 Dom0

x86_64 Dom0

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)

How To Test

  • 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

Comments and Discussion