Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1282390

[PATCH v3 0/3] nvdimm: Add an IOCTL pass thru for DSM calls

From Jerry Hoemann <jerry.hoemann@hpe.com>
Newsgroups linux.kernel
Subject [PATCH v3 0/3] nvdimm: Add an IOCTL pass thru for DSM calls
Date 2015-12-02 22:10 +0100
Message-ID <qBmP0-47N-11@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View 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_CALL_DSM == "10" is added for the pass thru call.

The new data structure nd_cmd_dsmcall_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_cmd_dsmcall_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
calling _DSM functions.

The kernel functions __nd_ioctl and acpi_nfit_ctl were modified
to accomodate ND_CMD_CALL_DSM.

These changes are based upon the 4.3 kernel.


Changes in version 3:
---------------------
1. Changed name ND_CMD_PASSTHRU to ND_CMD_CALL_DSM.

2. Value of ND_CMD_CALL_DSM is 10, not 100.

3. Changed name of nd_passthru_pkg to nd_cmd_dsmcall_pkg.

4. Removed separate functions for handling ND_CMD_CALL_DSM.
   Moved functionality to __nd_ioctl and acpi_nfit_ctl proper.
   The resultant code looks very different from prior versions.

5. BUGFIX: __nd_ioctl: Change the if read_only switch to use
	 _IOC_NR cmd (not ioctl_cmd) for better protection.

	Do we want to make a stand alone patch for this issue?


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        | 109 ++++++++++++++++++++++++++++-----------------
 drivers/nvdimm/bus.c       |  73 +++++++++++++++++++++---------
 include/uapi/linux/ndctl.h |  18 ++++++++
 3 files changed, 139 insertions(+), 61 deletions(-)

-- 
1.7.11.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH v3 0/3] nvdimm: Add an IOCTL pass thru for DSM calls Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-02 22:10 +0100
  [PATCH v3 2/3] nvdimm: Add wrapper for IOCTL pass thru Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-02 22:10 +0100
  [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-02 22:10 +0100
    Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Dan Williams <dan.j.williams@intel.com> - 2015-12-09 03:20 +0100
      Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-10 01:30 +0100
        Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Dan Williams <dan.j.williams@intel.com> - 2015-12-10 01:50 +0100
          Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-11 19:20 +0100
            Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Dan Williams <dan.j.williams@intel.com> - 2015-12-11 19:20 +0100
              Re: [PATCH v3 3/3] nvdimm: Add IOCTL pass thru functions Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-11 20:10 +0100
  [PATCH v3 1/3] nvdimm: Clean-up access mode check. Jerry Hoemann <jerry.hoemann@hpe.com> - 2015-12-02 22:10 +0100

csiph-web