From nobody Mon Jan 03 15:03:47 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4E30C1919BE3; Mon, 3 Jan 2022 15:03:48 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JSJsv5kYjz3st1; Mon, 3 Jan 2022 15:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 83262270DF; Mon, 3 Jan 2022 15:03:47 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 203F3lhZ059261; Mon, 3 Jan 2022 15:03:47 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 203F3lL5059260; Mon, 3 Jan 2022 15:03:47 GMT (envelope-from git) Date: Mon, 3 Jan 2022 15:03:47 GMT Message-Id: <202201031503.203F3lL5059260@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 338a1be83630 - main - bhyve: only init MSI-X table if passthru device supports it List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 338a1be836308f6d807f8bfe9b335463d537abc4 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1641222228; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=YBDWTBVkUljmFNxem/lv+mq3flors2DdkagtFjrhFFM=; b=bICTVxXyQTKfBo4JGVaymNJeY486JEZA/MrfNukfkGPn2VavyATNMJRjE+pedMzOdREZ27 Ou+kMwrZgJXYfmxqgdVJx1UzpvAXTwlSQ7Xx61JYDK2pSnpYH9GtjvwgvmBFyOcU2HSRsQ Et2Y6AMlktTEr/j8osJDy/5ipXvg2LxqwYiVEjt92SiOVK4HuCL62wjXx1O3JYpzVGn6E8 A9I7VVpgt2+6mzbSzWiWD7pN1SDjj/XJrmnqILXFqJ47flnFbnSAWoNDOFrUjgmY7Bk5mN mLJZSjoaBk17KUuN//AY3pwewRNQwdI8/KXWFeHpD9ChaF6XxRH/j33EcPL3Kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1641222228; a=rsa-sha256; cv=none; b=Lrjx6WkVZsbjvDb7U8WDXVMHSU8hwklJ7Ge8DvU5ywCknJGIJlYoH7u05HQkGXiOeANf29 nLbO7mrxPg3k0xolEDXQ+JusqE4tR/9OE72N6RmlyE8TtgsSOtFuYfCHZTh7X+MTAZ4n4x SC/RlfuQuyuonyJnCvIZTgSfYpzSP0zSB+AaTp3dXKVsaBGwE97xHwmyqSLJBzwgGaxN6q +cWn5WTSRMtgt2afe16WJiHq/tLXNyjL5krBZN11hNKhLJkR1mFzUDtwr7sErElji/DOHw w5aqOCuSFEbUn95Cuf4CMatfhHMN6Q23q/teyrvnYBBnNl7BxshI9VFwBMzmxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=338a1be836308f6d807f8bfe9b335463d537abc4 commit 338a1be836308f6d807f8bfe9b335463d537abc4 Author: Corvin Köhne AuthorDate: 2022-01-03 14:48:10 +0000 Commit: Bjoern A. Zeeb CommitDate: 2022-01-03 14:55:10 +0000 bhyve: only init MSI-X table if passthru device supports it Some passthru devices only support MSI instead of MSI-X. For those devices the initialization of MSI-X table will fail. Re-add the check erroneously removed in f1442847c9404d4bc5f5524a0c3362dd39cb14f9. MFC after: 3 days X-MFC with: f1442847c9404d4bc5f5524a0c3362dd39cb14f9 PR: 260148 Reviewed by: manu, bz Differential Revision: https://reviews.freebsd.org/D33728 --- usr.sbin/bhyve/pci_passthru.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c index 240571f209e3..ea8a3a71c8b8 100644 --- a/usr.sbin/bhyve/pci_passthru.c +++ b/usr.sbin/bhyve/pci_passthru.c @@ -593,13 +593,17 @@ cfginit(struct vmctx *ctx, struct pci_devinst *pi, int bus, int slot, int func) * We need to do this after PCIR_COMMAND got possibly updated, e.g., * a BAR was enabled, as otherwise the PCIOCBARMMAP might fail on us. */ - error = init_msix_table(ctx, sc); - if (error != 0) { - warnx("failed to initialize MSI-X table for PCI %d/%d/%d: %d", - bus, slot, func, error); - goto done; + if (pci_msix_table_bar(pi) >= 0) { + error = init_msix_table(ctx, sc); + if (error != 0) { + warnx( + "failed to initialize MSI-X table for PCI %d/%d/%d: %d", + bus, slot, func, error); + goto done; + } } + error = 0; /* success */ done: return (error); }