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