diff options
author | Carsten Otte <carsteno@de.ibm.com> | 2009-11-19 14:21:16 +0100 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2009-12-03 09:32:25 +0200 |
commit | d7b0b5eb3000c6fb902f08c619fcd673a23d8fab (patch) | |
tree | 4c7aa92657435c687f98383aaea5ce15ee9fba9c /include/linux/kvm.h | |
parent | 3cfc3092f40bc37c57ba556cfd8de4218f2135ab (diff) | |
download | linux-3.10-d7b0b5eb3000c6fb902f08c619fcd673a23d8fab.tar.gz linux-3.10-d7b0b5eb3000c6fb902f08c619fcd673a23d8fab.tar.bz2 linux-3.10-d7b0b5eb3000c6fb902f08c619fcd673a23d8fab.zip |
KVM: s390: Make psw available on all exits, not just a subset
This patch moves s390 processor status word into the base kvm_run
struct and keeps it up-to date on all userspace exits.
The userspace ABI is broken by this, however there are no applications
in the wild using this. A capability check is provided so users can
verify the updated API exists.
Cc: stable@kernel.org
Signed-off-by: Carsten Otte <cotte@de.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include/linux/kvm.h')
-rw-r--r-- | include/linux/kvm.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 92045a92d71..2d241da0723 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@ -181,6 +181,11 @@ struct kvm_run { __u64 cr8; __u64 apic_base; +#ifdef __KVM_S390 + /* the processor status word for s390 */ + __u64 psw_mask; /* psw upper half */ + __u64 psw_addr; /* psw lower half */ +#endif union { /* KVM_EXIT_UNKNOWN */ struct { @@ -232,8 +237,6 @@ struct kvm_run { /* KVM_EXIT_S390_SIEIC */ struct { __u8 icptcode; - __u64 mask; /* psw upper half */ - __u64 addr; /* psw lower half */ __u16 ipa; __u32 ipb; } s390_sieic; @@ -492,6 +495,7 @@ struct kvm_ioeventfd { #ifdef __KVM_HAVE_VCPU_EVENTS #define KVM_CAP_VCPU_EVENTS 41 #endif +#define KVM_CAP_S390_PSW 42 #ifdef KVM_CAP_IRQ_ROUTING |