From nobody Sun Feb 8 21:33:33 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 151579245412470.81308421415872; Fri, 12 Jan 2018 13:27:34 -0800 (PST) Received: from localhost ([::1]:39992 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ea6rG-0000uG-A1 for importer@patchew.org; Fri, 12 Jan 2018 16:27:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50311) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ea5qx-00034S-CA for qemu-devel@nongnu.org; Fri, 12 Jan 2018 15:23:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ea5qv-0001jW-S6 for qemu-devel@nongnu.org; Fri, 12 Jan 2018 15:23:03 -0500 Received: from mail-dm3nam03on0726.outbound.protection.outlook.com ([2a01:111:f400:fe49::726]:3340 helo=NAM03-DM3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ea5qv-0001gV-LP for qemu-devel@nongnu.org; Fri, 12 Jan 2018 15:23:01 -0500 Received: from JUTERRY-DEV2.corp.microsoft.com (2001:4898:80e8:f::4b) by SN4PR2101MB0879.namprd21.prod.outlook.com (2603:10b6:803:51::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.428.4; Fri, 12 Jan 2018 20:22:58 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=WAwHRoAoM7cg95y2B3/We043HO/z7UxmqXCnSKrAHtE=; b=UEbqo4qyhyv/asKYDOtkQkTpHHj15b8trENky0P7s4wJCd+dcl2atGg3Wn5ybjZDuiaQ4HVdV8zTz5JVrgXzomG2RSmYeSRIjM8sLDcxSaqg6Tpj2EyU/QIu2PWd27j7u0MNQr37U8mUtEd+HfArkwW4PoraUzyI+5h7UguS3VU= To: qemu-devel@nongnu.org Date: Fri, 12 Jan 2018 12:22:25 -0800 Message-Id: <1515788548-3570-2-git-send-email-juterry@microsoft.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1515788548-3570-1-git-send-email-juterry@microsoft.com> References: <1515788548-3570-1-git-send-email-juterry@microsoft.com> MIME-Version: 1.0 X-Originating-IP: [2001:4898:80e8:f::4b] X-ClientProxiedBy: DM5PR1401CA0003.namprd14.prod.outlook.com (2603:10b6:4:4a::13) To SN4PR2101MB0879.namprd21.prod.outlook.com (2603:10b6:803:51::32) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: aec59edf-25e2-4134-61b2-08d559fa45b5 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020086)(4652020)(5600026)(4604075)(4534117)(4602075)(4627213)(201703031133081)(201702281549075)(48565401081)(2017052603307)(7193020); SRVR:SN4PR2101MB0879; X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0879; 3:WsYO1Yh/FdWbATovCr0OrGLuAWosD6qtepQVH4zbUPbBY0QJ7+GKMegWbzOo+8+GPXBh3dGHdeZY5jHyK3rTAkrm192iNSIblsJ4Mv3JWAJUwBazT4BTBDn/oNC7E7b5DOT/GN+1YEYxRvfC8Qxq+JzAPq9AKG5x5L+debLYBe3WBaRnbAYdE0ZFUp8wyXVdBPofTUValB2hUJBsKkWy3pm4+gdkf4chW61yUOspUoXI/QZA8McDQr5Kms/0ahvU; 25:N/yooaLBYaQ+F/NQ9eNmTwcHQRVHHNkCQdUwFSTsyxi0J6l9Ij1EVBCBqvVby6avlpWLGl62eEXkbHHll44QoQ5E7oDv9vM2cHrVfk9X5cQKvyRX47XTOwjgwqCHWvcT2PhA8eZVcdHYdEWn1pte9/n92D0jmgI729a3NQj1+BoGpitnW9xcs+0bQLzzNxR+3hB154MrHkn2aFszOZYu1Lb/SJ9zx/GHz6L8MrDSrIoY4PqCQYCrRItrzJ/OfTLBmaZtYQA2Ql12gqkadwuseilYT7WEzJbPbzs0fkMZM4my8JWeSorvSp4xxHz/XUZkZFws4WL8BIe3vuQdSqnjhA==; 31:ukVQOsKNoJZqtcqFEwzGwWK3OFskJqHd5OeoB04jDky0Ftp5s4ZpXeWw3qKGnG7/tEu6qWllEDlYSG9ByDQ7cwvw9Ix8Knwwu0dO5Tv33frMlrgJQk4kvn4rxjk8faW1vV3JgQmPtjPqedzMhxgMxig6Naj6VJa/lP3PMhlbfB2S0rRNb2LCrfYLYoeBZ+36SVrmtdp1hFVBBH8c0/9yV8xvazYq3tYQXEXoCVPJNkU= X-MS-TrafficTypeDiagnostic: SN4PR2101MB0879: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=juterry@microsoft.com; X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0879; 20:FY7uVCbtShM2Ws4CzVv95dKDQUbALrA4v1dpvitG7hZ3xqyGtR+9Hf0PBS2cgHm3TRAC64epybxFbX+k9hlVMdhjfZunv5nb5QbwAWIKyOCM8mYj8/SzGCsGCqT42jkiJV8G+flvE5O/Gho8BcxsW9X+DLT3rerhX0lYHe8WNR/ztu0X63XMEIpQEaD4DNrzXb/4yOwRipU4RteNlxXJX1Fp0JAOQMbWh0vIxCjkU8dPU9U+OAbyijT6JZW05Y38Koz4cL76kbN4t2+9CFpj1ONsJM1IQZEanmJ0Brhn2hVgGyI+kHhhWLMnqb6sVT62zqJmGgLjFWlFuDXb10lN/s9bEKl38GcrJNcTCyOuEnHJY4phLJ4HE4UQY8JPOXy9qffamrGg8uJ0K98vZBcL7MM9es8uHew2QpusYy0i3kwUbtQfOKkKXSQdw7ej1Ng1edZ2/97ZVd+QA7fcmGmgmptQUr9l06trYM4qPyWHHHHRFlOwy/7Wmpe9XTuTGJo2; 4:GU8Zp9K4sqp3vJiLBqsmndS8H4DE1UL1za5y2QgQ5Vvx4gMkle735JJdPrdDqzGcphkovgu888MY5STPWId/1rgpdEusgX9nveQrCmN/Z5voyswFxoSc2PsTPXmdMqkCcyxF5s6/N6tn2+I9hi7L9t7+FyubEO/YLE04tx3zIXMK8WEFFmtUG1BtV5Rmh/taZ9ZZdmO0YdkTH4atqsQYTq3JJxmKKYxprRg5iFKH7SmgY5hulkU96CST9lY0ciQjwJHn2ZMhDvOg9Wsrze9I2cLwWXSymhGgePpFLbt8lx2lwU66KxERaFu5nOmWtK+mM0lf1jH8fFKZTNkRwrqnZaooTmmvltt494H+6p98V2M= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(28532068793085)(89211679590171); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(61425038)(6040470)(2401047)(5005006)(8121501046)(3002001)(93006095)(93001095)(10201501046)(3231023)(944501147)(6055026)(61426038)(61427038)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123562045)(20161123558120)(20161123560045)(6072148)(201708071742011); SRVR:SN4PR2101MB0879; BCL:0; PCL:0; RULEID:(100000803126)(100110400120); SRVR:SN4PR2101MB0879; X-Forefront-PRVS: 0550778858 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(396003)(39380400002)(39860400002)(366004)(346002)(376002)(199004)(189003)(39060400002)(106356001)(6116002)(316002)(105586002)(22452003)(2351001)(97736004)(25786009)(16586007)(86362001)(5660300001)(53936002)(6916009)(2361001)(6486002)(2950100002)(6666003)(86612001)(51416003)(7696005)(52116002)(52396003)(10290500003)(50466002)(478600001)(305945005)(10090500001)(48376002)(47776003)(386003)(68736007)(81166006)(8676002)(107886003)(81156014)(59450400001)(2906002)(4326008)(8936002)(50226002)(7736002)(36756003)(76176011); DIR:OUT; SFP:1102; SCL:1; SRVR:SN4PR2101MB0879; H:JUTERRY-DEV2.corp.microsoft.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN4PR2101MB0879; 23:m9OgzZNu+h12hgI+uuputUa3JKrbRq/E23J7nGy?= =?us-ascii?Q?+ZvZRo5cL+osHjRHA8OmWsie6UQwnH8GLD1hsLMi8PmIQl2AQBGba2Seh89E?= =?us-ascii?Q?unYUzTzi8RsuyjNo/yFmdJE6OU24jKWf2Wz3fDPSYYI5s7BkyaTDiSR+8vNt?= =?us-ascii?Q?9jmUlXozqxWf0jQzlwMHLI5xXMuzGe1Jr20ved8MXA+uTIeCQBoXIJRuSeyB?= =?us-ascii?Q?nUtOr3il2l4sdzElIz5Bxsttu81A1yec10HKT5QuGm/jGeHkMU0FO8FQqbmA?= =?us-ascii?Q?EjSY1Ke1KpdztFad+bfVj2TXHVTbuzreKqMZPlzojiextwoirpGiv1oYdhXW?= =?us-ascii?Q?VF2q9wkVF41ld9mtIaTLDKJxiPlKrMmWBKVdvt/H8LCt5vevnUXY096+nHZZ?= =?us-ascii?Q?wZpchrrtx89fjMCu6HNIlXrWRQXnEoMvwTjvTI20TSbLXppq6KOdIZQK/NpI?= =?us-ascii?Q?gxwrJZH1jkAi1KQWNJ7KnqV5siOC84NHKhAi0tFtctMg7vnfoLtqMdueZPe5?= =?us-ascii?Q?5sxbAJG6/Gshur/ixO3Ie8mRGIoN7abMfYaa4OA+41yX+US8kQ8EwW4AClt+?= =?us-ascii?Q?3NO9IjU+cqATd84xV1AiYQYWEl9JuyJmC0HPQMAqjx1PQLrQ1ly4s62t+JYs?= =?us-ascii?Q?9Du0XX0+zcXcdf7Oefl3LCLt85Fj5HbPCYwDHYHiMKH6IjDs6ie0C1T9BIHF?= =?us-ascii?Q?qFS5enXFY892MQZg8F+Oj+i3XNUa6VgKy4auNuYKI0yOXojHDlBRCsD30wgO?= =?us-ascii?Q?OsnwP//Lg36glgoFxlFKOUnYqCGT7FUXF7kjfuCdMOK2FCpE4LvNqf9vQAxY?= =?us-ascii?Q?hGh0r/yKy0u0AYvLDIdG/b3Ff6KmvXqhAZ22Lj36noT09w+lmvqIHxYyYnr5?= =?us-ascii?Q?SgnCWc1Y9tsKlhQJuOgChfIuwul7TAI4xEzeR8aB5/Ai85uy40MkBvDK6W5V?= =?us-ascii?Q?j4tN/V3DTWJ8Bt/uQL6F4IGyIUz/kGT+tHJ44N83OLlPcKIGOMehxTp0wlZ6?= =?us-ascii?Q?Od2u/NFLJ7FG1bZThniOfUviVnawlCTnEkhiswoh6sueSqShGT95owzu6jFU?= =?us-ascii?Q?dirI0BDC5sVrEPEjivIrpiIx973i3tpr1nY4pKuhzVOK7Wt5pPXlp+vPdQCj?= =?us-ascii?Q?PyUrtH6pCxBswIzqQy52py4Da0DNmHa+tU1noIZ9USmIMMvHLlZZQqgHZSf5?= =?us-ascii?Q?7i3HGvNjldbdZcTI5K1pXbdv6Bhfi0Z154ugxK4ahwYCuctY3vPkTsE/Phg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0879; 6:3IUasdVGvwcN5d7C43NFCWTQklyydKbcNY+qc/ehY6w85q95qA7Jvv0pzjbMY+7sNTQM6xZkzL+qqnSlP/TWdlm7wMgKyTG82x1/mL6vn8VRAATiRRsGE+EICUhXlDH1wLJVvxsIbvZ+IQXHpaFGRzmQaDqzk+aHpMD2rtbCSkiHU3oNhIm6XRMV3VMRPTTLiwovR7HsM5Bf20sT4ZQyRAI/BTu523djKom9FOFgGpwKhjTwoLzMPeFwc5/X3pDMzCyAkK/C2EnQOZHWfj9EkIhPOHQbSEAWFB1kDKskPWO5B9woTHachuxA3rssjcDHzKZG6ovEQX25R60ciq4AKinDvkahQNV1WxiTlBasb/M=; 5:8egh2SBoR6Btt9jc1fbpp292eR0+CDaT67jplMhxfCWSRrKndb3Ukt2ov7h8squPI2ChBOJDqTeipQ9c/c/E+pO20yQuGql8hyXziSi1ug9Y74DBpuFEJmIwz7m12hsUosx5lDuIQTC/kojFCtIEOwlPaWC3MumPCmLILqZyD/A=; 24:yiNS/vHw9ZytWe16cuRA4A5tjjvmA001n9lWojVYjEJ7XWnrgmDfJ0Tp2Wy9SYVR43q24kxqEIwnitmkwD3RN2PLhaYoQjUDEjXbHLo3vyA=; 7:btkz8vWuLVRR9A2NCWnw+lUrFF1HyBQXoO0LJH2ril7DGrmuadluPnKZ2AyjxLN+f00EZ/AzhcVedju9H962+oWm8+uNXAShc16BaVDVKxK1VBEDsDwTwe9ZUblhAS0sseuB0jSAeRarAr/gzeL4QGbb0GCMInYOC1EkJv/22F/3WpiIwm5f1DdL1LmUsxanuoxcdjciX7QO0iWrWNgX4fXfGdrozSvb22OvIFyG6sayaKV+enA6/DRQ1VEh+WDD SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jan 2018 20:22:58.3691 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: aec59edf-25e2-4134-61b2-08d559fa45b5 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR2101MB0879 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 2a01:111:f400:fe49::726 X-Mailman-Approved-At: Fri, 12 Jan 2018 16:25:15 -0500 Subject: [Qemu-devel] [PATCH 1/4] Add the Windows Hypervisor Platform accelerator. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: "Justin Terry \(VM\) via Qemu-devel" Reply-To: "Justin Terry \(VM\)" Cc: "Justin Terry \(VM\)" , pbonzini@redhat.com, rth@twiddle.net, ehabkost@redhat.com, crosthwaite.peter@gmail.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Introduces the configure support for the new Windows Hypervisor Platform th= at allows for hypervisor acceleration from usermode components on the Windows platform. Signed-off-by: Justin Terry (VM) --- configure | 48 +++++++++++++++++++++++++++++++++++++++++++++++- qemu-options.hx | 8 ++++---- 2 files changed, 51 insertions(+), 5 deletions(-) diff --git a/configure b/configure index 89bd662..8d5a065 100755 --- a/configure +++ b/configure @@ -222,6 +222,17 @@ supported_hvf_target() { return 1 } =20 +supported_whpx_target() { + test "$whpx" =3D "yes" || return 1 + glob "$1" "*-softmmu" || return 1 + case "${1%-softmmu}" in + i386|x86_64) + return 0 + ;; + esac + return 1 +} + supported_target() { case "$1" in *-softmmu) @@ -248,6 +259,7 @@ supported_target() { supported_xen_target "$1" && return 0 supported_hax_target "$1" && return 0 supported_hvf_target "$1" && return 0 + supported_whpx_target "$1" && return 0 print_error "TCG disabled, but hardware accelerator not available for = '$target'" return 1 } @@ -338,6 +350,7 @@ vhost_user=3D"" kvm=3D"no" hax=3D"no" hvf=3D"no" +whpx=3D"no" rdma=3D"" gprof=3D"no" debug_tcg=3D"no" @@ -1054,6 +1067,10 @@ for opt do ;; --enable-hvf) hvf=3D"yes" ;; + --disable-whpx) whpx=3D"no" + ;; + --enable-whpx) whpx=3D"yes" + ;; --disable-tcg-interpreter) tcg_interpreter=3D"no" ;; --enable-tcg-interpreter) tcg_interpreter=3D"yes" @@ -1548,6 +1565,7 @@ disabled with --disable-FEATURE, default is enabled i= f available: kvm KVM acceleration support hax HAX acceleration support hvf Hypervisor.framework acceleration support + whpx Windows Hypervisor Platform acceleration support rdma RDMA-based migration support vde support for vde network netmap support for netmap network @@ -2446,6 +2464,30 @@ if test "$xen_pv_domain_build" =3D "yes" && fi =20 ########################################## +# Windows Hypervisor Platform accelerator (WHPX) check +if test "$whpx" !=3D "no" ; then + cat > $TMPC << EOF +#include +#include +#include +int main(void) { + WHV_CAPABILITY whpx_cap; + WHvGetCapability(WHvCapabilityCodeFeatures, &whpx_cap, sizeof(whpx_cap= )); + return 0; +} +EOF + if compile_prog "" "-lwinhvplatform -lwinhvemulation" ; then + libs_softmmu=3D"$libs_softmmu -lwinhvplatform -lwinhvemulation" + whpx=3D"yes" + else + if test "$whpx" =3D "yes"; then + feature_not_found "winhvplatform" "winhvemulation is not insta= lled" + fi + whpx=3D"no" + fi +fi + +########################################## # Sparse probe if test "$sparse" !=3D "no" ; then if has cgcc; then @@ -5565,6 +5607,7 @@ echo "Install blobs $blobs" echo "KVM support $kvm" echo "HAX support $hax" echo "HVF support $hvf" +echo "WHPX support $whpx" echo "TCG support $tcg" if test "$tcg" =3D "yes" ; then echo "TCG debug enabled $debug_tcg" @@ -5719,7 +5762,7 @@ if test "$mingw32" =3D "yes" ; then echo "CONFIG_QGA_NTDDDISK=3Dy" >> $config_host_mak fi if test "$guest_agent_msi" =3D "yes"; then - echo "QEMU_GA_MSI_ENABLED=3Dyes" >> $config_host_mak =20 + echo "QEMU_GA_MSI_ENABLED=3Dyes" >> $config_host_mak echo "QEMU_GA_MSI_MINGW_DLL_PATH=3D${QEMU_GA_MSI_MINGW_DLL_PATH}" >> $= config_host_mak echo "QEMU_GA_MSI_WITH_VSS=3D${QEMU_GA_MSI_WITH_VSS}" >> $config_host_= mak echo "QEMU_GA_MSI_ARCH=3D${QEMU_GA_MSI_ARCH}" >> $config_host_mak @@ -6641,6 +6684,9 @@ fi if supported_hvf_target $target; then echo "CONFIG_HVF=3Dy" >> $config_target_mak fi +if supported_whpx_target $target; then + echo "CONFIG_WHPX=3Dy" >> $config_target_mak +fi if test "$target_bigendian" =3D "yes" ; then echo "TARGET_WORDS_BIGENDIAN=3Dy" >> $config_target_mak fi diff --git a/qemu-options.hx b/qemu-options.hx index 678181c..8c8f132 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -31,7 +31,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ "-machine [type=3D]name[,prop[=3Dvalue][,...]]\n" " selects emulated machine ('-machine help' for list)\n" " property accel=3Daccel1[:accel2[:...]] selects accele= rator\n" - " supported accelerators are kvm, xen, hax, hvf or tcg = (default: tcg)\n" + " supported accelerators are kvm, xen, hax, hvf, whpx o= r tcg (default: tcg)\n" " kernel_irqchip=3Don|off|split controls accelerated ir= qchip support (default=3Doff)\n" " vmport=3Don|off|auto controls emulation of vmport (de= fault: auto)\n" " kvm_shadow_mem=3Dsize of KVM shadow MMU in bytes\n" @@ -66,7 +66,7 @@ Supported machine properties are: @table @option @item accel=3D@var{accels1}[:@var{accels2}[:...]] This is used to enable an accelerator. Depending on the target architectur= e, -kvm, xen, hax, hvf or tcg can be available. By default, tcg is used. If th= ere is +kvm, xen, hax, hvf, whpx or tcg can be available. By default, tcg is used.= If there is more than one accelerator specified, the next one is used if the previous = one fails to initialize. @item kernel_irqchip=3Don|off @@ -126,13 +126,13 @@ ETEXI =20 DEF("accel", HAS_ARG, QEMU_OPTION_accel, "-accel [accel=3D]accelerator[,thread=3Dsingle|multi]\n" - " select accelerator (kvm, xen, hax, hvf or tcg; use 'h= elp' for a list)\n" + " select accelerator (kvm, xen, hax, hvf, whpx or tcg; = use 'help' for a list)\n" " thread=3Dsingle|multi (enable multi-threaded TCG)", Q= EMU_ARCH_ALL) STEXI @item -accel @var{name}[,prop=3D@var{value}[,...]] @findex -accel This is used to enable an accelerator. Depending on the target architectur= e, -kvm, xen, hax, hvf or tcg can be available. By default, tcg is used. If th= ere is +kvm, xen, hax, hvf, whpx or tcg can be available. By default, tcg is used.= If there is more than one accelerator specified, the next one is used if the previous = one fails to initialize. @table @option --=20 2.7.4