From owner-freebsd-scsi@freebsd.org Sun Apr 23 17:23:34 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BA250D4DC2E for ; Sun, 23 Apr 2017 17:23:34 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A9E1F1713 for ; Sun, 23 Apr 2017 17:23:34 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id v3NHNXvY017456 for ; Sun, 23 Apr 2017 17:23:34 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-scsi@FreeBSD.org Subject: [Bug 218830] [cam] [patch] add CAM pass(4) support for NVMe Date: Sun, 23 Apr 2017 17:23:34 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: patch X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: cem@freebsd.org X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-scsi@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc assigned_to Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Apr 2017 17:23:34 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D218830 Conrad Meyer changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bsdimp@FreeBSD.org, | |ken@FreeBSD.org Assignee|freebsd-bugs@FreeBSD.org |freebsd-scsi@FreeBSD.org --=20 You are receiving this mail because: You are the assignee for the bug.= From owner-freebsd-scsi@freebsd.org Sun Apr 23 17:51:11 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1399D4CB0A for ; Sun, 23 Apr 2017 17:51:11 +0000 (UTC) (envelope-from chuck@tuffli.net) Received: from mail-yw0-x231.google.com (mail-yw0-x231.google.com [IPv6:2607:f8b0:4002:c05::231]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 69619BA8 for ; Sun, 23 Apr 2017 17:51:11 +0000 (UTC) (envelope-from chuck@tuffli.net) Received: by mail-yw0-x231.google.com with SMTP id k11so22727335ywb.1 for ; Sun, 23 Apr 2017 10:51:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tuffli-net.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=MuRFkQANLuNaz7s2TNBOPF7xM2tTEb/Gbwf0Xrw5PXc=; b=ooBWkFzqtnw1TGlgBg3Q8+v6b9ulwMeZeOYDbnulntPArM4ccX3Jj/jM30+jRUS+1v hl2BmVAx4IfK5q42Rzyhp28SNu3d+cb8JIaYV2Fy1B7l31wf+tBXgwEs3CJqW+oZFy4s KOWgU2esAG5+08bR8txZrSdhqhUpHmX3hOOv11LwAidc6ykU0PiKyxQFpE3a/oPQy0Ey 3oXsugvyO8Zl78uLoW36Cc/xzXL+MXoFIlJlEZyfSLck43OVbi/55CKYrhifsKycw7pg SjsPmPXRuGf01flSvN762z6KS40r+hD6aqGx8b0ZSPMc28586T4J4L/aq+SCroH5k8Pn biyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MuRFkQANLuNaz7s2TNBOPF7xM2tTEb/Gbwf0Xrw5PXc=; b=hWqeAN1CN7Yh6wuaWR/H32Xxvj/RdAJ4yv05Hjg/bM7CCI2sNV/BbG5TT3M3DxTS89 pGXXDnQgFDJgm2pWrJG7sqt4Y38VAgJQP762nWqVNq64ADuANRaRorztqEaBQEgXQ8vI Pyjzf29vBpXUKrGEAMlxugEtAaISMd9ZEw8iVWr/NU3B8L1q0V7XbCLI+B8JKJdAurjD DRmu09mLnO5fCFeFL8yyghXbb5/Q8tVjBFPiTrzeVMp9kPPyuD4Y/q1uJjF+qOeXYSOz MnyMQrexQm/RRUq/btcPyDKHweKSy8sUHoamgUYSAwOBdu30B/Rk0nCqpqskP6rA9wyu 6iRg== X-Gm-Message-State: AN3rC/5tNmF8JssNkIpt/k3IbGa29jqV6IIoUfaIWqswiRQNQwsBt9Pi YU/+BRP4tH+8aP3aitVp/vS9t34c3url X-Received: by 10.129.119.87 with SMTP id s84mr2315934ywc.110.1492969870251; Sun, 23 Apr 2017 10:51:10 -0700 (PDT) MIME-Version: 1.0 Received: by 10.13.204.5 with HTTP; Sun, 23 Apr 2017 10:51:09 -0700 (PDT) From: Chuck Tuffli Date: Sun, 23 Apr 2017 10:51:09 -0700 Message-ID: Subject: [RFC] Fix NVMe's use of XPT_GDEV_TYPE To: freebsd-scsi Content-Type: text/plain; charset=UTF-8 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Apr 2017 17:51:11 -0000 There is a patch up on Phabricator[1] which changes the way XPT_GDEV_TYPE works for NVMe. The current ccb_getdev structure includes pointers to the NVMe Identify Controller and Namespace structures, but these are kernel virtual addresses which are not accessible from user space. As an alternative, the patch removes these pointers from ccb_getdev and adds two new types to ccb_dev_advinfo to retrieve the Identify Controller (CDAI_TYPE_NVME_CNTRL) and Namespace (CDAI_TYPE_NVME_NS) data structures. To retrieve the Identify Controller data structure, applications would do something similar to: struct nvme_controller_data cd; struct ccb_dev_advinfo *cdai = &ccb->cdai; CCB_CLEAR_ALL_EXCEPT_HDR(cdai); cdai->ccb_h.func_code = XPT_DEV_ADVINFO; cdai->ccb_h.flags = CAM_DIR_IN; cdai->flags = CDAI_FLAG_NONE; cdai->buftype = CDAI_TYPE_NVME_CNTRL; cdai->bufsiz = sizeof(struct nvme_controller_data); cdai->buf = (uint8_t *)&cd; cam_send_ccb(camdev, ccb); [1] https://reviews.freebsd.org/D10466