Re: [PATCH] KVM: VMX: Correct asm constraint in vmcs_load()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux