[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH] x86/xen: Consider Xen PVH support in CONFIG_XEN_PVHVM


  • To: Teddy Astie <teddy.astie@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Jürgen Groß <jgross@xxxxxxxx>
  • Date: Tue, 24 Feb 2026 14:53:23 +0100
  • Autocrypt: addr=jgross@xxxxxxxx; keydata= xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>
  • Delivery-date: Tue, 24 Feb 2026 13:53:39 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 24.02.26 13:46, Teddy Astie wrote:
Le 24/02/2026 à 12:25, Jürgen Groß a écrit :
On 24.02.26 12:14, Roger Pau Monné wrote:
On Tue, Feb 24, 2026 at 10:51:35AM +0000, Teddy Astie wrote:
It's currently possible to build Linux with CONFIG_PVH|CONFIG_XEN_PVHVM
and no CONFIG_XEN_PVH. That leads to inconsistent kernels that fails
with
"Missing xen PVH initialization" when booting using PVH boot method or
display various errors and fail to initialize Xen PV drivers when
booting
with PVH-GRUB.

      platform_pci_unplug: Xen Platform PCI: unrecognised magic value
      ...
      # modprobe xen-blkfront
      modprobe: ERROR: could not insert 'xen_blkfront': No such device
      # modprobe xen-netfront
      modprobe: ERROR: could not insert 'xen_netfront': No such device

When built without CONFIG_XEN_PVH, PVH-specific logic is disabled,
hence when
booting with e.g PVH-OVMF, Linux assumes we are a HVM guest, even
when we aren't
actually one (in the "with HVM emulated devices" sense).

As it is actually possible to boot Xen PVH without CONFIG_PVH; and
that most
Xen-related logic exist within CONFIG_XEN_PVHVM; consider PVH guests
support
within CONFIG_XEN_PVHVM instead of CONFIG_XEN_PVH.

So the current CONFIG_PVH selection done by CONFIG_XEN_PVH is moot?

No, it isn't.

CONFIG_PVH is the common base needed for Xen and KVM guests to be able to
run in PVH mode.


To me, CONFIG_PVH is more about being able to boot using PVH Direct Boot
than something else.

This is one aspect of it, yes.



Keep CONFIG_XEN_PVH as a shortcut to enable PVH boot, ACPI support
and PVHVM.

Signed-off-by: Teddy Astie <teddy.astie@xxxxxxxxxx>
---
Cc: Juergen Gross <jgross@xxxxxxxx>
Cc: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@xxxxxxxx>

A tentative patch, I'm not sure of the way of dealing with the
KConfig part,
keeping CONFIG_XEN_PVH as a shortcut is interesting, but there may be
other
options.

There are widespreadly used Linux distributions that have a similar
configuration
to this one, thus exhibit this issue i.e fail to boot.

Do you know the underlying cause of not enabling CONFIG_XEN_PVH?  Is
the default set to n on the defconfig?  Or are distros specifically
disabling this option on purpose?

It seems like a step backwards to merge this into some bigger generic
option, we always try to fine-grain as much as possible.

Maybe you could introduce XEN_HVM meta option, that selects both PVHVM
and PVH?
No, please don't use "HVM" for that purpose.

If anything I'd set the CONFIG_XEN_PVH default to that of CONFIG_XEN_PVHVM.


That could work, but that would transitively imply that CONFIG_XEN needs
CONFIG_PVH, which I guess we probably want to avoid.

I don't see that (neither the dependency of CONFIG_XEN on CONFIG_PVH, nor
that it is a problem that CONFIG_XEN_PVH depends on CONFIG_PVH).

As I said, it's not required to boot with "PVH direct boot" for a "PVH
guest personality" to work in Linux since [1].

Please be aware that this was needed back then in order to be able to use
a boot loader for booting as PVH guest.

With the addition of grub-xenpvh (which was more than one year later) the
preferred way to boot a Xen PVH guest was to use that grub flavor, which
is using the PVH specific entry point of the kernel. Even later qemu
was enhanced to boot the kernel via the same entry point when using KVM.
That was the time when the CONFIG_PVH code was carved out from the
CONFIG_XEN_PVH code.

We can eventually consider decoupling CONFIG_XEN_PVH and CONFIG_PVH, but
that would break setup that expects that CONFIG_XEN_PVH implies
CONFIG_PVH (arch/x86/configs/xen.config in particular).

Historically and technically I'd consider the CONFIG_PVH specific parts
as mandatory Xen PVH mode kernel code. Not being able to boot via grub-xenpvh
would be a major regression.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.