HEADS UP: merged PVHv2 support and future plans

Roger Pau Monné royger at FreeBSD.org
Thu Jul 19 09:04:57 UTC 2018


Today I've merged PVHv2 support into FreeBSD, allowing FreeBSD to be
used as a PVHv2 DomU and Dom0. While it's not a huge set of changes,
I would *really* appreciate if people could test the code starting
from r336474 (or any later changeset).

I expect there's going to be some confusion with PVHv1 vs PVHv2, so I
will try to clarify this now. PVHv1 was introduced ~4 years ago, and
at the time it seemed like a good way to move forward, allowing Xen to
rely more on hardware virtualization. Later on, we sadly discovered
that PVHv1 was still too similar to classic PV, and didn't allow Xen
to make use of all the possible hardware virtualization extensions, so
PVHv2 was introduced ~2 years ago as a replacement for PVHv1. PVHv2
ABI however is not compatible with PVHv1, which means that different
entry points and interfaces must be used to interact with the

After introducing PVHv2 PVHv1 was deprecated and PVHv1 has been
removed from the hypervisor in recent versions, that's why the Xen
ports package is still stuck with Xen 4.7, because later versions
removed PVHv1 support. With the addition of PVHv2 to FreeBSD the port
can be updated to newer Xen versions and we can move forward.

There will be issues however, as newer versions of Xen won't have
support for PVHv1. My plan is the following in order to try to make
this less painful for users:

 - Wait until FreeBSD 12 is released, which will contain PVHv1 and
   PVHv2 support.
 - Once FreeBSD 12 has been released, update the Xen port to the
   latest version.
 - Send an email to freebsd-xen notifying users of the bump in the
 - Users running FreeBSD < 12 must stick with the old Xen 4.7
 - Users running FreeBSD >= 12 must use the new Xen package.

I know this is not ideal, because users wanting to update Xen will
also need to update to FreeBSD 12, but I cannot think of any better
way to deal with this.

Lastly, the Xen CI test system (osstest) has recently gained support
for testing FreeBSD, which should make catching FreeBSD/Xen related
issues easier. This is an example of an initial FreeBSD test flight:



More information about the freebsd-xen mailing list