Anthony Liguori wrote:
> Since a hypercall may span two pages and is a gva, we need a function to write
> to a gva that may span multiple pages.  emulator_write_phys() seems like the
> logical choice for this.
>
> @@ -962,8 +962,35 @@ static int emulator_write_std(unsigned long addr,
>                             unsigned int bytes,
>                             struct kvm_vcpu *vcpu

I think that emulator_write_emulated(), except for being awkwardly 
named, should do the job.  We have enough APIs.

But!  We may not overwrite the hypercall instruction while a vcpu may be 
executing, since there's no atomicity guarantee for code fetch.  We have 
to to be out of guest mode while writing that insn.



-- 
Any sufficiently difficult bug is indistinguishable from a feature.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to