Merge tag 'kvm-s390-next-6.9-1' of https://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux into HEAD
- Memop selftest rotate fix - SCLP event bits over indication fix - Missing virt_to_phys for the CRYCB fix
This commit is contained in:
@@ -1031,7 +1031,7 @@ static int __must_check __deliver_service_ev(struct kvm_vcpu *vcpu)
|
||||
return 0;
|
||||
}
|
||||
ext = fi->srv_signal;
|
||||
/* only clear the event bit */
|
||||
/* only clear the event bits */
|
||||
fi->srv_signal.ext_params &= ~SCCB_EVENT_PENDING;
|
||||
clear_bit(IRQ_PEND_EXT_SERVICE_EV, &fi->pending_irqs);
|
||||
spin_unlock(&fi->lock);
|
||||
@@ -1041,7 +1041,7 @@ static int __must_check __deliver_service_ev(struct kvm_vcpu *vcpu)
|
||||
trace_kvm_s390_deliver_interrupt(vcpu->vcpu_id, KVM_S390_INT_SERVICE,
|
||||
ext.ext_params, 0);
|
||||
|
||||
return write_sclp(vcpu, SCCB_EVENT_PENDING);
|
||||
return write_sclp(vcpu, ext.ext_params & SCCB_EVENT_PENDING);
|
||||
}
|
||||
|
||||
static int __must_check __deliver_pfault_done(struct kvm_vcpu *vcpu)
|
||||
|
||||
@@ -3153,7 +3153,7 @@ static int kvm_s390_apxa_installed(void)
|
||||
*/
|
||||
static void kvm_s390_set_crycb_format(struct kvm *kvm)
|
||||
{
|
||||
kvm->arch.crypto.crycbd = (__u32)(unsigned long) kvm->arch.crypto.crycb;
|
||||
kvm->arch.crypto.crycbd = virt_to_phys(kvm->arch.crypto.crycb);
|
||||
|
||||
/* Clear the CRYCB format bits - i.e., set format 0 by default */
|
||||
kvm->arch.crypto.crycbd &= ~(CRYCB_FORMAT_MASK);
|
||||
|
||||
@@ -489,6 +489,8 @@ static __uint128_t rotate(int size, __uint128_t val, int amount)
|
||||
|
||||
amount = (amount + bits) % bits;
|
||||
val = cut_to_size(size, val);
|
||||
if (!amount)
|
||||
return val;
|
||||
return (val << (bits - amount)) | (val >> amount);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user