KVM: s390: convert handle_set_clock()
Convert handle_set_clock() to new guest access functions. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Reviewed-by: Thomas Huth <thuth@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
This commit is contained in:
parent
665170cb47
commit
0e7a3f9405
|
@ -35,8 +35,8 @@ static int handle_set_clock(struct kvm_vcpu *vcpu)
|
||||||
{
|
{
|
||||||
struct kvm_vcpu *cpup;
|
struct kvm_vcpu *cpup;
|
||||||
s64 hostclk, val;
|
s64 hostclk, val;
|
||||||
|
int i, rc;
|
||||||
u64 op2;
|
u64 op2;
|
||||||
int i;
|
|
||||||
|
|
||||||
if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE)
|
if (vcpu->arch.sie_block->gpsw.mask & PSW_MASK_PSTATE)
|
||||||
return kvm_s390_inject_program_int(vcpu, PGM_PRIVILEGED_OP);
|
return kvm_s390_inject_program_int(vcpu, PGM_PRIVILEGED_OP);
|
||||||
|
@ -44,8 +44,9 @@ static int handle_set_clock(struct kvm_vcpu *vcpu)
|
||||||
op2 = kvm_s390_get_base_disp_s(vcpu);
|
op2 = kvm_s390_get_base_disp_s(vcpu);
|
||||||
if (op2 & 7) /* Operand must be on a doubleword boundary */
|
if (op2 & 7) /* Operand must be on a doubleword boundary */
|
||||||
return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION);
|
return kvm_s390_inject_program_int(vcpu, PGM_SPECIFICATION);
|
||||||
if (get_guest(vcpu, val, (u64 __user *) op2))
|
rc = read_guest(vcpu, op2, &val, sizeof(val));
|
||||||
return kvm_s390_inject_program_int(vcpu, PGM_ADDRESSING);
|
if (rc)
|
||||||
|
return kvm_s390_inject_prog_cond(vcpu, rc);
|
||||||
|
|
||||||
if (store_tod_clock(&hostclk)) {
|
if (store_tod_clock(&hostclk)) {
|
||||||
kvm_s390_set_psw_cc(vcpu, 3);
|
kvm_s390_set_psw_cc(vcpu, 3);
|
||||||
|
|
Loading…
Reference in New Issue