diff options
author | Michael Mueller <mimu@linux.vnet.ibm.com> | 2014-05-13 10:58:30 -0400 |
---|---|---|
committer | Christian Borntraeger <borntraeger@de.ibm.com> | 2014-05-16 08:57:31 -0400 |
commit | fda902cb8347da121025c4079b9e87748228a27e (patch) | |
tree | b5cbcce14afbe2da194e4b3cb8f1594cea800fb5 /arch/s390/kvm/kvm-s390.h | |
parent | 570126d370e9c018e603d63272ebcf7340efc05b (diff) |
KVM: s390: split SIE state guest prefix field
This patch splits the SIE state guest prefix at offset 4
into a prefix bit field. Additionally it provides the
access functions:
- kvm_s390_get_prefix()
- kvm_s390_set_prefix()
to access the prefix per vcpu.
Signed-off-by: Michael Mueller <mimu@linux.vnet.ibm.com>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Diffstat (limited to 'arch/s390/kvm/kvm-s390.h')
-rw-r--r-- | arch/s390/kvm/kvm-s390.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/s390/kvm/kvm-s390.h b/arch/s390/kvm/kvm-s390.h index 87edfc919db9..a8655ed31616 100644 --- a/arch/s390/kvm/kvm-s390.h +++ b/arch/s390/kvm/kvm-s390.h | |||
@@ -61,9 +61,15 @@ static inline int kvm_is_ucontrol(struct kvm *kvm) | |||
61 | #endif | 61 | #endif |
62 | } | 62 | } |
63 | 63 | ||
64 | #define GUEST_PREFIX_SHIFT 13 | ||
65 | static inline u32 kvm_s390_get_prefix(struct kvm_vcpu *vcpu) | ||
66 | { | ||
67 | return vcpu->arch.sie_block->prefix << GUEST_PREFIX_SHIFT; | ||
68 | } | ||
69 | |||
64 | static inline void kvm_s390_set_prefix(struct kvm_vcpu *vcpu, u32 prefix) | 70 | static inline void kvm_s390_set_prefix(struct kvm_vcpu *vcpu, u32 prefix) |
65 | { | 71 | { |
66 | vcpu->arch.sie_block->prefix = prefix & 0x7fffe000u; | 72 | vcpu->arch.sie_block->prefix = prefix >> GUEST_PREFIX_SHIFT; |
67 | vcpu->arch.sie_block->ihcpu = 0xffff; | 73 | vcpu->arch.sie_block->ihcpu = 0xffff; |
68 | kvm_make_request(KVM_REQ_MMU_RELOAD, vcpu); | 74 | kvm_make_request(KVM_REQ_MMU_RELOAD, vcpu); |
69 | } | 75 | } |