On Thu, Dec 24, 2015 at 04:29:21PM +0300, Andrey Smetanin wrote: > Currently on x86 arch we has already 32 requests defined > so the newer request bits can't be placed inside > vcpu->requests(unsigned long) inside x86 32 bit system. > But we are going to add a new request in x86 arch > for Hyper-V tsc page support. > > To solve the problem the patch replaces vcpu->requests by > bitmap with 64 bit length and uses bitmap API. > > The patch consists of: > * announce kvm_has_requests() to check whether vcpu has > requests > * announce kvm_clear_request() to clear particular vcpu request > * announce kvm_test_request() to test particular vcpu request > * replace if (vcpu->requests) by if (kvm_has_requests(vcpu)) > * replace clear_bit(req, vcpu->requests) by > kvm_clear_request(req, vcpu) > > Changes v2: > * hide internals of vcpu requests bitmap > by interface usage in all places > * replace test_bit(req, vcpu->requests) by > kvm_test_request() > * POWERPC: trace vcpu requests bitmap by > __bitmask, __assign_bitmap, __get_bitmask > > Signed-off-by: Andrey Smetanin <asmetanin@xxxxxxxxxxxxx> > Acked-by: James Hogan <james.hogan@xxxxxxxxxx> > CC: Paolo Bonzini <pbonzini@xxxxxxxxxx> > CC: Gleb Natapov <gleb@xxxxxxxxxx> > CC: James Hogan <james.hogan@xxxxxxxxxx> > CC: Paul Burton <paul.burton@xxxxxxxxxx> > CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx> > CC: Alexander Graf <agraf@xxxxxxxx> > CC: Christian Borntraeger <borntraeger@xxxxxxxxxx> > CC: Cornelia Huck <cornelia.huck@xxxxxxxxxx> > CC: linux-mips@xxxxxxxxxxxxxx > CC: kvm-ppc@xxxxxxxxxxxxxxx > CC: linux-s390@xxxxxxxxxxxxxxx > CC: Roman Kagan <rkagan@xxxxxxxxxxxxx> > CC: Denis V. Lunev <den@xxxxxxxxxx> > CC: qemu-devel@xxxxxxxxxx > --- > arch/mips/kvm/emulate.c | 4 +--- > arch/powerpc/kvm/book3s_pr.c | 2 +- > arch/powerpc/kvm/book3s_pr_papr.c | 2 +- > arch/powerpc/kvm/booke.c | 6 +++--- > arch/powerpc/kvm/powerpc.c | 6 +++--- > arch/powerpc/kvm/trace.h | 9 +++++---- > arch/s390/kvm/kvm-s390.c | 4 ++-- > arch/x86/kvm/vmx.c | 2 +- > arch/x86/kvm/x86.c | 16 ++++++++-------- > include/linux/kvm_host.h | 38 +++++++++++++++++++++++++------------- > 10 files changed, 50 insertions(+), 39 deletions(-) Reviewed-by: Roman Kagan <rkagan@xxxxxxxxxxxxx>