From: Avi Kivity <avi@redhat.com>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH] KVM: VMX: Correct asm constraint in vmcs_load()
Date: Mon, 20 Dec 2010 20:26:29 +0200 [thread overview]
Message-ID: <4D0F9FD5.800@redhat.com> (raw)
In-Reply-To: <4D0F9ED3.4040009@oracle.com>
On 12/20/2010 08:22 PM, Randy Dunlap wrote:
> On 12/20/10 09:58, Avi Kivity wrote:
> > 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?
>
> > pwd
> /lnx/src/NEXT/linux-next-20101217
>
> > quilt ser -v
> = kvm-asm-constraint12.patch
>
> > make ARCH=i386 O=X32 all 2>&1 | tee kvm7.out
> <kconfig messages deleted>
> Using /lnx/src/NEXT/linux-next-20101217 as source for kernel
> GEN /lnx/src/NEXT/linux-next-20101217/X32/Makefile
> CHK include/linux/version.h
> CHK include/generated/utsrelease.h
> CALL /lnx/src/NEXT/linux-next-20101217/scripts/checksyscalls.sh
> CHK include/generated/compile.h
> CC arch/x86/kvm/vmx.o
> /lnx/src/NEXT/linux-next-20101217/arch/x86/kvm/vmx.c: Assembler messages:
> /lnx/src/NEXT/linux-next-20101217/arch/x86/kvm/vmx.c:488: Error: bad register name `%sil'
> make[3]: *** [arch/x86/kvm/vmx.o] Error 1
> make[2]: *** [arch/x86/kvm] Error 2
> make[1]: *** [arch/x86] Error 2
> make: *** [sub-make] Error 2
>
>
> This is with the entire function being empty (no code, no data).
>
> > Wierd.
>
> Definitely. I can't explain it.
>
Maybe it's the vmcs_clear() above. Try the same treatment?
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
next prev parent reply other threads:[~2010-12-20 18:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-20 9:06 [PATCH] KVM: VMX: Correct asm constraint in vmcs_load() Avi Kivity
2010-12-20 16:56 ` Randy Dunlap
2010-12-20 17:47 ` Avi Kivity
2010-12-20 17:53 ` Randy Dunlap
2010-12-20 17:57 ` Avi Kivity
2010-12-20 17:58 ` Avi Kivity
2010-12-20 18:22 ` Randy Dunlap
2010-12-20 18:26 ` Avi Kivity [this message]
2010-12-20 19:16 ` Randy Dunlap
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D0F9FD5.800@redhat.com \
--to=avi@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=randy.dunlap@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox