projects
/
GitHub
/
LineageOS
/
android_kernel_motorola_exynos9610.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e879892
)
KVM: s390: Fix clock comparator field for STORE STATUS
author
Thomas Huth
<thuth@linux.vnet.ibm.com>
Wed, 13 Nov 2013 19:28:18 +0000
(20:28 +0100)
committer
Cornelia Huck
<cornelia.huck@de.ibm.com>
Thu, 28 Nov 2013 10:08:14 +0000
(11:08 +0100)
Only the most 7 significant bytes of the clock comparator must be
saved to the status area, and the byte at offset 304 has to be zero.
Signed-off-by: Thomas Huth <thuth@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
arch/s390/kvm/kvm-s390.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/s390/kvm/kvm-s390.c
b/arch/s390/kvm/kvm-s390.c
index 55eb8dec2a7701a213e9203747ca952eecf02a9c..1bb1ddaf93c0d76554aa86bb6e45332edecce1fd 100644
(file)
--- a/
arch/s390/kvm/kvm-s390.c
+++ b/
arch/s390/kvm/kvm-s390.c
@@
-877,6
+877,7
@@
int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long addr)
{
unsigned char archmode = 1;
int prefix;
+ u64 clkcomp;
if (addr == KVM_S390_STORE_STATUS_NOADDR) {
if (copy_to_guest_absolute(vcpu, 163ul, &archmode, 1))
@@
-920,8
+921,9
@@
int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long addr)
&vcpu->arch.sie_block->cputm, 8, prefix))
return -EFAULT;
+ clkcomp = vcpu->arch.sie_block->ckc >> 8;
if (__guestcopy(vcpu, addr + offsetof(struct save_area, clk_cmp),
- &
vcpu->arch.sie_block->ckc
, 8, prefix))
+ &
clkcomp
, 8, prefix))
return -EFAULT;
if (__guestcopy(vcpu, addr + offsetof(struct save_area, acc_regs),