]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit602e4a32d3110550f845114e2787864e43276cda
tree86f2720d26afc073b5460acd08a0e10d493299d9
parent841d25838973be5d96477e01628fb88722883e8e
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]