windows + (PV | HVM | PVHVM | PVHv1 | PVHv2) , a little mess

  • Hello everyone,
    After googling aboit it to refresh concepts, I've ended up confused, coul anybody correct me?

    In short:
    PV : The best to emulate when no hw assisted exists (really old proccesors). Need kernel modification, no problem for linux.
    HVM: When HW help virtualization, present in nowadays proccessors. No Need kernel modification and allow SO act over real HW
    PVHVM: The best of both worlds, PV improves it's performance helped by HW assistance
    PVH: This concept is new for me, and accordding to this post of Oliver, there 2 versions, v1 and v2.
    After read the post, the conclusion for xcp-ng is that when I see a VM working in PV mode , it's indeed PVHv1 and when I see HVM we are really talking about PVHv2. Am I wrong? pv, hvm and pvhvm are no longer in use under xcp-ng, right?

    An finally, must Windows VM work in HVM or PV?, Because I undertand that HVM is the best way, but citrix tools refers as PV drivers, not HVM drivers.

    P.S. I moved the most of my VMs to HVM when specter and meltdown vulnerabilities.

    As always, thanks in advance for your time.

  • XCP-ng Team


    1. PVHVM is any HVM guest with PV tools (all Linux, or Windows with PV drivers). PVHVM isn't perfect because there's still some emulation at some places
    2. PVHv2 isn't really production ready (in fact, somehow but not at a satisfactory level) and it's not integrated at all in XCP-ng. So it's just not there for you.
    3. PV drivers means you are "closer" to PV in the way you are removing emulation layers that are by default present in HVM. PV drivers means "PV emulated device drivers" NOT "drivers for PV guests".

  • So, if I've undertood you well, the mode to get the best performance is HVM, which gets PVHVM under Linux VM when tools/management agent is installed (the drivers are currently in the kernel) and gets PVHVM after install PV drivers and management agent on Windows OS. Rigth?

  • XCP-ng Team

    In XCP-ng right now, PVHVM is the best mode for all OS, yes. But it's not really a "mode". It's HVM plus PV drivers inside it.

    In fact, there's only PV or HVM.

    PVHVM could be translated as "HVM mode" and PV drivers working inside the guest (guest = VM).

    PV is removed progressively. Finally, PVHv2 will probably land one day, but not before some releases.

  • Could I suggest to update with your answer as the current state-of-the-art?
    Do you want me to post my question to get your answer? It's clear for me now.

    Another solved post


  • XCP-ng Team

    I don't see what's different there?

  • Well, for me was not clear untill your current answer. As you can see, my conclussions were wrong, but that was just a suggestion.

XCP-ng Pro Support

XCP-ng Pro Support