drivers/s390/char: Add Ultravisor io device
authorSteffen Eiden <seiden@linux.ibm.com>
Mon, 16 May 2022 11:33:35 +0000 (11:33 +0000)
committerJanosch Frank <frankja@linux.ibm.com>
Fri, 20 May 2022 14:38:35 +0000 (16:38 +0200)
commit4689752c79fa30e91b49b39a9fba93c4d1f3e20c
treee76b156702241c464684e2f0a5f0a07409b0318f
parentce522ba9ef7e2d9fb22a39eb3371c0c64e2a433e
drivers/s390/char: Add Ultravisor io device

This patch adds a new miscdevice to expose some Ultravisor functions
to userspace. Userspace can send IOCTLs to the uvdevice that will then
emit a corresponding Ultravisor Call and hands the result over to
userspace. The uvdevice is available if the Ultravisor Call facility is
present.
Userspace can call the Retrieve Attestation Measurement
Ultravisor Call using IOCTLs on the uvdevice.

The uvdevice will do some sanity checks first.
Then, copy the request data to kernel space, build the UVCB,
perform the UV call, and copy the result back to userspace.

Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Link: https://lore.kernel.org/kvm/20220516113335.338212-1-seiden@linux.ibm.com/
Message-Id: <20220516113335.338212-1-seiden@linux.ibm.com>
Signed-off-by: Janosch Frank <frankja@linux.ibm.com> (whitespace and tristate fixes, pick)
MAINTAINERS
arch/s390/include/asm/uv.h
arch/s390/include/uapi/asm/uvdevice.h [new file with mode: 0644]
drivers/s390/char/Kconfig
drivers/s390/char/Makefile
drivers/s390/char/uvdevice.c [new file with mode: 0644]