OSDN Git Service

cxl/mem: Add basic IOCTL interface
authorBen Widawsky <ben.widawsky@intel.com>
Wed, 17 Feb 2021 04:09:53 +0000 (20:09 -0800)
committerDan Williams <dan.j.williams@intel.com>
Wed, 17 Feb 2021 04:36:38 +0000 (20:36 -0800)
commit583fa5e71caeb79e04e477e9837e2f7fa53b71e4
tree86f2720d26afc073b5460acd08a0e10d493299d9
parentb39cb1052a5cf41bc12201ec1c0ddae5cb8be868
cxl/mem: Add basic IOCTL interface

Add a straightforward IOCTL that provides a mechanism for userspace to
query the supported memory device commands. CXL commands as they appear
to userspace are described as part of the UAPI kerneldoc. The command
list returned via this IOCTL will contain the full set of commands that
the driver supports, however, some of those commands may not be
available for use by userspace.

Memory device commands first appear in the CXL 2.0 specification. They
are submitted through a mailbox mechanism specified in the CXL 2.0
specification.

The send command allows userspace to issue mailbox commands directly to
the hardware. The list of available commands to send are the output of
the query command. The driver verifies basic properties of the command
and possibly inspect the input (or output) payload to determine whether
or not the command is allowed (or might taint the kernel).

Reported-by: kernel test robot <lkp@intel.com> # bug in earlier revision
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Ben Widawsky <ben.widawsky@intel.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com> (v2)
Cc: Al Viro <viro@zeniv.linux.org.uk>
Link: https://lore.kernel.org/r/20210217040958.1354670-5-ben.widawsky@intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
.clang-format
Documentation/driver-api/cxl/memory-devices.rst
Documentation/userspace-api/ioctl/ioctl-number.rst
drivers/cxl/mem.c
include/uapi/linux/cxl_mem.h [new file with mode: 0644]