<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
<topic xml:lang="en-us" id="gimproviders">
  <title><?oxy_comment_start author="Mhari Duncan" timestamp="20250115T154106+0000" comment="Put this in context of configuring a VM"?>Paravirtualization Providers<?oxy_comment_end?></title>
  
  <body>
    <p>
      <ph conkeyref="vbox-conkeyref-phrases/product-name"/> enables the exposure of a paravirtualization
      interface, to facilitate accurate and efficient execution of
      software within a virtual machine. These interfaces require the
      guest operating system to recognize their presence and make use of
      them in order to leverage the benefits of communicating with the
      <ph conkeyref="vbox-conkeyref-phrases/product-name"/> hypervisor.
    </p>
    <p>
      Most modern, mainstream guest operating systems, including Windows
      and Linux, ship with support for one or more paravirtualization
      interfaces. Hence, there is typically no need to install
      additional software in the guest to take advantage of this
      feature.
    </p>
    <p>
      Exposing a paravirtualization provider to the guest operating
      system does not rely on the choice of host platforms. For example,
      the <i>Hyper-V</i> paravirtualization provider can
      be used for VMs to run on any host platform supported by
      <ph conkeyref="vbox-conkeyref-phrases/product-name"/> and not just Windows.
    </p>
    <p>
      <ph conkeyref="vbox-conkeyref-phrases/product-name"/> provides the following interfaces:
    </p>
    <ul>
      <li>
        <p><b outputclass="bold">Minimal</b>: Announces the
          presence of a virtualized environment. Additionally, reports
          the TSC and APIC frequency to the guest operating system. This
          provider is mandatory for running any Mac OS X guests.
        </p>
      </li>
      <li>
        <p><b outputclass="bold">KVM</b>: Presents a Linux KVM
          hypervisor interface which is recognized by Linux kernels
          version 2.6.25 or later. <ph conkeyref="vbox-conkeyref-phrases/product-name"/>'s implementation
          currently supports paravirtualized clocks and SMP spinlocks.
          This provider is recommended for Linux guests.
        </p>
      </li>
      <li>
        <p><b outputclass="bold">Hyper-V</b>: Presents a Microsoft
          Hyper-V hypervisor interface which is recognized by Windows 7
          and newer operating systems. <ph conkeyref="vbox-conkeyref-phrases/product-name"/>'s implementation
          currently supports paravirtualized clocks, APIC frequency
          reporting, guest debugging, guest crash reporting and relaxed
          timer checks. This provider is recommended for Windows guests.
        </p>
      </li>
    </ul>
  </body>
  
</topic>
