KVM: arm64: Convert kvm_mpidr_index() to bitmap_gather()
Marc Zyngier
maintainerPATCH 1/1 KVM: arm64: Convert kvm_mpidr_index() to bitmap_gather()
Linux 6.9 has introduced new bitmap manipulation helpers, with bitmap_gather() being of special interest, as it does exactly what kvm_mpidr_index() is already doing.
Make the latter a wrapper around the former.
--- arch/arm64/include/asm/kvm_host.h | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-)
arch/arm64/include/asm/kvm_host.h +3 -13
@@ -221,20 +221,10 @@ struct kvm_mpidr_data {static inline u16 kvm_mpidr_index (struct kvm_mpidr_data *data,u64 mpidr) { -unsigned long mask = data->mpidr_mask; -u64 aff = mpidr &MPIDR_HWID_BITMASK ; -int nbits, bit, bit_idx =0 ; -u16 index =0 ; +unsigned long index =0 , mask = data->mpidr_mask; +unsigned long aff = mpidr &MPIDR_HWID_BITMASK ; -/* -* If this looks like RISC-V's BEXT or x86's PEXT -* instructions, it isn't by accident. -*/ - nbits =fls (mask); -for_each_set_bit (bit, &mask, nbits) { - index |= (aff &BIT (bit)) >> (bit - bit_idx); - bit_idx++; - } +bitmap_gather (&index, &aff, &mask,fls (mask));return index; }
Signature · 1 line
2.39.2
Quoted 3 lines · Marc Zyngier
Linux 6.9 has introduced new bitmap manipulation helpers, with
bitmap_gather()being of special interest, as it does exactly whatkvm_mpidr_index()is already doing.
Ooo, that's a handy one!
Quoted 3 lines
Make the latter a wrapper around the former.
Signed-off-by Marc Zyngier <[email protected]>
Signature · 2 lines
Thanks, Oliver
Quoted 8 lines · Marc Zyngier
Linux 6.9 has introduced new bitmap manipulation helpers, with
bitmap_gather()being of special interest, as it does exactly whatkvm_mpidr_index()is already doing.Make the latter a wrapper around the former.
[...]
Applied to next, thanks!
[1/1] KVM: arm64: Convert kvm_mpidr_index() to bitmap_gather()
commit: 838d992b84486311e6039170d28b79a7a0633f06
Cheers,
M.
Signature · 1 line
Without deviation from the norm, progress is not possible.