diff options
author | Cornelia Huck <cornelia.huck@de.ibm.com> | 2012-12-20 15:32:07 +0100 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2013-01-07 19:53:38 -0200 |
commit | b1c571a50dfacf25a24c23271e9b8bf18ff6b102 (patch) | |
tree | ca6408076537bab63fd2b7e9df890f1a524c14a3 /arch/s390/kvm/sigp.c | |
parent | 77975357956c6450dd7ac3dfe572c1a8f0014c54 (diff) | |
download | linux-b1c571a50dfacf25a24c23271e9b8bf18ff6b102.tar.gz linux-b1c571a50dfacf25a24c23271e9b8bf18ff6b102.tar.bz2 linux-b1c571a50dfacf25a24c23271e9b8bf18ff6b102.zip |
KVM: s390: Decoding helper functions.
Introduce helper functions for decoding the various base/displacement
instruction formats.
Reviewed-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/s390/kvm/sigp.c')
-rw-r--r-- | arch/s390/kvm/sigp.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/s390/kvm/sigp.c b/arch/s390/kvm/sigp.c index 566ddf6e8dfb..461e84179db1 100644 --- a/arch/s390/kvm/sigp.c +++ b/arch/s390/kvm/sigp.c @@ -324,8 +324,6 @@ int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu) { int r1 = (vcpu->arch.sie_block->ipa & 0x00f0) >> 4; int r3 = vcpu->arch.sie_block->ipa & 0x000f; - int base2 = vcpu->arch.sie_block->ipb >> 28; - int disp2 = ((vcpu->arch.sie_block->ipb & 0x0fff0000) >> 16); u32 parameter; u16 cpu_addr = vcpu->run->s.regs.gprs[r3]; u8 order_code; @@ -336,9 +334,7 @@ int kvm_s390_handle_sigp(struct kvm_vcpu *vcpu) return kvm_s390_inject_program_int(vcpu, PGM_PRIVILEGED_OPERATION); - order_code = disp2; - if (base2) - order_code += vcpu->run->s.regs.gprs[base2]; + order_code = kvm_s390_get_base_disp_rs(vcpu); if (r1 % 2) parameter = vcpu->run->s.regs.gprs[r1]; |