From owner-svn-src-stable-12@freebsd.org Sun Apr 12 19:25:28 2020 Return-Path: Delivered-To: svn-src-stable-12@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B0B2F2C682B; Sun, 12 Apr 2020 19:25:28 +0000 (UTC) (envelope-from chuck@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) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 490hY44Cb9z4Xbn; Sun, 12 Apr 2020 19:25:28 +0000 (UTC) (envelope-from chuck@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8B3496A51; Sun, 12 Apr 2020 19:25:28 +0000 (UTC) (envelope-from chuck@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 03CJPSgu099080; Sun, 12 Apr 2020 19:25:28 GMT (envelope-from chuck@FreeBSD.org) Received: (from chuck@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 03CJPS5x099079; Sun, 12 Apr 2020 19:25:28 GMT (envelope-from chuck@FreeBSD.org) Message-Id: <202004121925.03CJPS5x099079@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: chuck set sender to chuck@FreeBSD.org using -f From: Chuck Tuffli Date: Sun, 12 Apr 2020 19:25:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org Subject: svn commit: r359834 - stable/12/usr.sbin/bhyve X-SVN-Group: stable-12 X-SVN-Commit-Author: chuck X-SVN-Commit-Paths: stable/12/usr.sbin/bhyve X-SVN-Commit-Revision: 359834 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-12@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: SVN commit messages for only the 12-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Apr 2020 19:25:28 -0000 Author: chuck Date: Sun Apr 12 19:25:28 2020 New Revision: 359834 URL: https://svnweb.freebsd.org/changeset/base/359834 Log: MFC r359367 bhyve: fix NVMe emulation update of SQHD Modified: stable/12/usr.sbin/bhyve/pci_nvme.c Directory Properties: stable/12/ (props changed) Modified: stable/12/usr.sbin/bhyve/pci_nvme.c ============================================================================== --- stable/12/usr.sbin/bhyve/pci_nvme.c Sun Apr 12 19:21:44 2020 (r359833) +++ stable/12/usr.sbin/bhyve/pci_nvme.c Sun Apr 12 19:25:28 2020 (r359834) @@ -1152,7 +1152,8 @@ pci_nvme_handle_admin_cmd(struct pci_nvme_softc* sc, u cmd->opc)); pci_nvme_status_genc(&compl.status, NVME_SC_INVALID_OPCODE); } - + sqhead = (sqhead + 1) % sq->size; + if (NVME_COMPLETION_VALID(compl)) { struct nvme_completion *cp; int phase; @@ -1169,7 +1170,6 @@ pci_nvme_handle_admin_cmd(struct pci_nvme_softc* sc, u cq->tail = (cq->tail + 1) % cq->size; } - sqhead = (sqhead + 1) % sq->size; } DPRINTF(("setting sqhead %u", sqhead)); @@ -1284,8 +1284,9 @@ pci_nvme_set_completion(struct pci_nvme_softc *sc, compl = &cq->qbase[cq->tail]; - compl->sqhd = atomic_load_acq_short(&sq->head); + compl->cdw0 = cdw0; compl->sqid = sqid; + compl->sqhd = atomic_load_acq_short(&sq->head); compl->cid = cid; // toggle phase