mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
KVM: s390: introduce post handlers for STSI
The Store System Information (STSI) instruction currently collects all information it relays to the caller in the kernel. Some information, however, is only available in user space. An example of this is the guest name: The kernel always sets "KVMGuest", but user space knows the actual guest name. This patch introduces a new exit, KVM_EXIT_S390_STSI, guarded by a capability that can be enabled by user space if it wants to be able to insert such data. User space will be provided with the target buffer and the requested STSI function code. Reviewed-by: Eric Farman <[email protected]> Reviewed-by: Christian Borntraeger <[email protected]> Signed-off-by: Ekaterina Tumanova <[email protected]> Signed-off-by: Christian Borntraeger <[email protected]>
This commit is contained in:
parent
41408c28f2
commit
e44fc8c9da
5 changed files with 61 additions and 1 deletions
|
|
@ -3304,3 +3304,31 @@ Returns: 0 on success, negative value on error
|
|||
Allows use of the vector registers introduced with z13 processor, and
|
||||
provides for the synchronization between host and user space. Will
|
||||
return -EINVAL if the machine does not support vectors.
|
||||
|
||||
7.4 KVM_CAP_S390_USER_STSI
|
||||
|
||||
Architectures: s390
|
||||
Parameters: none
|
||||
|
||||
This capability allows post-handlers for the STSI instruction. After
|
||||
initial handling in the kernel, KVM exits to user space with
|
||||
KVM_EXIT_S390_STSI to allow user space to insert further data.
|
||||
|
||||
Before exiting to userspace, kvm handlers should fill in s390_stsi field of
|
||||
vcpu->run:
|
||||
struct {
|
||||
__u64 addr;
|
||||
__u8 ar;
|
||||
__u8 reserved;
|
||||
__u8 fc;
|
||||
__u8 sel1;
|
||||
__u16 sel2;
|
||||
} s390_stsi;
|
||||
|
||||
@addr - guest address of STSI SYSIB
|
||||
@fc - function code
|
||||
@sel1 - selector 1
|
||||
@sel2 - selector 2
|
||||
@ar - access register number
|
||||
|
||||
KVM handlers should exit to userspace with rc = -EREMOTE.
|
||||
|
|
|
|||
Loading…
Reference in a new issue