From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] KVM: VMX: Correct asm constraint in vmcs_load() Date: Mon, 20 Dec 2010 19:58:27 +0200 Message-ID: <4D0F9943.8090001@redhat.com> References: <1292835996-7274-1-git-send-email-avi@redhat.com> <4D0F8AA2.3010301@oracle.com> <4D0F96C0.8040101@redhat.com> <4D0F9816.7050003@oracle.com> <4D0F98F4.5070002@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org To: Randy Dunlap Return-path: Received: from mx1.redhat.com ([209.132.183.28]:46459 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932905Ab0LTR6d (ORCPT ); Mon, 20 Dec 2010 12:58:33 -0500 In-Reply-To: <4D0F98F4.5070002@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 12/20/2010 07:57 PM, Avi Kivity wrote: > On 12/20/2010 07:53 PM, Randy Dunlap wrote: >> On 12/20/10 09:47, Avi Kivity wrote: >> > On 12/20/2010 06:56 PM, Randy Dunlap wrote: >> >> On 12/20/10 01:06, Avi Kivity wrote: >> >> > 'error' is byte sized, so use a byte register constraint. >> >> >> >> Hm, OK, but I still get the same build error. >> > >> > Not okay then. Can you verify that by removing the content of the >> > function the problem goes away? >> >> Nope. I put #if 0 / #endif around the asm() and if (error) lines >> but I still get the error message: >> >> linux-next-20101217/arch/x86/kvm/vmx.c: Assembler messages: >> linux-next-20101217/arch/x86/kvm/vmx.c:488: Error: bad register name >> `%sil' >> > > And line 488 was one of those under #if 0? > >> which is on the "u8 error;" line below: >> >> static void vmcs_load(struct vmcs *vmcs) >> { >> u64 phys_addr = __pa(vmcs); >> u8 error; >> Er, you just answered me. Are you sure gcc saw your update? what happens if you comment that line as well? assign to 'error' instead? Wierd. -- I have a truly marvellous patch that fixes the bug which this signature is too narrow to contain.