On Wed, Mar 02, 2022 at 07:31:58PM +0200, Andy Shevchenko wrote: > On Wed, Mar 02, 2022 at 09:18:35AM -0800, Yury Norov wrote: > > On Wed, Mar 02, 2022 at 05:44:03PM +0200, Andy Shevchenko wrote: > > > On Thu, Feb 24, 2022 at 01:10:34PM +0100, Michael Mueller wrote: > > > > On 24.02.22 12:36, Claudio Imbrenda wrote: > > > > > > ... > > > > > > > we do that at several places > > > > > > Thanks for pointing out. > > > > > > > arch/s390/kernel/processor.c: for_each_set_bit_inv(bit, (long > > > > *)&stfle_fac_list, MAX_FACILITY_BIT) > > > > > > This one requires a separate change, not related to this patch. > > > > > > > arch/s390/kvm/interrupt.c: set_bit_inv(IPM_BIT_OFFSET + gisc, (unsigned long > > > > *) gisa); > > > > > > This is done in the patch. Not sure how it appears in your list. > > > > > > > arch/s390/kvm/kvm-s390.c: set_bit_inv(vcpu->vcpu_id, (unsigned long *) > > > > sca->mcn); > > > > arch/s390/kvm/kvm-s390.c: set_bit_inv(vcpu->vcpu_id, (unsigned long *) > > > > &sca->mcn); > > > > > > These two should be fixed in a separate change. > > > > > > Also this kind of stuff: > > > > > > bitmap_copy(kvm->arch.cpu_feat, (unsigned long *) data.feat, > > > KVM_S390_VM_CPU_FEAT_NR_BITS); > > > > > > might require a new API like > > > > > > bitmap_from_u64_array() > > > bitmap_to_u64_array() > > > > > > Yury? > > > > If BE32 is still the case then yes. > > The whole point is to get rid of the bad pattern, while it may still work > in the particular case. Then yes unconditionally. Is it already on table of s390 folks? If no, I can do it myself. We have bitmap_from_arr32 and bitmap_to_arr32, so for 64-bit versions, we'd start from that.