]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Add hvf domain type
authorRoman Bolshakov <r.bolshakov@yadro.com>
Thu, 18 Oct 2018 22:14:01 +0000 (01:14 +0300)
committerAndrea Bolognani <abologna@redhat.com>
Tue, 25 Jan 2022 15:53:39 +0000 (16:53 +0100)
QEMU supports Hypervisor.framework since 2.12 as hvf accel.
Hypervisor.framework provides a lightweight interface to run a virtual
cpu on macOS without the need to install third-party kernel
extensions (KEXTs).

It's supported since macOS 10.10 on machines with Intel VT-x feature
set that includes Extended Page Tables (EPT) and Unrestricted Mode.

Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Tested-by: Brad Laue <brad@brad-x.com>
Tested-by: Christophe Fergeau <cfergeau@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
docs/formatdomain.rst
docs/schemas/domaincommon.rng
src/conf/domain_conf.c
src/conf/domain_conf.h
src/qemu/qemu_command.c

index acd902083042a28bcdc1220a367df38a1ce2f9e4..477e775229132071f55d8ad35d84756b2bd4dba4 100644 (file)
@@ -20,7 +20,8 @@ Element and attribute overview
 
 The root element required for all virtual machines is named ``domain``. It has
 two attributes, the ``type`` specifies the hypervisor used for running the
-domain. The allowed values are driver specific, but include "xen", "kvm", "qemu"
+domain. The allowed values are driver specific, but include "xen", "kvm",
+"hvf" (:since:`since 8.0.0 and QEMU 2.12`), "qemu"
 and "lxc". The second attribute is ``id`` which is a unique integer identifier
 for the running guest machine. Inactive machines have no id value.
 
index 169b8d8deebfc69bd8ef1fb78dff7e8ace3a91cc..64a797de46ecafb21f936b05b7ac39e56741047a 100644 (file)
         <value>phyp</value> <!-- NOT USED ANYMORE -->
         <value>vz</value>
         <value>bhyve</value>
+        <value>hvf</value>
       </choice>
     </attribute>
   </define>
index b39136119f65aff5edfcea285b20c527759c9028..f5b15cff33c41b1747049cd971f8302b4710b57e 100644 (file)
@@ -125,6 +125,7 @@ VIR_ENUM_IMPL(virDomainVirt,
               "parallels",
               "bhyve",
               "vz",
+              "hvf",
 );
 
 VIR_ENUM_IMPL(virDomainOS,
index 383eb1e6b845b0382eab27800111ead892371b56..d7352b60e637bcbb13a9953fc2600b3af280379d 100644 (file)
@@ -139,6 +139,7 @@ typedef enum {
     VIR_DOMAIN_VIRT_PARALLELS,
     VIR_DOMAIN_VIRT_BHYVE,
     VIR_DOMAIN_VIRT_VZ,
+    VIR_DOMAIN_VIRT_HVF,
 
     VIR_DOMAIN_VIRT_LAST
 } virDomainVirtType;
index 52ea148a0fbeaafa65dd0a6a9afbce4604586215..2a1fe272976fa1169838064e029d0fc1f9c80571 100644 (file)
@@ -7216,6 +7216,10 @@ qemuBuildAccelCommandLine(virCommand *cmd,
         }
         break;
 
+    case VIR_DOMAIN_VIRT_HVF:
+        virBufferAddLit(&buf, "hvf");
+        break;
+
     case VIR_DOMAIN_VIRT_KQEMU:
     case VIR_DOMAIN_VIRT_XEN:
     case VIR_DOMAIN_VIRT_LXC: