On 17/06/2019 14:55, Jan Beulich wrote: >>>> On 17.06.19 at 14:54, <andrew.coop...@citrix.com> wrote: >> VMExit doesn't switch all state. The FS/GS/TS/LDTR/GSBASE segment >> information, and SYSCALL/SYSENTER MSRs may still be cached in hardware, >> rather >> than up-to-date in the VMCB. >> >> Export svm_sync_vmcb() via svmdebug.h so svm_vmcb_dump() can use it, and >> bring >> the VMCB into sync in current context. >> >> As a minor optimisation, switch svm_sync_vmcb() to use >> svm_vm{load,save}_pa(), >> as svm->vmcb_pa is always in correct, and this avoids a redundant __pa() > Is the "in" here a leftover from some earlier, different wording?
Yes. It can be dropped. > >> translation behind the scenes. >> >> Signed-off-by: Andrew Cooper <andrew.coop...@citrix.com> > Reviewed-by: Jan Beulich <jbeul...@suse.com> > > Only as a remark: This removes the last use of svm_vmload(), but > perhaps it and svm_vmsave() would better be dropped together, > once the one remaining use of the latter has also disappeared > (assuming that's doable). I noticed and tried to do just that, but removing the final svm_vmsave() isn't trivial. It is confined to the nested virt code, but I think it is calling virt_to_maddr() on a domheap mapping, which needs adjusting not to explode on a system with more than 5T of RAM. Its in my todo list, but I don't have time to address that right now. ~Andrew _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel