Vitaly Kuznetsov <vkuzn...@redhat.com> writes:

> Jork Loeser <jork.loe...@microsoft.com> writes:
>

[snip]

>
>>> +   }
>>> +#else
>>> +   {
>>> +           u32 hv_status_hi, hv_status_lo;
>>> +
>>> +           __asm__ __volatile__ ("call *%6"
>>> +                                 : "=d"(hv_status_hi),
>>> +                                   "=a"(hv_status_lo) :
>>> +                                   "d" (control.as_uint32_hi),
>>> +                                   "a" (control.as_uint32_lo),
>>> +                                   "c" ((u32)input1),
>>> +                                   "b" ((u32)(input1 >> 32)),
>>> +                                   "m" (hv_hypercall_pg)
>>> +                                 : "cc");
>>> +
>>> +           return hv_status_lo | ((u64)hv_status_hi << 32);
>>> +   }
>>> +#endif
>> Please clobber ECX, EDI and ESI for x86. Clobber memory as well?
>
> ECX is already in listed in inputs (lower part of input1) so it's
> automatically clobbered. I'll add EDI and ESI to clobbers here, thanks!

Oh, I see what you mean - hypervisor is allowed to write to ecx too, we
need to pass it with '+'. Will do, thanks!

-- 
  Vitaly
_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to