From: Jerry Hoemann <jerry.hoemann@hpe.com>
To: ross.zwisler@linux.intel.com, rjw@rjwysocki.net, lenb@kernel.org,
dan.j.williams@intel.com, elliott@hpe.com, jmoyer@redhat.com,
krivenok.dmitry@gmail.com, linda.knippers@hpe.com
Cc: linux-nvdimm@ml01.01.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org,
Jerry Hoemann <jerry.hoemann@hpe.com>
Subject: [PATCH v2 0/3] nvdimm: Add an IOCTL pass thru for DSM calls
Date: Mon, 16 Nov 2015 11:38:16 -0700 [thread overview]
Message-ID: <cover.1447698598.git.jerry.hoemann@hpe.com> (raw)
The NVDIMM code in the kernel supports an IOCTL interface to user
space based upon the Intel Example DSM:
http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf
This interface cannot be used by other NVDIMM DSMs that support
incompatible functions.
This patch set adds a generic "passthru" IOCTL interface which
is not tied to a particular DSM.
A new _IOC_NR ND_CMD_PASSTHRU == "100" is added for the pass thru call.
The new data structure nd_passthru_pkg serves as a wrapper for the passthru
calls. This wrapper supplies the data that the kernel needs to
make the _DSM call.
Unlike the definitions of the _DSM functions themselves, the nd_passthru_pkg
provides the calling information (input/output sizes) in an uniform
manner making the kernel marshaling of the arguments straight
forward.
This shifts the marshaling burden from the kernel to the user
space application while still permitting the kernel to internally
call _DSM functions.
To make the resultant kernel code easier to understand the existing
functions acpi_nfit_ctl and __nd_ioctl were renamed to .*_intel to
denote calling mechanism as in 4.3 tailored to the Intel Example DSM.
New functions acpi_nfit_ctl_passthru and __nd_ioctl_passthru were
created to supply the pass thru interface.
These changes are based upon the 4.3 kernel.
Changes in version 2:
---------------------
1. Cleanup access mode check in nd_ioctl and nvdimm_ioctl.
2. Change name of ndn_pkg to nd_passthru_pkg
3. Adjust sizes in nd_passthru_pkg. DSM intergers are 64 bit.
4. No new ioctl type, instead tunnel into the existing number space.
5. Push down one function level where determine ioctl cmd type.
6. re-work diagnostic print/dump message in pass-thru functions.
Jerry Hoemann (3):
nvdimm: Clean-up access mode check.
nvdimm: Add wrapper for IOCTL pass thru
nvdimm: Add IOCTL pass thru functions
drivers/acpi/nfit.c | 93 ++++++++++++++++++++++++++++++++++++++++-
drivers/nvdimm/bus.c | 101 +++++++++++++++++++++++++++++++++++++++++----
include/uapi/linux/ndctl.h | 16 +++++++
3 files changed, 202 insertions(+), 8 deletions(-)
--
1.7.11.3
next reply other threads:[~2015-11-16 18:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-16 18:38 Jerry Hoemann [this message]
2015-11-16 18:38 ` [PATCH v2 1/3] nvdimm: Clean-up access mode check Jerry Hoemann
2015-11-16 18:38 ` [PATCH v2 2/3] nvdimm: Add wrapper for IOCTL pass thru Jerry Hoemann
2015-11-16 18:38 ` [PATCH v2 3/3] nvdimm: Add IOCTL pass thru functions Jerry Hoemann
2015-11-16 19:00 ` [PATCH v2 0/3] nvdimm: Add an IOCTL pass thru for DSM calls Dan Williams
2015-11-16 21:10 ` Jerry Hoemann
2015-11-17 1:29 ` Dan Williams
2015-11-17 16:56 ` Jerry Hoemann
2015-11-17 17:05 ` Dan Williams
2015-11-18 7:01 ` Jerry Hoemann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1447698598.git.jerry.hoemann@hpe.com \
--to=jerry.hoemann@hpe.com \
--cc=dan.j.williams@intel.com \
--cc=elliott@hpe.com \
--cc=jmoyer@redhat.com \
--cc=krivenok.dmitry@gmail.com \
--cc=lenb@kernel.org \
--cc=linda.knippers@hpe.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvdimm@ml01.01.org \
--cc=rjw@rjwysocki.net \
--cc=ross.zwisler@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox