On 08/04/16 22:03, Bread Cutter wrote:
> My workaround for now is just something like
> 
>      int mode = hvm_guest_x86_mode(curr);
> 
>      uint32_t eax = regs->eax;
> 
> 
> +    if(eax == 0xFACE) {
> +        hvm_event_guest_request();
> +        return 1;
> +    }
> +
> 
>      switch ( mode )
>      {
>      case 8:
> 
> This way I don't have to worry about if it's a 32 or 64 bit guest. As
> long as I set EAX to 0xFACE before VMCALL, I can define my own calling
> convention for the rest of the registers.
> 
> Might not be what you'd want, but just thought I'd share.

Thanks for sharing. Since there appear to be many people needing / doing
these workarounds, this would IMHO justify at least considering the
official patch for upstream.

Unless someone strongly objects, I'll redo the patch with the modified
comparison for 32-bit guests, as suggested by Jan, and submit it
tomorrow. Whether it's accepted or not is of course up to the
maintainers, but it might be nice to just have an archived patch
suggesting how interested parties can achieve this.


Thanks,
Razvan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to