Message ID | 20230322075945.3039857-1-peng.fan@oss.nxp.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp2216766wrt; Wed, 22 Mar 2023 01:04:25 -0700 (PDT) X-Google-Smtp-Source: AK7set/0tJkr256aAJhx5Ca/8AVGecYZ6JZxH6FxZ8yJFu/N7g6iAEa00QXox38ogZbdW4nx2RPz X-Received: by 2002:a17:906:c309:b0:932:da0d:96ac with SMTP id s9-20020a170906c30900b00932da0d96acmr5681443ejz.10.1679472265663; Wed, 22 Mar 2023 01:04:25 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1679472265; cv=pass; d=google.com; s=arc-20160816; b=bCZj2j9O4QRMUKn2NTnKXAM5u2mDcUkqE/S5ZyMasMf6RAwn62x1QlmPfKFwYwMwc0 RbTMt1f+KjI4lvHMkJkYAHMxVHDHqMsGgPRwjTYOnzFlNEVYKW+FfsIP41FPEz7aSMzj XAC0qH43LlLmCKItuyc1u6V/AavXdi/iEE2fXthgWhxLx/UmsydZqRfwGOKG7nWbzzBM eC7DUw0tDpa/FdJILuQaydXhcbg8xJDoYKyWngUOiE93x61e5utswglojgnxfSpiVNfK aV9IoeiNlUK2ULeqALi4JrMHx4FG1rBQcwlgHyHDNrCGiG3jAvDV90VSlzMcwphdXyqK CmUQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :message-id:date:subject:cc:to:from:dkim-signature; bh=6F52oO60OJpupNrKM4yEvkwlc9JHH1AadywSqV6+do4=; b=wAawcYAEWT7nnSmriHZZ/FKl5xB6o1MNIXQZW/zJ9eTu4oC0gKg01exce0qD0U6GQo Qk+zSIGDgdwdP97xGE0MY7NnHq8ugzXbFB4f6wc381ZYQjRmAFoQT3PEsSFKzarHQwG2 uSZhd9C1cSyhvxL32hKD/9iZY12BPPNsV7tTZWIiv6x3yQoObCJRta3fL0ylI9MwGzg9 Mxi/Pj5rgg/vcLmYQQskDO0RePvID2OsJYfvbGaU/qvEeQ3ToSc5q91zSJo5bkQFSgf+ 7kasGhgUmyxhs3PU/gPdpdbEcn3Mrp/krgj0Krmqwi7kzEjDQ9UrRfxndmkdAR55luQJ kslg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=Q3v2bn5e; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id i20-20020a50fc14000000b004fa5cf7608esi14564532edr.258.2023.03.22.01.04.01; Wed, 22 Mar 2023 01:04:25 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@NXP1.onmicrosoft.com header.s=selector2-NXP1-onmicrosoft-com header.b=Q3v2bn5e; arc=pass (i=1 spf=pass spfdomain=oss.nxp.com dkim=pass dkdomain=oss.nxp.com dmarc=pass fromdomain=oss.nxp.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230000AbjCVHyr (ORCPT <rfc822;ezelljr.billy@gmail.com> + 99 others); Wed, 22 Mar 2023 03:54:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230025AbjCVHyp (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 22 Mar 2023 03:54:45 -0400 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7F4525BC9D for <linux-kernel@vger.kernel.org>; Wed, 22 Mar 2023 00:54:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Kq8OVOuVOhjl+TTzvJGvz7qvbS3QE4e5WRlZ9yvoFnZdYBH+62JiCtbmy8zuM2IeDw86EA9x+rmjWvXlo6AlRDqET/CLMHVZAGLKU8nZyUAvjKbhfE2nb8A1t6dmnBPCJFNRh/7pVVI+k+IHo4ELx6mGbauXgEmbGp5zQoNhuX8XS4aP0rTzcx8p0cwuVcUz/fvRQ1QhoCovVR8EvNXk9PBBTnYtIkYK/M9o3lXP2hHzM8eyTSVHb8Q2XceTHdQFMZEePIztPDT1WRMJTCm7bvYKlT+IlXKdvxB1qVb/inDbDuNKJQVUlWRoOqde5/4EjPSdz6OyXZmiF5VTCdo4/Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6F52oO60OJpupNrKM4yEvkwlc9JHH1AadywSqV6+do4=; b=lzX3D7KM6sOpvHQ/NIok68R62NWWlNMevJHizuW715VFzTXog4yTXXzvTBuOmGJSxhveIVgQ6khPEKtlWIzTGmGovVoYO7M/jhRfFFg07CkVEOj9oh33hXtUgVMq8e3504XumSHP44u4eY9Phl5JQG4hSl1OoCShH2BCPo43UYXxJSqKsymTXvxkyqErULQHz2np7ziKoHEm2XYaO7dAhamw1jaT7d9yXzledO4HMaQzxALPVsOwa1tK4vlmTEVwUinixj+2yJrNRBbLvmjw1R9h1EClQUVnK7hgOqOtkHnCnfgaiOfXO0JMGb+NJMCYQ/6oK0FMtEFIXeRHQldVvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6F52oO60OJpupNrKM4yEvkwlc9JHH1AadywSqV6+do4=; b=Q3v2bn5e8yL655G3mS8WE0jNneTRL3iVni9U3kvlQT4vqwUG09PQJ4ejQdUgtAIwJ16Ut8PdRAX2QMJ/RsI7l5PWKkI/YesDEvVK7aQu1Uy2iCNnhMS7NRrZjUO2GgwNTQgumySzgkhrzZRhbHbZjvoZNky1BNuD9IX65siWmyI= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PA4PR04MB9416.eurprd04.prod.outlook.com (2603:10a6:102:2ab::21) by PAXPR04MB8525.eurprd04.prod.outlook.com (2603:10a6:102:210::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar 2023 07:54:41 +0000 Received: from PA4PR04MB9416.eurprd04.prod.outlook.com ([fe80::7ebc:3d88:4dd1:ecbf]) by PA4PR04MB9416.eurprd04.prod.outlook.com ([fe80::7ebc:3d88:4dd1:ecbf%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023 07:54:40 +0000 From: "Peng Fan (OSS)" <peng.fan@oss.nxp.com> To: mst@redhat.com, jasowang@redhat.com, mie@igel.co.jp, virtualization@lists.linux-foundation.org Cc: linux-kernel@vger.kernel.org, aisheng.dong@nxp.com, Peng Fan <peng.fan@nxp.com> Subject: [PATCH] tools/virtio: fix build break for aarch64 Date: Wed, 22 Mar 2023 15:59:45 +0800 Message-Id: <20230322075945.3039857-1-peng.fan@oss.nxp.com> X-Mailer: git-send-email 2.37.1 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SI1PR02CA0060.apcprd02.prod.outlook.com (2603:1096:4:1f5::17) To PA4PR04MB9416.eurprd04.prod.outlook.com (2603:10a6:102:2ab::21) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR04MB9416:EE_|PAXPR04MB8525:EE_ X-MS-Office365-Filtering-Correlation-Id: 99568957-63b5-4006-6706-08db2aaab009 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: otxP17bhcZt+BfAgEc1MdoMc6tS4Y3yf8VH+H1fgu46PsDMfCszxItzDkZUYQaOz5QPmldcOgaEl/aqI5scpCaUeR8U+mLXMLkV1V7wL58brl3xFz7eoM8X1pJV4taUmB+Mo9TFpNaR/pXMVKxpdf6Iy0O1yyBUVDfcsgIkDYKAMZpI0zLfgM6kbFycAXy2452rwlEngEcoi0FDcAp2YWdeYvAUjXEBvZSyEjfRCGp2uk9XvoNcs0HMMu+uHUiTol3/knIWw1nzIcY7FrzgeipMmr1FvK3fKQwuh4O2A8Np1kWxsH41UsdbmGsBojnfT0rqxlvKb3VJbp9iGr2AvVSgy4u0oQXe2FtUJoQ0uj3K2rOj7ogzq0UzMOP3io+h37usIqitCZkI6llPWuah1AA89AzDO1kb5KGTuRbD6Hy6qLbBM0QpQJUgeV0NoTn1JKATmUU8zLux2l9RA+NsifrT7RhmEKPNyK0hOAP/OnN3NYtnM0PdctmAbTlopyvmYE3fYLYjgBNSIUoGCvdsJwweHWdxZyf8v+SJ/Tos4dleAtD9Izgl/J+5j8WbFfQdNKAuOmlTs8ABtldYi7mXaDcC6TWIVQdrXNhmlZg0BqiKsvTK7n8+e67ITLkn/9bD8tGKz/g4iorTOMWgxoKPVhLuibl2olbP2PMPXpakRUxX/yGzPf3lCCB/gJvdJZ8pvQNVap4gw5RHrwKqdNOnBaw== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR04MB9416.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(39860400002)(396003)(376002)(366004)(451199018)(2616005)(186003)(1076003)(6512007)(26005)(6486002)(4326008)(6506007)(8676002)(52116002)(66946007)(83380400001)(316002)(478600001)(66476007)(66556008)(5660300002)(41300700001)(8936002)(2906002)(38350700002)(38100700002)(86362001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: RWz//H2exwWgjZ2UtW4TePbYmPUwVSdLiT+dugdBGf9yC8X+0kA2yuh03uTE2rKELEI1fvMF0uuXIxYEJm0aCa3lbIMbLmYttFNTnLlD8TDcm1yHa8UZRwOmiGqHVjrCRx0niKLExnHb1/RWrwMB8Baqb+qX1kHYqDMGv7tv0TmOw3hFTNnUKON0zy02KvuF6xmYDJo+cj+flA3GViqN32+Fe1rZsaCZ1tMhyDaOIeP/i1w6EaOkfSRQPthdxM+MB3RKtmxDuAVTKBalMZGdJ6r8kSGIskuTma9ZcmOothmmvpwLpQN6oBLPC4emzD86AefVDlqFuX+jF5iBELOSHPIK2V+bknVFhbWLOpzvTpYG1BuMoFcmPF1swjuvae5pxuWYKTfPedQaFv5VKuhY4CKe8jAux5YB3aopfpMFbhFdSaL0dYG88m4Tdgnar9+X24QN694T2Hwb7Qhl+aY0+qq1JJE7CVMVLlsRblOr2JsXpENoTSr2fvMxZbB0tRqqc5EQxTKWprms1U6TVqMpHjkFZ7RVaNdG/mAGbAkitdzKny2kxTo+cgpa98EMXy+8noLCs4TYn7P1nDVvcO/z+lpgXi8IE3RoZPfnMqP9CWJiMnM7KH7va6NnEaM+79WHcgPECXeLs0QnxsHkbGtZXqF9XdhOXovG13cHfkEw1yIQuDqwFCVjtT6/OtnH8kzQ6eAx/X1n5+XxXRSbCDkqihNA0uFz9ZlFbkcjo9+qs3Q+Pr7EZa/EPftBjLy8US5Pa3JAgV7cJzds0TR1ZhksmE7kZ23YG8CmXsYOh+KJoLkZcHirbYZkByAxUyoLDG9svHkQF3ohDL2jUVzV7lSIhQMWQ6xEZ/UFN6r08tm9tv33zWYIHMe0qyLUPYrn0ABg7R3Rc4wYTVdOBnAtEjSNCXo34+jNYXfqHbth96+09aUqO2obpCuAHYaXx0UdhjhlSCL7z3X1ARZenBF6Wou5BXaEp0Qe1p5vnsBxDI0Bs8G506eG3Ip/7s15YRd4QzJKgQBQXQjYbNN3cCpSOl3/6Q0Nlg8cQaq9dABO3EE2FRGIoV2doHt7mKYFfoR8czV4ugs1TYPiNI1pJlPm1eFvf6P2oVleywm55TFlxeqglrMptZsaHjIiXWBze+VqnlXbP3Wndb0C7IilB4knRKzcreCAkF2dT+Hfs/8v8gB+WG+roF43qHedmd8CdAln8CFBlICi60xHZCHTLTBuPtwyBhLRnEheBN0xcPGpSi6cLS0YB5bghCnuXPs6ggEJNDgWfNiza7xhIn8uI28JwSLgtI2QeM8afiT5Ut+IEaJRB+fMY24v4LdxeO8RyTT2zXXfPD3L0tXmpUDMqOIPdEJCKnVpBCuSWaGL7GgXY5JrJau1QCoRkBLwEgAvQ8iSkB39Y2unCxSEBSb1Wl6mHuG/FLXQ672kUdEajx9AjLN0X12+YDvbqWyXOw2YTcjHJLG3OQhXIUuQ1yuJSJsKBsLI0XYIYKAz40+Uqf83BU1k1QZ4t1vCzplsMdRqQcmziKReARbZ2CQpCpsZXg9etz52LovHcQUROvV/OPKpc7yFzbUr40FoN8B9nbKqsOkgVRru X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99568957-63b5-4006-6706-08db2aaab009 X-MS-Exchange-CrossTenant-AuthSource: PA4PR04MB9416.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:54:40.2136 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XTnl5YXfXumwMFM3WiYs+B/6NS7/t0A69DtkMQqoYx7hPyxcgz8SMft+sfilwk2aX6uEWvEmZ0yTC8mesICUUQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8525 X-Spam-Status: No, score=-0.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1761054310350804869?= X-GMAIL-MSGID: =?utf-8?q?1761054310350804869?= |
Series |
tools/virtio: fix build break for aarch64
|
|
Commit Message
Peng Fan (OSS)
March 22, 2023, 7:59 a.m. UTC
From: Peng Fan <peng.fan@nxp.com> "-mfunction-return=thunk -mindirect-branch-register" are only valid for x86. So introduce compiler operation check to avoid such issues Fixes: 0d0ed4006127 ("tools/virtio: enable to build with retpoline") Signed-off-by: Peng Fan <peng.fan@nxp.com> --- tools/virtio/Makefile | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-)
Comments
On Wed, Mar 22, 2023 at 03:59:45PM +0800, Peng Fan (OSS) wrote: > From: Peng Fan <peng.fan@nxp.com> > > "-mfunction-return=thunk -mindirect-branch-register" are only valid > for x86. So introduce compiler operation check to avoid such issues > > Fixes: 0d0ed4006127 ("tools/virtio: enable to build with retpoline") > Signed-off-by: Peng Fan <peng.fan@nxp.com> > --- > tools/virtio/Makefile | 21 ++++++++++++++++++++- > 1 file changed, 20 insertions(+), 1 deletion(-) > > diff --git a/tools/virtio/Makefile b/tools/virtio/Makefile > index 7b7139d97d74..1a9e1be52e4f 100644 > --- a/tools/virtio/Makefile > +++ b/tools/virtio/Makefile > @@ -4,7 +4,26 @@ test: virtio_test vringh_test > virtio_test: virtio_ring.o virtio_test.o > vringh_test: vringh_test.o vringh.o virtio_ring.o > > -CFLAGS += -g -O2 -Werror -Wno-maybe-uninitialized -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h -mfunction-return=thunk -fcf-protection=none -mindirect-branch-register > +TMPOUT = .tmp_$$$$ if you are going to do this pls use mktemp. But I don't see why not just use -o /dev/null > +try-run = $(shell set -e; \ > + TMP=$(TMPOUT)/tmp; \ > + trap "rm -rf $(TMPOUT)" EXIT; \ > + mkdir -p $(TMPOUT); \ > + if ($(1)) >/dev/null 2>&1; \ > + then echo "$(2)"; \ > + else echo "$(3)"; \ > + fi) > + > +__cc-option = $(call try-run,\ > + $(1) -Werror $(2) -c -x c /dev/null -o "$$TMP",$(2),) > +cc-option = $(call __cc-option, $(CC),$(1)) > + > +CFLAGS += -g -O2 -Werror -Wno-maybe-uninitialized -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h > + > +CFLAGS += $(call cc-option,-mfunction-return=thunk) > +CFLAGS += $(call cc-option,-fcf-protection=none) > +CFLAGS += $(call cc-option,-mindirect-branch-register) > + As far as I can tell this will do the dance with the empty input each time CFLAGS is evaluated. Which seems unnecessarily baroque - just use ":=" and it will be evaluated once. > CFLAGS += -pthread > LDFLAGS += -pthread > vpath %.c ../../drivers/virtio ../../drivers/vhost > -- > 2.37.1
diff --git a/tools/virtio/Makefile b/tools/virtio/Makefile index 7b7139d97d74..1a9e1be52e4f 100644 --- a/tools/virtio/Makefile +++ b/tools/virtio/Makefile @@ -4,7 +4,26 @@ test: virtio_test vringh_test virtio_test: virtio_ring.o virtio_test.o vringh_test: vringh_test.o vringh.o virtio_ring.o -CFLAGS += -g -O2 -Werror -Wno-maybe-uninitialized -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h -mfunction-return=thunk -fcf-protection=none -mindirect-branch-register +TMPOUT = .tmp_$$$$ +try-run = $(shell set -e; \ + TMP=$(TMPOUT)/tmp; \ + trap "rm -rf $(TMPOUT)" EXIT; \ + mkdir -p $(TMPOUT); \ + if ($(1)) >/dev/null 2>&1; \ + then echo "$(2)"; \ + else echo "$(3)"; \ + fi) + +__cc-option = $(call try-run,\ + $(1) -Werror $(2) -c -x c /dev/null -o "$$TMP",$(2),) +cc-option = $(call __cc-option, $(CC),$(1)) + +CFLAGS += -g -O2 -Werror -Wno-maybe-uninitialized -Wall -I. -I../include/ -I ../../usr/include/ -Wno-pointer-sign -fno-strict-overflow -fno-strict-aliasing -fno-common -MMD -U_FORTIFY_SOURCE -include ../../include/linux/kconfig.h + +CFLAGS += $(call cc-option,-mfunction-return=thunk) +CFLAGS += $(call cc-option,-fcf-protection=none) +CFLAGS += $(call cc-option,-mindirect-branch-register) + CFLAGS += -pthread LDFLAGS += -pthread vpath %.c ../../drivers/virtio ../../drivers/vhost