diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2013-03-25 12:22:49 -0400 |
---|---|---|
committer | Gleb Natapov <gleb@redhat.com> | 2013-04-02 09:14:20 -0400 |
commit | d21683ea1f1b03823928a98b6380332b9385e3a7 (patch) | |
tree | 08abf3cfe3538a7b4473a88cfb4778b88071365a /arch/s390/kvm/priv.c | |
parent | 2cef4deb4018c02fb3cd08f76c8a988f7ddee480 (diff) |
KVM: s390: fix 24 bit psw handling in lpsw/lpswe handler
When checking for validity the lpsw/lpswe handler check that only
the lower 20 bits instead of 24 bits have a non-zero value.
There handling valid psws as invalid ones.
Fix the 24 bit psw mask.
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Diffstat (limited to 'arch/s390/kvm/priv.c')
-rw-r--r-- | arch/s390/kvm/priv.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kvm/priv.c b/arch/s390/kvm/priv.c index 7db2ad076f31..7b397b37d11a 100644 --- a/arch/s390/kvm/priv.c +++ b/arch/s390/kvm/priv.c | |||
@@ -255,7 +255,7 @@ static void handle_new_psw(struct kvm_vcpu *vcpu) | |||
255 | 255 | ||
256 | #define PSW_MASK_ADDR_MODE (PSW_MASK_EA | PSW_MASK_BA) | 256 | #define PSW_MASK_ADDR_MODE (PSW_MASK_EA | PSW_MASK_BA) |
257 | #define PSW_MASK_UNASSIGNED 0xb80800fe7fffffffUL | 257 | #define PSW_MASK_UNASSIGNED 0xb80800fe7fffffffUL |
258 | #define PSW_ADDR_24 0x00000000000fffffUL | 258 | #define PSW_ADDR_24 0x0000000000ffffffUL |
259 | #define PSW_ADDR_31 0x000000007fffffffUL | 259 | #define PSW_ADDR_31 0x000000007fffffffUL |
260 | 260 | ||
261 | int kvm_s390_handle_lpsw(struct kvm_vcpu *vcpu) | 261 | int kvm_s390_handle_lpsw(struct kvm_vcpu *vcpu) |