From patchwork Mon Jan 22 21:07:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Denis V. Lunev\" via" X-Patchwork-Id: 10179329 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 05C8D60224 for ; Mon, 22 Jan 2018 21:09:31 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E9C821FF1E for ; Mon, 22 Jan 2018 21:09:30 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DE2AC28173; Mon, 22 Jan 2018 21:09:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 45D7627EED for ; Mon, 22 Jan 2018 21:09:30 +0000 (UTC) Received: from localhost ([::1]:38160 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edjLN-0005an-FY for patchwork-qemu-devel@patchwork.kernel.org; Mon, 22 Jan 2018 16:09:29 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40773) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1edjK3-0004Y0-N6 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 16:08:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1edjK0-00021y-PI for qemu-devel@nongnu.org; Mon, 22 Jan 2018 16:08:07 -0500 Received: from mail-sn1nam02on0116.outbound.protection.outlook.com ([104.47.36.116]:8720 helo=NAM02-SN1-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 1edjK0-00020h-K4 for qemu-devel@nongnu.org; Mon, 22 Jan 2018 16:08:04 -0500 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=H5AycOTjJmWSaq+Xtly+Xz+HflLJR7q0sgwxxEm5ZoY=; b=WXTjMllSXTKZhEu/tcvWL4OPboKuVxOMWjGwP1uXycQEn2hZdp0gZVMCymABw7AoYYihyxtN+enVyWGpFCQL/Or8/+6/E798acrhsdDFn6PE5zINrNsl7XxeN+2RQg8iq7GfXxYoAX8j6XxFYO/g7Y2NapxkeniEQ9sTSiMuHzo= Received: from JUTERRY-DEV2.corp.microsoft.com (2001:4898:80e8:3::64) by SN4PR2101MB0878.namprd21.prod.outlook.com (2603:10b6:803:51::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.464.0; Mon, 22 Jan 2018 21:08:02 +0000 To: qemu-devel@nongnu.org Date: Mon, 22 Jan 2018 13:07:46 -0800 Message-Id: <1516655269-1785-2-git-send-email-juterry@microsoft.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516655269-1785-1-git-send-email-juterry@microsoft.com> References: <1516655269-1785-1-git-send-email-juterry@microsoft.com> MIME-Version: 1.0 X-Originating-IP: [2001:4898:80e8:3::64] X-ClientProxiedBy: DM5PR21CA0002.namprd21.prod.outlook.com (2603:10b6:3:ac::12) To SN4PR2101MB0878.namprd21.prod.outlook.com (2603:10b6:803:51::31) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 33483f73-cb7f-4a58-9387-08d561dc3956 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(48565401081)(4534125)(4602075)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020); SRVR:SN4PR2101MB0878; X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0878; 3:wD53OY01SwOqaLRHYXISkdOitM49zm+d5bDBWdD6L3IOKoT3j+3Y5dFXXoTuICB2kGkA4iRt4Eh+l4IdwP4DxUag/ADOBtbzBv/zT0EC9qPvjD22XvMH9kliZiNWOkDW33LK15LvUVltnrMAYo7JYso7J75fhV7IqCzMAYxQ8LldLLS1u+vVNmL00lu5rPWFICdCE3vNSKkAewrE5vjPzMcvpHXtCsVGbRBmIKqcUMDmR18edADGBXq88QR+uWbn; 25:uw2xfxHw6CmukJ9Ku7OY2v0FPr5suvwNNHTnaYFCyFIolOqqhc7x1+vgg6NLniqLPa9C/K1jAGHA5MLYbgXzDVGa7ZggYXXmPE8Ks7i29hyf7PVo3qNSmPyVleCFgXvefZIXzamMIycT8oT+OZ99rFpbFOTlMAETgelYuvVMdzVUmL47fgElOsTmyxpwG7M7E8Ny4kJJQnFBfYdS54+BeFA3MY4N5fD4cRKHWOgx81QbqBxqpcD1zt1/xgMVEqLMrPizjXjNzBKRowfB/ec0CRNJtZpk14dtv7Y17IJtRDs7P0mMTS++HbN7NlefjmHUAzDGZgvSXmtlhbhz8O0gMw==; 31:hPUSbFEvhyO1y1JPVZWSQ0Fx4oFxgmYOL7PkQsVqgCwZ53wxm2D0KK7lnlSaZYF+VZkVsYg36r2c2zgdVvn5em6fmvc4R/w2+IR5tiwK1RPUDUlZmrvBXNpM771Tvz8IVxE1V5FgaJTX2V6JP6Ks1OtEjajs5sr+OJry6Gup3eQtibWf651XpBjk+xvnsZPclZIAdFK5qXep7bjD31mnlpusQMEKlSudYp5tpiTGOlE= X-MS-TrafficTypeDiagnostic: SN4PR2101MB0878: X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0878; 20:Bh2UrvTleOV+9jl4Ctf6FpmoG0tPvB17YC4sopjJILQouB25MzLtAUlb1X/y5UdgO0kCSeAxyJRdNVU4hUb1e+/0Jc4SFA/mISbTn2ZZbbRHSDqpIPKV4bIgeYBS/UmnzfCKOU1WJrthFSyUBwih9MC6PB+m8LmUJ9v+5O+HpbjEr4R7tYPYzB7BnVrUpYUPhBlyMFsTd/n6ijUF5nBLkjf1xC6xFpxRr8qywidrfXJcMQASIytm6n2D/FKWoT4Va8cirtQtzmdShvMRgkgJLM6lWTgAc4lq5SiUKoLZ4iyvtovpXJ0/Y8H6jTwbChCTn7mYNzx8PLlutSb4MkAVm3KZ8D5TK1yTDnaffliaRNK/Zbc/NI08kGQFkiOD1h6d0VL0NqrcrLzGx0uyP1JdmIic89aTdnvrHR/bZfftzQjosPQWvqS+TNM7eWqqiGbiCAUYqYb6Fyloz6OzN/aOe838XxEfSOtjKlHVdSJZj7HZlraXBh94gknnrgFc2DnI; 4:66G0xJWYuiM/G7aLB0t0I27uUzFTZqapxXFXMPNkfs7J7eXR107B05AvMmQ9rUE1DalhQeCWj2NCspHZSJtL9gORsvM8XOYJA3hJ/zHLFRsWCH6D6YQ4nBqD/0WWj0U9EU1gq5uLPizISnMWWQw3O0OaXOHUElcewHB7mgwmIsc7irDo3lJZtqjQgUYoA1DSkFkTPMVvvFF4sJlS9Oc5FhZIJ9QVoZLLC8GS1ybPgQfG9n8kAUtjqLMTZba0yIIDr1vDNnYH9u5kRXdrO8Tgs1snx1T5iLPSAuVnULJUSobSoHmKJTmqAOdz4P00UoBQWhaxw9OmPntBx6FnEJVCLzbWgu/0c0a0rt3NG8f0g7Y= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(28532068793085)(89211679590171); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(61425038)(6040501)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3002001)(3231046)(2400081)(944501161)(6055026)(61426038)(61427038)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(6072148)(201708071742011); SRVR:SN4PR2101MB0878; BCL:0; PCL:0; RULEID:(100000803126)(100110400120); SRVR:SN4PR2101MB0878; X-Forefront-PRVS: 0560A2214D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(39860400002)(396003)(366004)(39380400002)(376002)(199004)(189003)(10090500001)(52396003)(76176011)(48376002)(4326008)(7696005)(51416003)(52116002)(50466002)(39060400002)(107886003)(10290500003)(47776003)(305945005)(7736002)(6666003)(2351001)(6116002)(36756003)(2361001)(2950100002)(8676002)(6916009)(81156014)(386003)(81166006)(5660300001)(25786009)(8936002)(59450400001)(105586002)(478600001)(68736007)(50226002)(2906002)(86362001)(22452003)(106356001)(86612001)(6486002)(53936002)(97736004)(6346003)(316002)(16586007); DIR:OUT; SFP:1102; SCL:1; SRVR:SN4PR2101MB0878; H:JUTERRY-DEV2.corp.microsoft.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=juterry@microsoft.com; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN4PR2101MB0878; 23:2bHp0kfuVelfTVVhPsg63tx2AJ9Obu0xPRp9Mua?= =?us-ascii?Q?339nVKpG792dOGvhPbhwuftZNnUF66WzT8xlj6eq6Vr+gZ07NG+FFc5EnaFS?= =?us-ascii?Q?Y7RsTaLk7UASt64nRuDaU2jElQFeRNPd5/pLfwZSm8u/D/I/j3ZXJRvgMxmJ?= =?us-ascii?Q?YNHgdGawPmUDO5Hm9XqMr/5C0zOmdkdFp02+uygL+5kCWl1b9/hOnOLei3+e?= =?us-ascii?Q?pN72XHtCuU8F4O8o745tujxYYAfVWIBS+xrmuZ30ipiSQdqYDah/gPM21Esc?= =?us-ascii?Q?km6kijN8TpTc3eTpUWcyxhYuKeE09kkt6l/ScAsnljCSw1CVPRy+jbxLSsIl?= =?us-ascii?Q?KnjVgmp9ab/3lf54J1+YBVGd49z+6X3DrkqKV90R348eiIP5SOyc2dMOpg94?= =?us-ascii?Q?gVyQ6I9ljYoUpeigeXrxcZzl2Hx1x99rApJNFy2JZoGP/iiKjtQ0VirL/Q6L?= =?us-ascii?Q?IwDynip2DqVEJWdG0mV9tw+zW0GisoTjdkEhUkRTuk1zS8H8slUcVehU7Rvy?= =?us-ascii?Q?gjNcxMNBl1aWP6JF2dJMOZFbNZr1uMyu+MFIEYF9rpt5Qq2XfXnFIGlntVIS?= =?us-ascii?Q?QTyfJXa2zZUUZ0IaAAtTCNP0gTglLIu5DpA3nX8sc4tTpnfzyp3ecJOIMg9z?= =?us-ascii?Q?bNdNFhdZI2fHgyx3M45eylK75QwVCix3+Wfbo03tIt43ln7M1OT+afQnEv1f?= =?us-ascii?Q?1CGbqn1rPJwX1QHxWpkpWwVK2CBo8lFm7gF15om9boKWDkyArb6Aae4uQn8J?= =?us-ascii?Q?k3KW9t/kdWbOELxJAlbjacUv9sdxVJp/rNIXkoenOBPffJpfCSmw7cT7sx0t?= =?us-ascii?Q?tn0nHaJccjVZAvjz63SukXP5Ge7HpPrZDmvXi5sL7fEkgh8vv+7vXSeG1dCm?= =?us-ascii?Q?jfzXDjkhzQKpJzz9KxNJhnWrEa70FLp506RExk0Oq81EvWxeehXDLWEKjhi3?= =?us-ascii?Q?Y3DXxj6mouTGavgjJ3TU0ZR1QxJF2stBOV4dwCmHBVnGo1FlB71n+iv0JV0M?= =?us-ascii?Q?831noxuUn2Cnn6IxDK/hqdG0RWC+tY4RFp7z/yhwJij3NupUv+kLk1rzLFoM?= =?us-ascii?Q?UgAvXEzYWsI9LfOzX8PgS5wr9mb3wW2K4wRj1YXND5pZnl+9Aijwg6uCTgTK?= =?us-ascii?Q?LUBmr3KADunW1Kc1Q7cly62fw66hRlcM5LaxFdiJ092C13cmjDRBwtbc4t2p?= =?us-ascii?Q?At4Y2KHEXhP8ppcxXJZgAhMvK/B40xDIMydsmv5iEylHoX6broEZnSdhay+q?= =?us-ascii?Q?meB6LsIGz3WsV875yoeI=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN4PR2101MB0878; 6:9XWxIGDOuOJBDhNgGNymyq9cKmvpAEhdrgQ8KMkOnd8mWoeA1gJwBaaRmmlhhFzNtY1kGGc2sHfwfe4fsTySour+Pu9BvEyoB/HVeY3u7w768NPPlfTi5LlxXqD7pRc0bDqnFC84Qp6K+PlIEBSxe+lAbTq4k+8wyuEB/LfnQmNqhE3tZiBGGVRO4j/pG14HHPqKE+0JMjMegTxedVT2WQK6N879WJI7iaLEh4ARe3zXiyQEVV38uvxU1uh5hAJLMsjPn/98n8k+EEvoEhqC6Vx2Trsz1ZgF/xjmil6ktfn3PTNuSmXEJAAfyOxSUffYU1kjL4WmxljybRJjL6L6QzfY4tjwUM/W+DrAPeHN+mQ=; 5:Z/SckhcNadOC2ejWpGhQCSrjJy5n9cQcSGeZNx0JS9Wh6lw0euQXcVRxFZzYm1n2I0XGxpviEekcQsm+GyQT7i1X2Xkn1+pj9kQbaxXT6bfvKZSH6GxBr5LaW0LN2NOEXVMlUHCriUZ77nbIIPpAGwodx21Q3E5J/an7BHaWgBs=; 24:mYJWmwMWd5/Fnzi2yDW8Ihe8D5Tm80VIpxeNzBPt+0b9zT6TdUDg26jdt0OcQeWztU8q3mLy7CuRbFR0rJ9NcT3GApD10rZdjLO9QOobBqA=; 7:9OFmQJGcgx0U1lHYEUtiNsCZ+USD3lZPHaIWgeCwbbVReFwnvciEmzGI+Vn79PNCZhiMA0h++/KRfl2XwEmv4IVcUI/QZLHT0bC6TCxGKMlqw82urzWvo1sgxEXME/FBeMtlwF9ghvigFDqLayAoN2GcY3i9znYRvpHXSq8uiU8+uXV1rqKT9SeV0lqYagPNFKUM28s+h1BKTfqkqJce35dl9XkhGSmiFZcYH7vepxQG5bBFfm43Qr4eS4PXEKgX SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Jan 2018 21:08:02.0314 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 33483f73-cb7f-4a58-9387-08d561dc3956 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR2101MB0878 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.36.116 Subject: [Qemu-devel] [PATCH v2 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: , X-Patchwork-Original-From: "Justin Terry \(VM\) via Qemu-devel" From: "Denis V. Lunev\" via" 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+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP Introduces the configure support for the new Windows Hypervisor Platform that 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 6d8c996..3a36523 100755 --- a/configure +++ b/configure @@ -222,6 +222,17 @@ supported_hvf_target() { return 1 } +supported_whpx_target() { + test "$whpx" = "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="" kvm="no" hax="no" hvf="no" +whpx="no" rdma="" gprof="no" debug_tcg="no" @@ -1054,6 +1067,10 @@ for opt do ;; --enable-hvf) hvf="yes" ;; + --disable-whpx) whpx="no" + ;; + --enable-whpx) whpx="yes" + ;; --disable-tcg-interpreter) tcg_interpreter="no" ;; --enable-tcg-interpreter) tcg_interpreter="yes" @@ -1548,6 +1565,7 @@ disabled with --disable-FEATURE, default is enabled if 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" = "yes" && fi ########################################## +# Windows Hypervisor Platform accelerator (WHPX) check +if test "$whpx" != "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="$libs_softmmu -lwinhvplatform -lwinhvemulation" + whpx="yes" + else + if test "$whpx" = "yes"; then + feature_not_found "winhvplatform" "winhvemulation is not installed" + fi + whpx="no" + fi +fi + +########################################## # Sparse probe if test "$sparse" != "no" ; then if has cgcc; then @@ -5577,6 +5619,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" = "yes" ; then echo "TCG debug enabled $debug_tcg" @@ -5737,7 +5780,7 @@ if test "$mingw32" = "yes" ; then echo "CONFIG_QGA_NTDDDISK=y" >> $config_host_mak fi if test "$guest_agent_msi" = "yes"; then - echo "QEMU_GA_MSI_ENABLED=yes" >> $config_host_mak + echo "QEMU_GA_MSI_ENABLED=yes" >> $config_host_mak echo "QEMU_GA_MSI_MINGW_DLL_PATH=${QEMU_GA_MSI_MINGW_DLL_PATH}" >> $config_host_mak echo "QEMU_GA_MSI_WITH_VSS=${QEMU_GA_MSI_WITH_VSS}" >> $config_host_mak echo "QEMU_GA_MSI_ARCH=${QEMU_GA_MSI_ARCH}" >> $config_host_mak @@ -6659,6 +6702,9 @@ fi if supported_hvf_target $target; then echo "CONFIG_HVF=y" >> $config_target_mak fi +if supported_whpx_target $target; then + echo "CONFIG_WHPX=y" >> $config_target_mak +fi if test "$target_bigendian" = "yes" ; then echo "TARGET_WORDS_BIGENDIAN=y" >> $config_target_mak fi diff --git a/qemu-options.hx b/qemu-options.hx index 5ff741a..9fbe468 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -31,7 +31,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ "-machine [type=]name[,prop[=value][,...]]\n" " selects emulated machine ('-machine help' for list)\n" " property accel=accel1[:accel2[:...]] selects accelerator\n" - " supported accelerators are kvm, xen, hax, hvf or tcg (default: tcg)\n" + " supported accelerators are kvm, xen, hax, hvf, whpx or tcg (default: tcg)\n" " kernel_irqchip=on|off|split controls accelerated irqchip support (default=off)\n" " vmport=on|off|auto controls emulation of vmport (default: auto)\n" " kvm_shadow_mem=size of KVM shadow MMU in bytes\n" @@ -66,7 +66,7 @@ Supported machine properties are: @table @option @item accel=@var{accels1}[:@var{accels2}[:...]] This is used to enable an accelerator. Depending on the target architecture, -kvm, xen, hax, hvf or tcg can be available. By default, tcg is used. If there 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=on|off @@ -126,13 +126,13 @@ ETEXI DEF("accel", HAS_ARG, QEMU_OPTION_accel, "-accel [accel=]accelerator[,thread=single|multi]\n" - " select accelerator (kvm, xen, hax, hvf or tcg; use 'help' for a list)\n" + " select accelerator (kvm, xen, hax, hvf, whpx or tcg; use 'help' for a list)\n" " thread=single|multi (enable multi-threaded TCG)", QEMU_ARCH_ALL) STEXI @item -accel @var{name}[,prop=@var{value}[,...]] @findex -accel This is used to enable an accelerator. Depending on the target architecture, -kvm, xen, hax, hvf or tcg can be available. By default, tcg is used. If there 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