From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: [PATCH] KVM: Fix unsigned asm instruction in kvm_write_tsc() Date: Thu, 8 Mar 2012 13:57:23 +0200 Message-ID: <1331207843-13711-1-git-send-email-avi@redhat.com> To: Marcelo Tosatti , kvm@vger.kernel.org, Randy Dunlap Return-path: Received: from mx1.redhat.com ([209.132.183.28]:29859 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756893Ab2CHL5e (ORCPT ); Thu, 8 Mar 2012 06:57:34 -0500 Sender: kvm-owner@vger.kernel.org List-ID: 'idiv', when given a memory operand, can't determine the instruction size. Provide it explicitly. Reported-by: Randy Dunlap Signed-off-by: Avi Kivity --- arch/x86/kvm/x86.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 7ce5878..32096cf 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c @@ -1038,7 +1038,7 @@ void kvm_write_tsc(struct kvm_vcpu *vcpu, u64 data) nsdiff = (nsdiff * 1000) / vcpu->arch.virtual_tsc_khz; #else /* do_div() only does unsigned */ - asm("idiv %2; xor %%edx, %%edx" + asm("idivl %2; xor %%edx, %%edx" : "=A"(nsdiff) : "A"(nsdiff * 1000), "rm"(vcpu->arch.virtual_tsc_khz)); #endif -- 1.7.9